API Manual Irrlicht

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1083

Irrlicht Engine Reference Manual

Generated by Doxygen 1.4.1

Thu Aug 14 14:21:47 2008


Contents

1 Irrlicht Engine 1.4.1 API documentation 1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Short example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Irrlicht Engine Namespace Index 3


2.1 Irrlicht Engine Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Irrlicht Engine Hierarchical Index 5


3.1 Irrlicht Engine Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Irrlicht Engine Class Index 9


4.1 Irrlicht Engine Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Irrlicht Engine File Index 15


5.1 Irrlicht Engine File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6 Irrlicht Engine Namespace Documentation 19


6.1 irr Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 irr::core Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3 irr::gui Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.4 irr::io Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.5 irr::scene Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.6 irr::scene::quake3 Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.7 irr::video Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

7 Irrlicht Engine Class Documentation 113


7.1 irr::core::aabbox3d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . 113
7.2 irr::core::array< T, TAlloc > Class Template Reference . . . . . . . . . . . . . . . . . . . 122
7.3 irr::core::CMatrix4< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . 132
ii CONTENTS

7.4 irr::scene::CMeshBuffer< T > Class Template Reference . . . . . . . . . . . . . . . . . . 152


7.5 irr::core::dimension2d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . 159
7.6 irr::scene::IAnimatedMesh Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 162
7.7 irr::scene::IAnimatedMeshMD2 Class Reference . . . . . . . . . . . . . . . . . . . . . . 164
7.8 irr::scene::IAnimatedMeshMD3 Class Reference . . . . . . . . . . . . . . . . . . . . . . 166
7.9 irr::scene::IAnimatedMeshSceneNode Class Reference . . . . . . . . . . . . . . . . . . . 168
7.10 irr::scene::IAnimationEndCallBack Class Reference . . . . . . . . . . . . . . . . . . . . . 175
7.11 irr::io::IAttributeExchangingObject Class Reference . . . . . . . . . . . . . . . . . . . . . 176
7.12 irr::io::IAttributes Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
7.13 irr::scene::IBillboardSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . 204
7.14 irr::scene::IBoneSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 207
7.15 irr::scene::ICameraSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . 211
7.16 irr::gui::ICursorControl Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.17 irr::scene::IDummyTransformationSceneNode Class Reference . . . . . . . . . . . . . . . 220
7.18 irr::IEventReceiver Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.19 irr::io::IFileList Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.20 irr::io::IFileReadCallBack Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 226
7.21 irr::io::IFileSystem Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
7.22 irr::video::IGPUProgrammingServices Class Reference . . . . . . . . . . . . . . . . . . . 236
7.23 irr::gui::IGUIButton Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.24 irr::gui::IGUICheckBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.25 irr::gui::IGUIColorSelectDialog Class Reference . . . . . . . . . . . . . . . . . . . . . . 249
7.26 irr::gui::IGUIComboBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.27 irr::gui::IGUIContextMenu Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 254
7.28 irr::gui::IGUIEditBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
7.29 irr::gui::IGUIElement Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
7.30 irr::gui::IGUIElementFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 284
7.31 irr::gui::IGUIEnvironment Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 287
7.32 irr::gui::IGUIFileOpenDialog Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 305
7.33 irr::gui::IGUIFont Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
7.34 irr::gui::IGUIFontBitmap Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 310
7.35 irr::gui::IGUIImage Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.36 irr::gui::IGUIInOutFader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.37 irr::gui::IGUIListBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.38 irr::gui::IGUIMeshViewer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 322
7.39 irr::gui::IGUIScrollBar Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


CONTENTS iii

7.40 irr::gui::IGUISkin Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327


7.41 irr::gui::IGUISpinBox Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
7.42 irr::gui::IGUISpriteBank Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 338
7.43 irr::gui::IGUIStaticText Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7.44 irr::gui::IGUITab Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7.45 irr::gui::IGUITabControl Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 347
7.46 irr::gui::IGUIToolBar Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
7.47 irr::gui::IGUIWindow Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
7.48 irr::video::IImage Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
7.49 irr::video::IImageLoader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 358
7.50 irr::video::IImageWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
7.51 irr::io::IIrrXMLReader< char_type, super_class > Class Template Reference . . . . . . . 362
7.52 irr::scene::ILightSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 368
7.53 irr::ILogger Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
7.54 irr::video::IMaterialRenderer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 373
7.55 irr::video::IMaterialRendererServices Class Reference . . . . . . . . . . . . . . . . . . . 376
7.56 irr::scene::IMesh Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
7.57 irr::scene::IMeshBuffer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
7.58 irr::scene::IMeshCache Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
7.59 irr::scene::IMeshLoader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
7.60 irr::scene::IMeshManipulator Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 395
7.61 irr::scene::IMeshSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 401
7.62 irr::scene::IMeshWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
7.63 irr::scene::IMetaTriangleSelector Class Reference . . . . . . . . . . . . . . . . . . . . . . 405
7.64 irr::IOSOperator Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
7.65 irr::scene::IParticleAffector Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 409
7.66 irr::scene::IParticleAnimatedMeshSceneNodeEmitter Class Reference . . . . . . . . . . . 412
7.67 irr::scene::IParticleAttractionAffector Class Reference . . . . . . . . . . . . . . . . . . . 415
7.68 irr::scene::IParticleBoxEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . . . 418
7.69 irr::scene::IParticleCylinderEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . 420
7.70 irr::scene::IParticleEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 423
7.71 irr::scene::IParticleFadeOutAffector Class Reference . . . . . . . . . . . . . . . . . . . . 427
7.72 irr::scene::IParticleGravityAffector Class Reference . . . . . . . . . . . . . . . . . . . . . 429
7.73 irr::scene::IParticleMeshEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . . 431
7.74 irr::scene::IParticleRingEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . . . 434
7.75 irr::scene::IParticleRotationAffector Class Reference . . . . . . . . . . . . . . . . . . . . 436

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


iv CONTENTS

7.76 irr::scene::IParticleSphereEmitter Class Reference . . . . . . . . . . . . . . . . . . . . . . 438


7.77 irr::scene::IParticleSystemSceneNode Class Reference . . . . . . . . . . . . . . . . . . . 440
7.78 irr::scene::IQ3LevelMesh Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 451
7.79 irr::io::IReadFile Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
7.80 irr::IReferenceCounted Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
7.81 irr::core::irrAllocator< T > Class Template Reference . . . . . . . . . . . . . . . . . . . 459
7.82 irr::core::irrAllocatorFast< T > Class Template Reference . . . . . . . . . . . . . . . . . 461
7.83 irr::IrrlichtDevice Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
7.84 irr::scene::ISceneCollisionManager Class Reference . . . . . . . . . . . . . . . . . . . . . 470
7.85 irr::scene::ISceneManager Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 475
7.86 irr::scene::ISceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
7.87 irr::scene::ISceneNodeAnimator Class Reference . . . . . . . . . . . . . . . . . . . . . . 529
7.88 irr::scene::ISceneNodeAnimatorCollisionResponse Class Reference . . . . . . . . . . . . 531
7.89 irr::scene::ISceneNodeAnimatorFactory Class Reference . . . . . . . . . . . . . . . . . . 535
7.90 irr::scene::ISceneNodeFactory Class Reference . . . . . . . . . . . . . . . . . . . . . . . 538
7.91 irr::scene::ISceneUserDataSerializer Class Reference . . . . . . . . . . . . . . . . . . . . 541
7.92 irr::video::IShaderConstantSetCallBack Class Reference . . . . . . . . . . . . . . . . . . 543
7.93 irr::scene::quake3::IShaderManager Class Reference . . . . . . . . . . . . . . . . . . . . 545
7.94 irr::scene::IShadowVolumeSceneNode Class Reference . . . . . . . . . . . . . . . . . . . 546
7.95 irr::scene::ISkinnedMesh Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 548
7.96 irr::scene::ISkinnedMesh::SJoint Struct Reference . . . . . . . . . . . . . . . . . . . . . . 552
7.97 irr::scene::ISkinnedMesh::SPositionKey Struct Reference . . . . . . . . . . . . . . . . . . 556
7.98 irr::scene::ISkinnedMesh::SRotationKey Struct Reference . . . . . . . . . . . . . . . . . 557
7.99 irr::scene::ISkinnedMesh::SScaleKey Struct Reference . . . . . . . . . . . . . . . . . . . 558
7.100irr::scene::ISkinnedMesh::SWeight Struct Reference . . . . . . . . . . . . . . . . . . . . 559
7.101irr::scene::ITerrainSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . 561
7.102irr::scene::ITextSceneNode Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 567
7.103irr::video::ITexture Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
7.104irr::ITimer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
7.105irr::scene::ITriangleSelector Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 576
7.106irr::video::IVideoDriver Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
7.107irr::video::IVideoModeList Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 607
7.108irr::io::IWriteFile Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
7.109irr::io::IXMLBase Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
7.110irr::io::IXMLWriter Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
7.111irr::core::line2d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . . 616

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


CONTENTS v

7.112irr::core::line3d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . . 623


7.113irr::core::list< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . . . . 629
7.114irr::core::list< T >::ConstIterator Class Reference . . . . . . . . . . . . . . . . . . . . . 635
7.115irr::core::list< T >::Iterator Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 638
7.116irr::core::map< KeyType, ValueType > Class Template Reference . . . . . . . . . . . . . 641
7.117irr::core::map< KeyType, ValueType >::AccessClass Class Reference . . . . . . . . . . . 646
7.118irr::core::map< KeyType, ValueType >::Iterator Class Reference . . . . . . . . . . . . . . 647
7.119irr::core::map< KeyType, ValueType >::ParentFirstIterator Class Reference . . . . . . . . 650
7.120irr::core::map< KeyType, ValueType >::ParentLastIterator Class Reference . . . . . . . . 652
7.121irr::core::plane3d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . 654
7.122irr::core::position2d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . 660
7.123irr::core::quaternion Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
7.124irr::core::rect< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . . . . 672
7.125irr::video::S3DVertex Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
7.126irr::video::S3DVertex2TCoords Struct Reference . . . . . . . . . . . . . . . . . . . . . . 680
7.127irr::video::S3DVertexTangents Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 684
7.128irr::scene::SAnimatedMesh Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 687
7.129irr::io::SAttributeReadWriteOptions Struct Reference . . . . . . . . . . . . . . . . . . . . 693
7.130irr::scene::quake3::SBlendFunc Struct Reference . . . . . . . . . . . . . . . . . . . . . . 695
7.131irr::video::SColor Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
7.132irr::video::SColorf Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
7.133irr::video::SColorHSL Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
7.134irr::SEvent Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
7.135irr::SEvent::SGUIEvent Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 713
7.136irr::SEvent::SKeyInput Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
7.137irr::SEvent::SLogEvent Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
7.138irr::SEvent::SMouseInput Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 717
7.139irr::SEvent::SUserEvent Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 719
7.140irr::video::SExposedVideoData Struct Reference . . . . . . . . . . . . . . . . . . . . . . 720
7.141irr::gui::SGUISprite Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
7.142irr::gui::SGUISpriteFrame Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 723
7.143irr::SIrrlichtCreationParameters Struct Reference . . . . . . . . . . . . . . . . . . . . . . 724
7.144irr::SKeyMap Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
7.145irr::video::SLight Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
7.146irr::video::SMaterial Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
7.147irr::video::SMaterialLayer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 744

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


vi CONTENTS

7.148irr::scene::SMD3AnimationInfo Struct Reference . . . . . . . . . . . . . . . . . . . . . . 749


7.149irr::scene::SMD3Face Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
7.150irr::scene::SMD3Header Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 751
7.151irr::scene::SMD3Mesh Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
7.152irr::scene::SMD3MeshBuffer Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 755
7.153irr::scene::SMD3MeshHeader Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 757
7.154irr::scene::SMD3QuaterionTag Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 759
7.155irr::scene::SMD3QuaterionTagList Struct Reference . . . . . . . . . . . . . . . . . . . . . 761
7.156irr::scene::SMD3TexCoord Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . 763
7.157irr::scene::SMD3Vertex Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 764
7.158irr::scene::SMesh Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
7.159irr::scene::quake3::SModifierFunction Struct Reference . . . . . . . . . . . . . . . . . . . 769
7.160irr::scene::SParticle Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
7.161irr::scene::quake3::SShader Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 774
7.162irr::scene::SSharedMeshBuffer Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 776
7.163irr::scene::SSkinMeshBuffer Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 782
7.164irr::core::string< T, TAlloc > Class Template Reference . . . . . . . . . . . . . . . . . . 789
7.165irr::scene::quake3::SVarGroup Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 802
7.166irr::scene::quake3::SVarGroupList Struct Reference . . . . . . . . . . . . . . . . . . . . . 803
7.167irr::scene::quake3::SVariable Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 804
7.168irr::scene::SViewFrustum Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 806
7.169irr::core::triangle3d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . 811
7.170irr::core::vector2d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . 817
7.171irr::core::vector3d< T > Class Template Reference . . . . . . . . . . . . . . . . . . . . . 827

8 Irrlicht Engine File Documentation 839


8.1 aabbox3d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
8.2 CMeshBuffer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
8.3 coreutil.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
8.4 dimension2d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
8.5 ECullingTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
8.6 EDebugSceneTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
8.7 EDriverFeatures.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
8.8 EDriverTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
8.9 EGUIElementTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
8.10 EMaterialFlags.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
8.11 EMaterialTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


CONTENTS vii

8.12 EMeshWriterEnums.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859


8.13 EMessageBoxFlags.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
8.14 ESceneNodeAnimatorTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 861
8.15 ESceneNodeTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
8.16 ETerrainElements.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
8.17 fast_atof.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
8.18 heapsort.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.19 IAnimatedMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
8.20 IAnimatedMeshMD2.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
8.21 IAnimatedMeshMD3.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
8.22 IAnimatedMeshSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 873
8.23 IAttributeExchangingObject.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 874
8.24 IAttributes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
8.25 IBillboardSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
8.26 IBoneSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
8.27 ICameraSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
8.28 ICursorControl.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
8.29 IDummyTransformationSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . 882
8.30 IEventReceiver.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
8.31 IFileList.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
8.32 IFileSystem.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
8.33 IGPUProgrammingServices.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 888
8.34 IGUIButton.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
8.35 IGUICheckBox.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
8.36 IGUIColorSelectDialog.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
8.37 IGUIComboBox.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
8.38 IGUIContextMenu.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
8.39 IGUIEditBox.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
8.40 IGUIElement.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
8.41 IGUIElementFactory.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
8.42 IGUIEnvironment.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
8.43 IGUIFileOpenDialog.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
8.44 IGUIFont.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
8.45 IGUIFontBitmap.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
8.46 IGUIImage.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
8.47 IGUIInOutFader.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


viii CONTENTS

8.48 IGUIListBox.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906


8.49 IGUIMeshViewer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
8.50 IGUIScrollBar.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
8.51 IGUISkin.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
8.52 IGUISpinBox.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
8.53 IGUISpriteBank.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
8.54 IGUIStaticText.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
8.55 IGUITabControl.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
8.56 IGUIToolbar.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
8.57 IGUIWindow.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
8.58 IImage.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
8.59 IImageLoader.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
8.60 IImageWriter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
8.61 ILightSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
8.62 ILogger.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
8.63 IMaterialRenderer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
8.64 IMaterialRendererServices.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 929
8.65 IMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
8.66 IMeshBuffer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931
8.67 IMeshCache.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
8.68 IMeshLoader.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
8.69 IMeshManipulator.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
8.70 IMeshSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
8.71 IMeshWriter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
8.72 IMetaTriangleSelector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
8.73 IOSOperator.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
8.74 IParticleAffector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
8.75 IParticleAnimatedMeshSceneNodeEmitter.h File Reference . . . . . . . . . . . . . . . . . 941
8.76 IParticleAttractionAffector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 942
8.77 IParticleBoxEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
8.78 IParticleCylinderEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 944
8.79 IParticleEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
8.80 IParticleFadeOutAffector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 947
8.81 IParticleGravityAffector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 948
8.82 IParticleMeshEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
8.83 IParticleRingEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


CONTENTS ix

8.84 IParticleRotationAffector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 951


8.85 IParticleSphereEmitter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
8.86 IParticleSystemSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 953
8.87 IQ3LevelMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
8.88 IQ3Shader.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
8.89 IReadFile.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
8.90 IReferenceCounted.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
8.91 irrAllocator.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
8.92 irrArray.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
8.93 IrrCompileConfig.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
8.94 irrlicht.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974
8.95 IrrlichtDevice.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979
8.96 irrList.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
8.97 irrMap.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
8.98 irrMath.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
8.99 irrString.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
8.100irrTypes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
8.101irrXML.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998
8.102ISceneCollisionManager.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
8.103ISceneManager.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
8.104ISceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
8.105ISceneNodeAnimator.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
8.106ISceneNodeAnimatorCollisionResponse.h File Reference . . . . . . . . . . . . . . . . . . 1010
8.107ISceneNodeAnimatorFactory.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 1011
8.108ISceneNodeFactory.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
8.109ISceneUserDataSerializer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
8.110IShaderConstantSetCallBack.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 1014
8.111IShadowVolumeSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . 1015
8.112ISkinnedMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
8.113ITerrainSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
8.114ITextSceneNode.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
8.115ITexture.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
8.116ITimer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
8.117ITriangleSelector.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
8.118IVideoDriver.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
8.119IVideoModeList.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


x CONTENTS

8.120IWriteFile.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026


8.121IXMLReader.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
8.122IXMLWriter.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
8.123Keycodes.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
8.124line2d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
8.125line3d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
8.126matrix4.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
8.127plane3d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
8.128position2d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
8.129quaternion.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
8.130rect.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
8.131S3DVertex.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043
8.132SAnimatedMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
8.133SceneParameters.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
8.134SColor.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
8.135SExposedVideoData.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
8.136SIrrCreationParameters.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
8.137SKeyMap.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
8.138SLight.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
8.139SMaterial.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
8.140SMaterialLayer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
8.141SMesh.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
8.142SMeshBuffer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
8.143SMeshBufferLightMap.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
8.144SMeshBufferTangents.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
8.145SParticle.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
8.146SSharedMeshBuffer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
8.147SSkinMeshBuffer.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
8.148SViewFrustum.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
8.149triangle3d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
8.150vector2d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
8.151vector3d.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 1

Irrlicht Engine 1.4.1 API


documentation

1.1 Introduction
Welcome to the Irrlicht Engine API documentation. Here you’ll find any information you’ll need to develop
applications with the Irrlicht Engine. If you are looking for a tutorial on how to start, you’ll find some on the
homepage of the Irrlicht Engine at irrlicht.sourceforge.net or inside the SDK in the examples
directory.
The Irrlicht Engine is intended to be an easy-to-use 3d engine, so this documentation is an important part
of it. If you have any questions or suggestions, just send a email to the author of the engine, Nikolaus
Gebhardt (niko (at) irrlicht3d.org).

1.2 Links
Namespaces: A very good place to start reading the documentation.
Class list: List of all classes with descriptions.
Class members: Good place to find forgotten features.

1.3 Short example


A simple application, starting up the engine, loading a Quake 2 animated model file and the corresponding
texture, animating and displaying it in front of a blue background and placing a user controlable 3d camera
would look like the following code. I think this example shows the usage of the engine quite well:

#include <irrlicht.h>
using namespace irr;

int main()
{
// start up the engine
IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
core::dimension2d<s32>(640,480));
2 Irrlicht Engine 1.4.1 API documentation

video::IVideoDriver* driver = device->getVideoDriver();


scene::ISceneManager* scenemgr = device->getSceneManager();

device->setWindowCaption(L"Hello World!");

// load and show quake2 .md2 model


scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode(
scenemgr->getMesh("quake2model.md2"));

// if everything worked, add a texture and disable lighting


if (node)
{
node->setMaterialTexture(0, driver->getTexture("texture.bmp"));
node->setMaterialFlag(video::EMF_LIGHTING, false);
}

// add a first person shooter style user controlled camera


scenemgr->addCameraSceneNodeFPS();

// draw everything
while(device->run() && driver)
{
driver->beginScene(true, true, video::SColor(255,0,0,255));
scenemgr->drawAll();
driver->endScene();
}

// delete device
device->drop();
return 0;
}

Irrlicht can load a lot of file formats automaticly, see irr::scene::ISceneManager::getMesh() for a detailed
list. So if you would like to replace the simple blue screen background by a cool Quake 3 Map, optimized
by an octtree, just insert this code somewhere before the while loop:

// add .pk3 archive to the file system


device->getFileSystem()->addZipFileArchive("quake3map.pk3");

// load .bsp file and show it using an octtree


scenemgr->addOctTreeSceneNode(
scenemgr->getMesh("quake3map.bsp"));

As you can see, the engine uses namespaces. Everything in the engine is placed into the namespace
’irr’, but there are also 5 sub namespaces. You can find a list of all namespaces with descriptions at the
namespaces page. This is also a good place to start reading the documentation. If you don’t want to
write the namespace names all the time, just use all namespaces like this:

using namespace core;


using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

There is a lot more the engine can do, but I hope this gave a short overview over the basic features of the
engine. For more examples, please take a look into the examples directory of the SDK.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 2

Irrlicht Engine Namespace Index

2.1 Irrlicht Engine Namespace List


Here is a list of all namespaces with brief descriptions:
irr (Everything in the Irrlicht Engine can be found in this namespace ) . . . . . . . . . . . . . . 19
irr::core (In this namespace can be found basic classes like vectors, planes, arrays, lists and so on ) 31
irr::gui (The gui namespace contains useful classes for easy creation of a graphical user interface ) 47
irr::io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
irr::scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
irr::scene::quake3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
irr::video (The video namespace contains classes for accessing the video driver. All 2d and 3d
rendering is done here ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4 Irrlicht Engine Namespace Index

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 3

Irrlicht Engine Hierarchical Index

3.1 Irrlicht Engine Class Hierarchy


This inheritance list is sorted roughly, but not completely, alphabetically:
irr::core::aabbox3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
irr::core::array< T, TAlloc > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
irr::core::CMatrix4< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
irr::core::dimension2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
irr::IEventReceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
irr::gui::IGUIElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
irr::gui::IGUIButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
irr::gui::IGUICheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
irr::gui::IGUIColorSelectDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
irr::gui::IGUIComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
irr::gui::IGUIContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
irr::gui::IGUIEditBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
irr::gui::IGUIFileOpenDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
irr::gui::IGUIImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
irr::gui::IGUIInOutFader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
irr::gui::IGUIListBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
irr::gui::IGUIMeshViewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
irr::gui::IGUIScrollBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
irr::gui::IGUISpinBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
irr::gui::IGUIStaticText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
irr::gui::IGUITab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
irr::gui::IGUITabControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
irr::gui::IGUIToolBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
irr::gui::IGUIWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
irr::scene::ICameraSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
irr::io::IFileReadCallBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
irr::video::IGPUProgrammingServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
irr::io::IIrrXMLReader< char_type, super_class > . . . . . . . . . . . . . . . . . . . . . . . . 362
irr::video::IMaterialRendererServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
irr::IReferenceCounted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
irr::gui::ICursorControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
irr::gui::IGUIElementFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
irr::gui::IGUIEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
6 Irrlicht Engine Hierarchical Index

irr::gui::IGUIFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
irr::gui::IGUIFontBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
irr::gui::IGUISpriteBank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
irr::ILogger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
irr::io::IAttributeExchangingObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
irr::gui::IGUIElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
irr::gui::IGUISkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
irr::scene::IParticleAffector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
irr::scene::IParticleAttractionAffector . . . . . . . . . . . . . . . . . . . . . . . . . 415
irr::scene::IParticleFadeOutAffector . . . . . . . . . . . . . . . . . . . . . . . . . . 427
irr::scene::IParticleGravityAffector . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
irr::scene::IParticleRotationAffector . . . . . . . . . . . . . . . . . . . . . . . . . . 436
irr::scene::IParticleEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
irr::scene::IParticleAnimatedMeshSceneNodeEmitter . . . . . . . . . . . . . . . . . 412
irr::scene::IParticleBoxEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
irr::scene::IParticleCylinderEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
irr::scene::IParticleMeshEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
irr::scene::IParticleRingEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
irr::scene::IParticleSphereEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
irr::scene::ISceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
irr::scene::IAnimatedMeshSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 168
irr::scene::IBillboardSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
irr::scene::IBoneSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
irr::scene::ICameraSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
irr::scene::IDummyTransformationSceneNode . . . . . . . . . . . . . . . . . . . . . 220
irr::scene::ILightSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
irr::scene::IMeshSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
irr::scene::IParticleSystemSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 440
irr::scene::IShadowVolumeSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 546
irr::scene::ITerrainSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
irr::scene::ITextSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
irr::scene::ISceneNodeAnimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
irr::scene::ISceneNodeAnimatorCollisionResponse . . . . . . . . . . . . . . . . . . 531
irr::io::IAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
irr::io::IFileList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
irr::io::IFileSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
irr::io::IReadFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
irr::io::IWriteFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
irr::io::IXMLWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
irr::IOSOperator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
irr::IrrlichtDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
irr::ITimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
irr::scene::IAnimationEndCallBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
irr::scene::IMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
irr::scene::IAnimatedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
irr::scene::IAnimatedMeshMD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
irr::scene::IAnimatedMeshMD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
irr::scene::IQ3LevelMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
irr::scene::ISkinnedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
irr::scene::SAnimatedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
irr::scene::SMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
irr::scene::IMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
irr::scene::CMeshBuffer< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


3.1 Irrlicht Engine Class Hierarchy 7

irr::scene::SSharedMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
irr::scene::SSkinMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
irr::scene::IMeshCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
irr::scene::IMeshLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
irr::scene::IMeshManipulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
irr::scene::IMeshWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
irr::scene::ISceneCollisionManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
irr::scene::ISceneManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
irr::scene::ISceneNodeAnimatorFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
irr::scene::ISceneNodeFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
irr::scene::ITriangleSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
irr::scene::IMetaTriangleSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
irr::scene::quake3::IShaderManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
irr::scene::quake3::SVarGroupList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
irr::scene::SMD3Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
irr::scene::SMD3MeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
irr::scene::SMD3QuaterionTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
irr::video::IImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
irr::video::IImageLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
irr::video::IImageWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
irr::video::IMaterialRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
irr::video::IShaderConstantSetCallBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
irr::video::ITexture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
irr::video::IVideoDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
irr::video::IVideoModeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
irr::core::irrAllocator< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
irr::core::irrAllocatorFast< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
irr::scene::ISceneUserDataSerializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
irr::scene::ISkinnedMesh::SJoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
irr::scene::ISkinnedMesh::SPositionKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
irr::scene::ISkinnedMesh::SRotationKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
irr::scene::ISkinnedMesh::SScaleKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
irr::scene::ISkinnedMesh::SWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
irr::io::IXMLBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
irr::core::line2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
irr::core::line3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
irr::core::list< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
irr::core::list< T >::ConstIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
irr::core::list< T >::Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
irr::core::map< KeyType, ValueType > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
irr::core::map< KeyType, ValueType >::AccessClass . . . . . . . . . . . . . . . . . . . . . . . 646
irr::core::map< KeyType, ValueType >::Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . 647
irr::core::map< KeyType, ValueType >::ParentFirstIterator . . . . . . . . . . . . . . . . . . . . 650
irr::core::map< KeyType, ValueType >::ParentLastIterator . . . . . . . . . . . . . . . . . . . . 652
irr::core::plane3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
irr::core::position2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
irr::core::quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
irr::core::rect< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
irr::video::S3DVertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
irr::video::S3DVertex2TCoords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
irr::video::S3DVertexTangents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
irr::io::SAttributeReadWriteOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
irr::scene::quake3::SBlendFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8 Irrlicht Engine Hierarchical Index

irr::video::SColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
irr::video::SColorf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
irr::video::SColorHSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
irr::SEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
irr::SEvent::SGUIEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
irr::SEvent::SKeyInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
irr::SEvent::SLogEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
irr::SEvent::SMouseInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
irr::SEvent::SUserEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
irr::video::SExposedVideoData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
irr::gui::SGUISprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
irr::gui::SGUISpriteFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
irr::SIrrlichtCreationParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
irr::SKeyMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
irr::video::SLight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
irr::video::SMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
irr::video::SMaterialLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
irr::scene::SMD3AnimationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
irr::scene::SMD3Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
irr::scene::SMD3Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
irr::scene::SMD3MeshHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
irr::scene::SMD3QuaterionTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
irr::scene::SMD3TexCoord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
irr::scene::SMD3Vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
irr::scene::quake3::SModifierFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
irr::scene::SParticle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
irr::scene::quake3::SShader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
irr::core::string< T, TAlloc > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
irr::scene::quake3::SVarGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
irr::scene::quake3::SVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
irr::scene::SViewFrustum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
irr::core::triangle3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
irr::core::vector2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
irr::core::vector3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 4

Irrlicht Engine Class Index

4.1 Irrlicht Engine Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
irr::core::aabbox3d< T > (Axis aligned bounding box in 3d dimensional space ) . . . . . . . . . 113
irr::core::array< T, TAlloc > (Self reallocating template array (like stl vector) with additional
features ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
irr::core::CMatrix4< T > (4x4 matrix. Mostly used as transformation matrix for 3d calculations ) 132
irr::scene::CMeshBuffer< T > (Template implementation of the IMeshBuffer interface ) . . . . 152
irr::core::dimension2d< T > (Specifies a 2 dimensional size ) . . . . . . . . . . . . . . . . . . 159
irr::scene::IAnimatedMesh (Interface for an animated mesh ) . . . . . . . . . . . . . . . . . . . 162
irr::scene::IAnimatedMeshMD2 (Interface for using some special functions of MD2 meshes ) . . 164
irr::scene::IAnimatedMeshMD3 (Interface for using some special functions of MD3 meshes ) . . 166
irr::scene::IAnimatedMeshSceneNode (Scene node capable of displaying an animated mesh and
its shadow ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
irr::scene::IAnimationEndCallBack (Callback interface for catching events of ended animations ) 175
irr::io::IAttributeExchangingObject (An object which is able to serialize and deserialize its at-
tributes into an attributes object ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
irr::io::IAttributes (Provides a generic interface for attributes and their values and the possiblity
to serialize them ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
irr::scene::IBillboardSceneNode (A billboard scene node ) . . . . . . . . . . . . . . . . . . . . 204
irr::scene::IBoneSceneNode (Interface for bones used for skeletal animation ) . . . . . . . . . . 207
irr::scene::ICameraSceneNode (Scene Node which is a (controlable) camera ) . . . . . . . . . . 211
irr::gui::ICursorControl (Interface to manipulate the mouse cursor ) . . . . . . . . . . . . . . . . 217
irr::scene::IDummyTransformationSceneNode (Dummy scene node for adding additional trans-
formations to the scene graph ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
irr::IEventReceiver (Interface of an object which can receive events ) . . . . . . . . . . . . . . . 222
irr::io::IFileList (The Filelist lists all files in a directory ) . . . . . . . . . . . . . . . . . . . . . 224
irr::io::IFileReadCallBack (Callback class for file read abstraction ) . . . . . . . . . . . . . . . . 226
irr::io::IFileSystem (The FileSystem manages files and archives and provides access to them ) . . 228
irr::video::IGPUProgrammingServices (Interface making it possible to create and use programs
running on the GPU ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
irr::gui::IGUIButton (GUI Button interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
irr::gui::IGUICheckBox (GUI Check box interface ) . . . . . . . . . . . . . . . . . . . . . . . . 247
irr::gui::IGUIColorSelectDialog (Standard file chooser dialog ) . . . . . . . . . . . . . . . . . . 249
irr::gui::IGUIComboBox (Combobox widget ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
irr::gui::IGUIContextMenu (GUI Context menu interface ) . . . . . . . . . . . . . . . . . . . . 254
10 Irrlicht Engine Class Index

irr::gui::IGUIEditBox (Single line edit box for editing simple text ) . . . . . . . . . . . . . . . . 259
irr::gui::IGUIElement (Base class of all GUI elements ) . . . . . . . . . . . . . . . . . . . . . . 264
irr::gui::IGUIElementFactory (Interface making it possible to dynamicly create GUI elements ) . 284
irr::gui::IGUIEnvironment (GUI Environment. Used as factory and manager of all other GUI
elements ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
irr::gui::IGUIFileOpenDialog (Standard file chooser dialog ) . . . . . . . . . . . . . . . . . . . 305
irr::gui::IGUIFont (Font interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
irr::gui::IGUIFontBitmap (Font interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
irr::gui::IGUIImage (GUI element displaying an image ) . . . . . . . . . . . . . . . . . . . . . 312
irr::gui::IGUIInOutFader (Element for fading out or in ) . . . . . . . . . . . . . . . . . . . . . . 314
irr::gui::IGUIListBox (Default list box GUI element ) . . . . . . . . . . . . . . . . . . . . . . . 317
irr::gui::IGUIMeshViewer (3d mesh viewing GUI element ) . . . . . . . . . . . . . . . . . . . . 322
irr::gui::IGUIScrollBar (Default scroll bar GUI element ) . . . . . . . . . . . . . . . . . . . . . 324
irr::gui::IGUISkin (A skin modifies the look of the GUI elements ) . . . . . . . . . . . . . . . . 327
irr::gui::IGUISpinBox (Single line edit box + spin buttons ) . . . . . . . . . . . . . . . . . . . . 335
irr::gui::IGUISpriteBank (Sprite bank interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . 338
irr::gui::IGUIStaticText (Multi or single line text label ) . . . . . . . . . . . . . . . . . . . . . . 340
irr::gui::IGUITab (A tab, onto which other gui elements could be added ) . . . . . . . . . . . . . 345
irr::gui::IGUITabControl (A standard tab control ) . . . . . . . . . . . . . . . . . . . . . . . . . 347
irr::gui::IGUIToolBar (Stays at the top of its parent like the menu bar and contains tool buttons ) 350
irr::gui::IGUIWindow (Default moveable window GUI element with border, caption and close
icons ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
irr::video::IImage (Interface for software image data ) . . . . . . . . . . . . . . . . . . . . . . . 354
irr::video::IImageLoader (Class which is able to create a image from a file ) . . . . . . . . . . . 358
irr::video::IImageWriter (Interface for writing software image data ) . . . . . . . . . . . . . . . 360
irr::io::IIrrXMLReader< char_type, super_class > (Interface providing easy read access to a
XML file ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
irr::scene::ILightSceneNode (Scene node which is a dynamic light ) . . . . . . . . . . . . . . . 368
irr::ILogger (Interface for logging messages, warnings and errors ) . . . . . . . . . . . . . . . . 370
irr::video::IMaterialRenderer (Interface for material rendering ) . . . . . . . . . . . . . . . . . . 373
irr::video::IMaterialRendererServices (Interface providing some methods for changing advanced,
internal states of a IVideoDriver ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
irr::scene::IMesh (Class for accessing a mesh with multiple mesh buffers ) . . . . . . . . . . . . 379
irr::scene::IMeshBuffer (Struct for holding a mesh with a single material ) . . . . . . . . . . . . 382
irr::scene::IMeshCache (The mesh cache stores already loaded meshes and provides an interface
to them ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
irr::scene::IMeshLoader (Class which is able to load an animated mesh from a file ) . . . . . . . 393
irr::scene::IMeshManipulator (An interface for easy manipulation of meshes ) . . . . . . . . . . 395
irr::scene::IMeshSceneNode (A scene node displaying a static mesh ) . . . . . . . . . . . . . . 401
irr::scene::IMeshWriter (Interface for writing meshes ) . . . . . . . . . . . . . . . . . . . . . . 403
irr::scene::IMetaTriangleSelector (Interface for making multiple triangle selectors work as one
big selector ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
irr::IOSOperator (The Operating system operator provides operation system specific methods
and informations ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
irr::scene::IParticleAffector (A particle affector modifies particles ) . . . . . . . . . . . . . . . . 409
irr::scene::IParticleAnimatedMeshSceneNodeEmitter (A particle emitter which emits particles
from mesh vertices ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
irr::scene::IParticleAttractionAffector (A particle affector which attracts or detracts particles ) . . 415
irr::scene::IParticleBoxEmitter (A particle emitter which emits particles from a box shaped space ) 418
irr::scene::IParticleCylinderEmitter (A particle emitter which emits from a cylindrically shaped
space ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
irr::scene::IParticleEmitter (A particle emitter for using with particle systems ) . . . . . . . . . . 423
irr::scene::IParticleFadeOutAffector (A particle affector which fades out the particles ) . . . . . 427
irr::scene::IParticleGravityAffector (A particle affector which applies gravity to particles ) . . . 429

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


4.1 Irrlicht Engine Class List 11

irr::scene::IParticleMeshEmitter (A particle emitter which emits from vertices of a mesh ) . . . . 431


irr::scene::IParticleRingEmitter (A particle emitter which emits particles along a ring shaped area )434
irr::scene::IParticleRotationAffector (A particle affector which rotates the particle system ) . . . 436
irr::scene::IParticleSphereEmitter (A particle emitter which emits from a spherical space ) . . . . 438
irr::scene::IParticleSystemSceneNode (A particle system scene node for creating snow, fire, exlo-
sions, smoke.. ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
irr::scene::IQ3LevelMesh (Interface for a Mesh which can be loaded directly from a Quake3
.bsp-file ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
irr::io::IReadFile (Interface providing read acess to a file ) . . . . . . . . . . . . . . . . . . . . . 453
irr::IReferenceCounted (Base class of most objects of the Irrlicht Engine ) . . . . . . . . . . . . 455
irr::core::irrAllocator< T > (Very simple allocator implementation, containers using it can be
used across dll boundaries ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
irr::core::irrAllocatorFast< T > (Fast allocator, only to be used in containers inside the same
memory heap ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
irr::IrrlichtDevice (The Irrlicht device. You can create it with createDevice() or createDeviceEx() ) 463
irr::scene::ISceneCollisionManager (The Scene Collision Manager provides methods for per-
forming collision tests and picking on scene nodes ) . . . . . . . . . . . . . . . . . . . 470
irr::scene::ISceneManager (The Scene Manager manages scene nodes, mesh recources, cameras
and all the other stuff ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
irr::scene::ISceneNode (Scene node interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
irr::scene::ISceneNodeAnimator (Animates a scene node. Can animate position, rotation, mate-
rial, and so on ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
irr::scene::ISceneNodeAnimatorCollisionResponse (Special scene node animator for doing au-
tomatic collision detection and response ) . . . . . . . . . . . . . . . . . . . . . . . . 531
irr::scene::ISceneNodeAnimatorFactory (Interface for dynamic creation of scene node animators ) 535
irr::scene::ISceneNodeFactory (Interface for dynamic creation of scene nodes ) . . . . . . . . . 538
irr::scene::ISceneUserDataSerializer (Interface to read and write user data to and from .irr files ) 541
irr::video::IShaderConstantSetCallBack (Interface making it possible to set constants for gpu
programs every frame ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
irr::scene::quake3::IShaderManager (Manages various Quake3 Shader Styles ) . . . . . . . . . . 545
irr::scene::IShadowVolumeSceneNode (Scene node for rendering a shadow volume into a stencil
buffer ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
irr::scene::ISkinnedMesh (Interface for using some special functions of Skinned meshes ) . . . . 548
irr::scene::ISkinnedMesh::SJoint (Joints ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
irr::scene::ISkinnedMesh::SPositionKey (Animation keyframe which describes a new position ) 556
irr::scene::ISkinnedMesh::SRotationKey (Animation keyframe which describes a new rotation ) 557
irr::scene::ISkinnedMesh::SScaleKey (Animation keyframe which describes a new scale ) . . . . 558
irr::scene::ISkinnedMesh::SWeight (A vertex weight ) . . . . . . . . . . . . . . . . . . . . . . . 559
irr::scene::ITerrainSceneNode (A scene node for displaying terrain using the geo mip map algo-
rithm ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
irr::scene::ITextSceneNode (A scene node for displaying 2d text at a position in three dimensional
space ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
irr::video::ITexture (Interface of a Video Driver dependent Texture ) . . . . . . . . . . . . . . . 569
irr::ITimer (Interface for getting and manipulating the virtual time ) . . . . . . . . . . . . . . . . 573
irr::scene::ITriangleSelector (Interface to return triangles with specific properties ) . . . . . . . . 576
irr::video::IVideoDriver (Interface to driver which is able to perform 2d and 3d graphics functions )579
irr::video::IVideoModeList (A list of all available video modes ) . . . . . . . . . . . . . . . . . 607
irr::io::IWriteFile (Interface providing write acess to a file ) . . . . . . . . . . . . . . . . . . . . 610
irr::io::IXMLBase (Empty class to be used as parent class for IrrXMLReader ) . . . . . . . . . . 612
irr::io::IXMLWriter (Interface providing methods for making it easier to write XML files ) . . . 613
irr::core::line2d< T > (2D line between two points with intersection methods ) . . . . . . . . . 616
irr::core::line3d< T > (3D line between two points with intersection methods ) . . . . . . . . . 623
irr::core::list< T > (Doubly linked list template ) . . . . . . . . . . . . . . . . . . . . . . . . . 629
irr::core::list< T >::ConstIterator (List iterator for const access ) . . . . . . . . . . . . . . . . . 635

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


12 Irrlicht Engine Class Index

irr::core::list< T >::Iterator (List iterator ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638


irr::core::map< KeyType, ValueType > (Map template for associative arrays using a red-black
tree ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
irr::core::map< KeyType, ValueType >::AccessClass . . . . . . . . . . . . . . . . . . . . . . . 646
irr::core::map< KeyType, ValueType >::Iterator (Normal Iterator ) . . . . . . . . . . . . . . . . 647
irr::core::map< KeyType, ValueType >::ParentFirstIterator . . . . . . . . . . . . . . . . . . . 650
irr::core::map< KeyType, ValueType >::ParentLastIterator . . . . . . . . . . . . . . . . . . . . 652
irr::core::plane3d< T > (Template plane class with some intersection testing methods ) . . . . . 654
irr::core::position2d< T > (Simple class for holding 2d coordinates ) . . . . . . . . . . . . . . . 660
irr::core::quaternion (Quaternion class for representing rotations ) . . . . . . . . . . . . . . . . 664
irr::core::rect< T > (Rectangle template ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
irr::video::S3DVertex (Standard vertex used by the Irrlicht engine ) . . . . . . . . . . . . . . . . 677
irr::video::S3DVertex2TCoords (Vertex with two texture coordinates ) . . . . . . . . . . . . . . 680
irr::video::S3DVertexTangents (Vertex with a tangent and binormal vector ) . . . . . . . . . . . 684
irr::scene::SAnimatedMesh (Simple implementation of the IAnimatedMesh interface ) . . . . . 687
irr::io::SAttributeReadWriteOptions (Struct holding data describing options ) . . . . . . . . . . 693
irr::scene::quake3::SBlendFunc (A blend function for a q3 shader ) . . . . . . . . . . . . . . . . 695
irr::video::SColor (Class representing a 32 bit ARGB color ) . . . . . . . . . . . . . . . . . . . 696
irr::video::SColorf (Class representing a color with four floats ) . . . . . . . . . . . . . . . . . . 704
irr::video::SColorHSL (Class representing a color in HSV format ) . . . . . . . . . . . . . . . . 709
irr::SEvent (SEvents hold information about an event. See irr::IEventReceiver for details on event
handling ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
irr::SEvent::SGUIEvent (Any kind of GUI event ) . . . . . . . . . . . . . . . . . . . . . . . . . 713
irr::SEvent::SKeyInput (Any kind of keyboard event ) . . . . . . . . . . . . . . . . . . . . . . . 714
irr::SEvent::SLogEvent (Any kind of log event ) . . . . . . . . . . . . . . . . . . . . . . . . . . 716
irr::SEvent::SMouseInput (Any kind of mouse event ) . . . . . . . . . . . . . . . . . . . . . . . 717
irr::SEvent::SUserEvent (Any kind of user event ) . . . . . . . . . . . . . . . . . . . . . . . . . 719
irr::video::SExposedVideoData (Structure for holding data describing a driver and operating sys-
tem specific data ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
irr::gui::SGUISprite (A sprite composed of several frames ) . . . . . . . . . . . . . . . . . . . . 722
irr::gui::SGUISpriteFrame (A single sprite frame ) . . . . . . . . . . . . . . . . . . . . . . . . . 723
irr::SIrrlichtCreationParameters (Structure for holding advanced Irrlicht Device creation param-
eters ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
irr::SKeyMap (Struct storing which key belongs to which action ) . . . . . . . . . . . . . . . . . 729
irr::video::SLight (Structure for holding data describing a dynamic point light ) . . . . . . . . . 730
irr::video::SMaterial (Struct for holding parameters for a material renderer ) . . . . . . . . . . . 734
irr::video::SMaterialLayer (Struct for holding material parameters which exist per texture layer ) 744
irr::scene::SMD3AnimationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
irr::scene::SMD3Face (Triangle Index ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
irr::scene::SMD3Header (This holds the header info of the MD3 file ) . . . . . . . . . . . . . . 751
irr::scene::SMD3Mesh (Holding Frames Buffers and Tag Infos ) . . . . . . . . . . . . . . . . . 753
irr::scene::SMD3MeshBuffer (Holding Frame Data for a Mesh ) . . . . . . . . . . . . . . . . . 755
irr::scene::SMD3MeshHeader (This holds the header info of an MD3 mesh section ) . . . . . . . 757
irr::scene::SMD3QuaterionTag (Hold a tag info for connecting meshes ) . . . . . . . . . . . . . 759
irr::scene::SMD3QuaterionTagList (Holds a associative list of named quaternions ) . . . . . . . 761
irr::scene::SMD3TexCoord (Texture Coordinate ) . . . . . . . . . . . . . . . . . . . . . . . . . 763
irr::scene::SMD3Vertex (Compressed Vertex Data ) . . . . . . . . . . . . . . . . . . . . . . . . 764
irr::scene::SMesh (Simple implementation of the IMesh interface ) . . . . . . . . . . . . . . . . 765
irr::scene::quake3::SModifierFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
irr::scene::SParticle (Struct for holding particle data ) . . . . . . . . . . . . . . . . . . . . . . . 772
irr::scene::quake3::SShader (A Parsed Shader Holding Variables ordered in Groups ) . . . . . . 774
irr::scene::SSharedMeshBuffer (Implementation of the IMeshBuffer interface with shared vertex
list ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


4.1 Irrlicht Engine Class List 13

irr::scene::SSkinMeshBuffer (A mesh buffer able to choose between S3DVertex2TCoords,


S3DVertex and S3DVertexTangents at runtime ) . . . . . . . . . . . . . . . . . . . . . 782
irr::core::string< T, TAlloc > (Very simple string class with some useful features ) . . . . . . . 789
irr::scene::quake3::SVarGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
irr::scene::quake3::SVarGroupList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
irr::scene::quake3::SVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
irr::scene::SViewFrustum (Defines the view frustum. That’s the space visible by the camera ) . . 806
irr::core::triangle3d< T > (3d triangle template class for doing collision detection and other
things ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
irr::core::vector2d< T > (2d vector template class with lots of operators and methods ) . . . . . 817
irr::core::vector3d< T > (3d vector template class with lots of operators and methods ) . . . . . 827

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


14 Irrlicht Engine Class Index

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 5

Irrlicht Engine File Index

5.1 Irrlicht Engine File List


Here is a list of all files with brief descriptions:
aabbox3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
CMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
coreutil.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
dimension2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
ECullingTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
EDebugSceneTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
EDriverFeatures.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
EDriverTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
EGUIElementTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
EMaterialFlags.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
EMaterialTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
EMeshWriterEnums.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
EMessageBoxFlags.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
ESceneNodeAnimatorTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
ESceneNodeTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
ETerrainElements.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
fast_atof.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
heapsort.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
IAnimatedMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
IAnimatedMeshMD2.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
IAnimatedMeshMD3.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
IAnimatedMeshSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
IAttributeExchangingObject.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
IAttributes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
IBillboardSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
IBoneSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
ICameraSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
ICursorControl.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
IDummyTransformationSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
IEventReceiver.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
IFileList.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
IFileSystem.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
IGPUProgrammingServices.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
16 Irrlicht Engine File Index

IGUIButton.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
IGUICheckBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
IGUIColorSelectDialog.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
IGUIComboBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
IGUIContextMenu.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
IGUIEditBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
IGUIElement.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
IGUIElementFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
IGUIEnvironment.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
IGUIFileOpenDialog.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
IGUIFont.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
IGUIFontBitmap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
IGUIImage.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
IGUIInOutFader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
IGUIListBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
IGUIMeshViewer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
IGUIScrollBar.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
IGUISkin.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
IGUISpinBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
IGUISpriteBank.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
IGUIStaticText.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
IGUITabControl.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
IGUIToolbar.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
IGUIWindow.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
IImage.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
IImageLoader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
IImageWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
ILightSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
ILogger.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
IMaterialRenderer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
IMaterialRendererServices.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
IMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
IMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931
IMeshCache.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
IMeshLoader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
IMeshManipulator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
IMeshSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
IMeshWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
IMetaTriangleSelector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
IOSOperator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
IParticleAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
IParticleAnimatedMeshSceneNodeEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
IParticleAttractionAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
IParticleBoxEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
IParticleCylinderEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
IParticleEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
IParticleFadeOutAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
IParticleGravityAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
IParticleMeshEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
IParticleRingEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
IParticleRotationAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
IParticleSphereEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
IParticleSystemSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
IQ3LevelMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


5.1 Irrlicht Engine File List 17

IQ3Shader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
IReadFile.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
IReferenceCounted.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
irrAllocator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
irrArray.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
IrrCompileConfig.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
irrlicht.h (Main header file of the irrlicht, the only file needed to include ) . . . . . . . . . . . . 974
IrrlichtDevice.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979
irrList.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
irrMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
irrMath.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
irrString.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
irrTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
irrXML.h (File containing useful basic utility functions ) . . . . . . . . . . . . . . . . . . . . . 998
ISceneCollisionManager.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
ISceneManager.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
ISceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
ISceneNodeAnimator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
ISceneNodeAnimatorCollisionResponse.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
ISceneNodeAnimatorFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
ISceneNodeFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
ISceneUserDataSerializer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
IShaderConstantSetCallBack.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
IShadowVolumeSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015
ISkinnedMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
ITerrainSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
ITextSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
ITexture.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
ITimer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
ITriangleSelector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
IVideoDriver.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
IVideoModeList.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
IWriteFile.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
IXMLReader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
IXMLWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
Keycodes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
line2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
line3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
matrix4.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
plane3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
position2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
quaternion.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
rect.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
S3DVertex.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043
SAnimatedMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
SceneParameters.h (Header file containing all scene parameters for modifying mesh loading etc ) 1046
SColor.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
SExposedVideoData.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
SIrrCreationParameters.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
SKeyMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
SLight.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
SMaterial.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
SMaterialLayer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
SMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


18 Irrlicht Engine File Index

SMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
SMeshBufferLightMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
SMeshBufferTangents.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
SParticle.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
SSharedMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
SSkinMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
SViewFrustum.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
triangle3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
vector2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
vector3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 6

Irrlicht Engine Namespace


Documentation

6.1 irr Namespace Reference


Everything in the Irrlicht Engine can be found in this namespace.

Classes
• class IEventReceiver
Interface of an object which can receive events.

• class ILogger
Interface for logging messages, warnings and errors.

• class IOSOperator
The Operating system operator provides operation system specific methods and informations.

• class IReferenceCounted
Base class of most objects of the Irrlicht Engine.

• class IrrlichtDevice
The Irrlicht device. You can create it with createDevice() or createDeviceEx().

• class ITimer
Interface for getting and manipulating the virtual time.

• struct SEvent
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.

• struct SIrrlichtCreationParameters
Structure for holding advanced Irrlicht Device creation parameters.

• struct SKeyMap
Struct storing which key belongs to which action.
20 Irrlicht Engine Namespace Documentation

Namespaces
• namespace core
In this namespace can be found basic classes like vectors, planes, arrays, lists and so on.

• namespace gui
The gui namespace contains useful classes for easy creation of a graphical user interface.

• namespace io
• namespace scene
• namespace video
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.

Typedefs
• typedef char c8
8 bit character variable.

• typedef float f32


32 bit floating point variable.

• typedef double f64


64 bit floating point variable.

• typedef signed short s16


16 bit signed variable.

• typedef signed int s32


32 bit signed variable.

• typedef signed char s8


8 bit signed variable.

• typedef unsigned short u16


16 bit unsigned variable.

• typedef unsigned int u32


32 bit unsigned variable.

• typedef unsigned char u8


8 bit unsigned variable.

Enumerations
• enum EEVENT_TYPE {
EET_GUI_EVENT = 0, EET_MOUSE_INPUT_EVENT, EET_KEY_INPUT_EVENT, EET_-
LOG_TEXT_EVENT,
EET_USER_EVENT }

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.1 irr Namespace Reference 21

Enumeration for all event types there are.

• enum EKEY_ACTION {
EKA_MOVE_FORWARD = 0, EKA_MOVE_BACKWARD, EKA_STRAFE_LEFT, EKA_-
STRAFE_RIGHT,
EKA_JUMP_UP, EKA_COUNT, EKA_FORCE_32BIT = 0x7fffffff }
enumeration for key actions. Used for example in the FPS Camera.

• enum EKEY_CODE {
KEY_LBUTTON = 0x01, KEY_RBUTTON = 0x02, KEY_CANCEL = 0x03, KEY_MBUTTON =
0x04,
KEY_XBUTTON1 = 0x05, KEY_XBUTTON2 = 0x06, KEY_BACK = 0x08, KEY_TAB = 0x09,
KEY_CLEAR = 0x0C, KEY_RETURN = 0x0D, KEY_SHIFT = 0x10, KEY_CONTROL = 0x11,
KEY_MENU = 0x12, KEY_PAUSE = 0x13, KEY_CAPITAL = 0x14, KEY_KANA = 0x15,
KEY_HANGUEL = 0x15, KEY_HANGUL = 0x15, KEY_JUNJA = 0x17, KEY_FINAL = 0x18,
KEY_HANJA = 0x19, KEY_KANJI = 0x19, KEY_ESCAPE = 0x1B, KEY_CONVERT = 0x1C,
KEY_NONCONVERT = 0x1D, KEY_ACCEPT = 0x1E, KEY_MODECHANGE = 0x1F, KEY_-
SPACE = 0x20,
KEY_PRIOR = 0x21, KEY_NEXT = 0x22, KEY_END = 0x23, KEY_HOME = 0x24,
KEY_LEFT = 0x25, KEY_UP = 0x26, KEY_RIGHT = 0x27, KEY_DOWN = 0x28,
KEY_SELECT = 0x29, KEY_PRINT = 0x2A, KEY_EXECUT = 0x2B, KEY_SNAPSHOT = 0x2C,
KEY_INSERT = 0x2D, KEY_DELETE = 0x2E, KEY_HELP = 0x2F, KEY_KEY_0 = 0x30,
KEY_KEY_1 = 0x31, KEY_KEY_2 = 0x32, KEY_KEY_3 = 0x33, KEY_KEY_4 = 0x34,
KEY_KEY_5 = 0x35, KEY_KEY_6 = 0x36, KEY_KEY_7 = 0x37, KEY_KEY_8 = 0x38,
KEY_KEY_9 = 0x39, KEY_KEY_A = 0x41, KEY_KEY_B = 0x42, KEY_KEY_C = 0x43,
KEY_KEY_D = 0x44, KEY_KEY_E = 0x45, KEY_KEY_F = 0x46, KEY_KEY_G = 0x47,
KEY_KEY_H = 0x48, KEY_KEY_I = 0x49, KEY_KEY_J = 0x4A, KEY_KEY_K = 0x4B,
KEY_KEY_L = 0x4C, KEY_KEY_M = 0x4D, KEY_KEY_N = 0x4E, KEY_KEY_O = 0x4F,
KEY_KEY_P = 0x50, KEY_KEY_Q = 0x51, KEY_KEY_R = 0x52, KEY_KEY_S = 0x53,
KEY_KEY_T = 0x54, KEY_KEY_U = 0x55, KEY_KEY_V = 0x56, KEY_KEY_W = 0x57,
KEY_KEY_X = 0x58, KEY_KEY_Y = 0x59, KEY_KEY_Z = 0x5A, KEY_LWIN = 0x5B,
KEY_RWIN = 0x5C, KEY_APPS = 0x5D, KEY_SLEEP = 0x5F, KEY_NUMPAD0 = 0x60,
KEY_NUMPAD1 = 0x61, KEY_NUMPAD2 = 0x62, KEY_NUMPAD3 = 0x63, KEY_NUMPAD4
= 0x64,
KEY_NUMPAD5 = 0x65, KEY_NUMPAD6 = 0x66, KEY_NUMPAD7 = 0x67, KEY_NUMPAD8
= 0x68,
KEY_NUMPAD9 = 0x69, KEY_MULTIPLY = 0x6A, KEY_ADD = 0x6B, KEY_SEPARATOR =
0x6C,
KEY_SUBTRACT = 0x6D, KEY_DECIMAL = 0x6E, KEY_DIVIDE = 0x6F, KEY_F1 = 0x70,
KEY_F2 = 0x71, KEY_F3 = 0x72, KEY_F4 = 0x73, KEY_F5 = 0x74,
KEY_F6 = 0x75, KEY_F7 = 0x76, KEY_F8 = 0x77, KEY_F9 = 0x78,
KEY_F10 = 0x79, KEY_F11 = 0x7A, KEY_F12 = 0x7B, KEY_F13 = 0x7C,
KEY_F14 = 0x7D, KEY_F15 = 0x7E, KEY_F16 = 0x7F, KEY_F17 = 0x80,

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


22 Irrlicht Engine Namespace Documentation

KEY_F18 = 0x81, KEY_F19 = 0x82, KEY_F20 = 0x83, KEY_F21 = 0x84,


KEY_F22 = 0x85, KEY_F23 = 0x86, KEY_F24 = 0x87, KEY_NUMLOCK = 0x90,
KEY_SCROLL = 0x91, KEY_LSHIFT = 0xA0, KEY_RSHIFT = 0xA1, KEY_LCONTROL = 0x-
A2,
KEY_RCONTROL = 0xA3, KEY_LMENU = 0xA4, KEY_RMENU = 0xA5, KEY_PLUS = 0xBB,
KEY_COMMA = 0xBC, KEY_MINUS = 0xBD, KEY_PERIOD = 0xBE, KEY_ATTN = 0xF6,
KEY_CRSEL = 0xF7, KEY_EXSEL = 0xF8, KEY_EREOF = 0xF9, KEY_PLAY = 0xFA,
KEY_ZOOM = 0xFB, KEY_PA1 = 0xFD, KEY_OEM_CLEAR = 0xFE, KEY_KEY_CODES_-
COUNT = 0xFF }
• enum ELOG_LEVEL { ELL_INFORMATION = 0, ELL_WARNING, ELL_ERROR, ELL_NONE
}
Possible log levels.

• enum EMOUSE_INPUT_EVENT {
EMIE_LMOUSE_PRESSED_DOWN = 0, EMIE_RMOUSE_PRESSED_DOWN, EMIE_-
MMOUSE_PRESSED_DOWN, EMIE_LMOUSE_LEFT_UP,
EMIE_RMOUSE_LEFT_UP, EMIE_MMOUSE_LEFT_UP, EMIE_MOUSE_MOVED, EMIE_-
MOUSE_WHEEL,
EMIE_COUNT }
Enumeration for all mouse input events.

Functions
• IRRLICHT_API IrrlichtDevice ∗IRRCALLCONV createDevice (video::E_DRIVER_-
TYPE deviceType=video::EDT_SOFTWARE, const core::dimension2d< s32 > &window-
Size=(core::dimension2d< s32 >(640, 480)), u32 bits=16, bool fullscreen=false, bool stencil-
buffer=false, bool vsync=false, IEventReceiver ∗receiver=0, const c8 ∗sdk_version_do_not_-
use=IRRLICHT_SDK_VERSION)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.

• IRRLICHT_API IrrlichtDevice ∗IRRCALLCONV createDeviceEx (const SIrrlichtCreation-


Parameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.

6.1.1 Detailed Description

Everything in the Irrlicht Engine can be found in this namespace.

6.1.2 Typedef Documentation

6.1.2.1 typedef char irr::c8

8 bit character variable.


This is a typedef for char, it ensures portability of the engine.
Definition at line 31 of file irrTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.1 irr Namespace Reference 23

6.1.2.2 typedef float irr::f32

32 bit floating point variable.


This is a typedef for float, it ensures portability of the engine.
Definition at line 81 of file irrTypes.h.

6.1.2.3 typedef double irr::f64

64 bit floating point variable.


This is a typedef for double, it ensures portability of the engine.
Definition at line 85 of file irrTypes.h.

6.1.2.4 typedef signed short irr::s16

16 bit signed variable.


This is a typedef for signed short, it ensures portability of the engine.
Definition at line 48 of file irrTypes.h.

6.1.2.5 typedef signed int irr::s32

32 bit signed variable.


This is a typedef for signed int, it ensures portability of the engine.
Definition at line 66 of file irrTypes.h.

6.1.2.6 typedef signed char irr::s8

8 bit signed variable.


This is a typedef for signed char, it ensures portability of the engine.
Definition at line 26 of file irrTypes.h.

6.1.2.7 typedef unsigned short irr::u16

16 bit unsigned variable.


This is a typedef for unsigned short, it ensures portability of the engine.
Definition at line 40 of file irrTypes.h.

6.1.2.8 typedef unsigned int irr::u32

32 bit unsigned variable.


This is a typedef for unsigned int, it ensures portability of the engine.
Definition at line 58 of file irrTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


24 Irrlicht Engine Namespace Documentation

6.1.2.9 typedef unsigned char irr::u8

8 bit unsigned variable.


This is a typedef for unsigned char, it ensures portability of the engine.
Definition at line 18 of file irrTypes.h.

6.1.3 Enumeration Type Documentation

6.1.3.1 enum irr::EEVENT_TYPE

Enumeration for all event types there are.

Enumeration values:
EET_GUI_EVENT An event of the graphical user interface.
GUI events are created by the GUI environment or the GUI elements in response to mouse or
keyboard events. When a GUI element receives an event it will either process it and return true,
or pass the event to its parent. If an event is not absorbed before it reaches the root element then
it will then be passed to the user receiver.
EET_MOUSE_INPUT_EVENT A mouse input event.
Mouse events are created by the device and passed to IrrlichtDevice::postEventFromUser in re-
sponse to mouse input received from the operating system. Mouse events are first passed to the
user receiver, then to the GUI environment (and possibly many GUI elements), then finally the
input receiving scene manager (and possibly the active camera)
EET_KEY_INPUT_EVENT A key input evant.
Keyboard events are also created by the device and passed to IrrlichtDevice::postEventFromUser.
They take the same path as mouse events.
EET_LOG_TEXT_EVENT A log event.
Log events are only passed to the user receiver if there is one. If they are absorbed by the user
receiver then no text will be sent to the console.
EET_USER_EVENT A user event with user data.
This is not used by Irrlicht and can be used to send user specific data though the system.

Definition at line 15 of file IEventReceiver.h.

6.1.3.2 enum irr::EKEY_ACTION

enumeration for key actions. Used for example in the FPS Camera.

Enumeration values:
EKA_MOVE_FORWARD
EKA_MOVE_BACKWARD
EKA_STRAFE_LEFT
EKA_STRAFE_RIGHT
EKA_JUMP_UP
EKA_COUNT
EKA_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file SKeyMap.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.1 irr Namespace Reference 25

6.1.3.3 enum irr::EKEY_CODE

Enumeration values:
KEY_LBUTTON
KEY_RBUTTON
KEY_CANCEL
KEY_MBUTTON
KEY_XBUTTON1
KEY_XBUTTON2
KEY_BACK
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_SHIFT
KEY_CONTROL
KEY_MENU
KEY_PAUSE
KEY_CAPITAL
KEY_KANA
KEY_HANGUEL
KEY_HANGUL
KEY_JUNJA
KEY_FINAL
KEY_HANJA
KEY_KANJI
KEY_ESCAPE
KEY_CONVERT
KEY_NONCONVERT
KEY_ACCEPT
KEY_MODECHANGE
KEY_SPACE
KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUT

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


26 Irrlicht Engine Namespace Documentation

KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_KEY_0
KEY_KEY_1
KEY_KEY_2
KEY_KEY_3
KEY_KEY_4
KEY_KEY_5
KEY_KEY_6
KEY_KEY_7
KEY_KEY_8
KEY_KEY_9
KEY_KEY_A
KEY_KEY_B
KEY_KEY_C
KEY_KEY_D
KEY_KEY_E
KEY_KEY_F
KEY_KEY_G
KEY_KEY_H
KEY_KEY_I
KEY_KEY_J
KEY_KEY_K
KEY_KEY_L
KEY_KEY_M
KEY_KEY_N
KEY_KEY_O
KEY_KEY_P
KEY_KEY_Q
KEY_KEY_R
KEY_KEY_S
KEY_KEY_T
KEY_KEY_U
KEY_KEY_V
KEY_KEY_W
KEY_KEY_X
KEY_KEY_Y
KEY_KEY_Z
KEY_LWIN

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.1 irr Namespace Reference 27

KEY_RWIN
KEY_APPS
KEY_SLEEP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


28 Irrlicht Engine Namespace Documentation

KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
KEY_LSHIFT
KEY_RSHIFT
KEY_LCONTROL
KEY_RCONTROL
KEY_LMENU
KEY_RMENU
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_ATTN
KEY_CRSEL
KEY_EXSEL
KEY_EREOF
KEY_PLAY
KEY_ZOOM
KEY_PA1
KEY_OEM_CLEAR
KEY_KEY_CODES_COUNT

Definition at line 11 of file Keycodes.h.

6.1.3.4 enum irr::ELOG_LEVEL

Possible log levels.

Enumeration values:
ELL_INFORMATION High log level, warnings, errors and important information texts are printed
out.
ELL_WARNING Default log level, warnings and errors are printed out.
ELL_ERROR Low log level, only errors are printed into the log.
ELL_NONE Nothing is printed out to the log.

Definition at line 14 of file ILogger.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.1 irr Namespace Reference 29

6.1.3.5 enum irr::EMOUSE_INPUT_EVENT

Enumeration for all mouse input events.

Enumeration values:
EMIE_LMOUSE_PRESSED_DOWN Left mouse button was pressed down.
EMIE_RMOUSE_PRESSED_DOWN Right mouse button was pressed down.
EMIE_MMOUSE_PRESSED_DOWN Middle mouse button was pressed down.
EMIE_LMOUSE_LEFT_UP Left mouse button was left up.
EMIE_RMOUSE_LEFT_UP Right mouse button was left up.
EMIE_MMOUSE_LEFT_UP Middle mouse button was left up.
EMIE_MOUSE_MOVED The mouse cursor changed its position.
EMIE_MOUSE_WHEEL The mouse wheel was moved. Use Wheel value in event data to find out
in what direction and how fast.
EMIE_COUNT No real event. Just for convenience to get number of events.

Definition at line 49 of file IEventReceiver.h.

6.1.4 Function Documentation

6.1.4.1 IRRLICHT_API IrrlichtDevice∗ IRRCALLCONV createDevice (video::E_DRIVER_-


TYPE deviceType = video::EDT_SOFTWARE, const core::dimension2d< s32 > &
windowSize = (core::dimension2d< s32 >(640, 480)), u32 bits = 16, bool
fullscreen = false, bool stencilbuffer = false, bool vsync = false, IEventReceiver ∗
receiver = 0, const c8 ∗ sdk_version_do_not_use = IRRLICHT_SDK_VERSION)

Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
If you need more parameters to be passed to the creation of the Irrlicht Engine device, use the createDevice-
Ex() function.

Parameters:
deviceType: Type of the device. This can currently be video::EDT_NULL, video::EDT_SOFTWARE,
video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and
video::EDT_OPENGL.
windowSize: Size of the window or the video mode in fullscreen mode.
bits: Bits per pixel in fullscreen mode. Ignored if windowed mode.
fullscreen: Should be set to true if the device should run in fullscreen. Otherwise the device runs in
windowed mode.
stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, if you want the engine
be able to draw stencil buffer shadows. Note that not all devices are able to use the stencil buffer.
If they don’t no shadows will be drawn.
vsync: Specifies vertical syncronisation: If set to true, the driver will wait for the vertical retrace
period, otherwise not.
receiver: A user created event receiver.
sdk_version_do_not_use: Don’t use or change this parameter. Always set it to IRRLICHT_SDK_-
VERSION, which is done by default. This is needed for sdk version checks.

Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


30 Irrlicht Engine Namespace Documentation

6.1.4.2 IRRLICHT_API IrrlichtDevice∗ IRRCALLCONV createDeviceEx (const


SIrrlichtCreationParameters & parameters)

Creates an Irrlicht device with the option to specify advanced parameters.


Usually you should used createDevice() for creating an Irrlicht Engine device. Use this function only if
you wish to specify advanced parameters like a window handle in which the device should be created.

Parameters:
parameters: Structure containing advanced parameters for the creation of the device. See
irr::SIrrlichtCreationParameters for details.

Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 31

6.2 irr::core Namespace Reference


In this namespace can be found basic classes like vectors, planes, arrays, lists and so on.

Classes
• class aabbox3d
Axis aligned bounding box in 3d dimensional space.

• class array
Self reallocating template array (like stl vector) with additional features.

• class CMatrix4
4x4 matrix. Mostly used as transformation matrix for 3d calculations.

• class dimension2d
Specifies a 2 dimensional size.

• class irrAllocator
Very simple allocator implementation, containers using it can be used across dll boundaries.

• class irrAllocatorFast
Fast allocator, only to be used in containers inside the same memory heap.

• class line2d
2D line between two points with intersection methods.

• class line3d
3D line between two points with intersection methods.

• class list
Doubly linked list template.

• class map
map template for associative arrays using a red-black tree

• class plane3d
Template plane class with some intersection testing methods.

• class position2d
Simple class for holding 2d coordinates.

• class quaternion
Quaternion class for representing rotations.

• class rect
Rectangle template.

• class string

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


32 Irrlicht Engine Namespace Documentation

Very simple string class with some useful features.

• class triangle3d
3d triangle template class for doing collision detection and other things.

• class vector2d
2d vector template class with lots of operators and methods.

• class vector3d
3d vector template class with lots of operators and methods.

Typedefs
• typedef aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.

• typedef aabbox3d< s32 > aabbox3di


Typedef for an integer 3d bounding box.

• typedef dimension2d< f32 > dimension2df


Typedef for an f32 dimension.

• typedef dimension2d< s32 > dimension2di


Typedef for an integer dimension.

• typedef line2d< f32 > line2df


Typedef for an f32 line.

• typedef line2d< s32 > line2di


Typedef for an integer line.

• typedef line3d< f32 > line3df


Typedef for an f32 line.

• typedef line3d< s32 > line3di


Typedef for an integer line.

• typedef CMatrix4< f32 > matrix4


Typedef for f32 matrix.

• typedef plane3d< f32 > plane3df


Typedef for a f32 3d plane.

• typedef plane3d< s32 > plane3di


Typedef for an integer 3d plane.

• typedef position2d< f32 > position2df


Typedef for an f32 position.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 33

• typedef position2d< s32 > position2di


Typedef for an integer position.

• typedef string< c8 > stringc


Typedef for character strings.

• typedef string< wchar_t > stringw


Typedef for wide character strings.

• typedef triangle3d< f32 > triangle3df


Typedef for a f32 3d triangle.

• typedef triangle3d< s32 > triangle3di


Typedef for an integer 3d triangle.

• typedef vector2d< f32 > vector2df


Typedef for f32 2d vector.

• typedef vector2d< s32 > vector2di


Typedef for integer 2d vector.

• typedef vector3d< f32 > vector3df


Typedef for a f32 3d vector.

• typedef vector3d< s32 > vector3di


Typedef for an integer 3d vector.

Enumerations
• enum EIntersectionRelation3D {
ISREL3D_FRONT = 0, ISREL3D_BACK, ISREL3D_PLANAR, ISREL3D_SPANNING,
ISREL3D_CLIPPED }
Enumeration for intersection relations of 3d objects.

Functions
• template<class T> T abs_ (const T &a)
returns abs of two values. Own implementation to get rid of STL (VS6 problems)

• REALINLINE s32 ceil32 (f32 x)


• template<class T> const T clamp (const T &value, const T &low, const T &high)
clamps a value between low and high

• REALINLINE void clearFPUException ()


• stringc & cutFilenameExtension (stringc &dest, const stringc &source)
cut the filename extension from a string

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


34 Irrlicht Engine Namespace Documentation

• bool equals (const u32 a, const u32 b, const u32 tolerance=0)


returns if a equals b, taking possible rounding errors into account

• bool equals (const s32 a, const s32 b, const s32 tolerance=0)


returns if a equals b, taking possible rounding errors into account

• bool equals (const f32 a, const f32 b, const f32 tolerance=ROUNDING_ERROR_32)


returns if a equals b, taking possible rounding errors into account

• f32 f32_max3 (const f32 a, const f32 b, const f32 c)


• f32 f32_min3 (const f32 a, const f32 b, const f32 c)
• float fast_atof (const char ∗c)
• const char ∗ fast_atof_move (const char ∗c, float &out)
• REALINLINE s32 floor32 (f32 x)
• f32 fract (f32 x)
• stringc & getFileNameExtension (stringc &dest, const stringc &source)
get the filename extension from a string

• template<class T> void heapsink (T ∗array, s32 element, s32 max)


Sinks an element into the heap.

• template<class T> void heapsort (T ∗array_, s32 size)


Sorts an array with size ’size’ using heapsort.

• REALINLINE u32 if_c_a_else_0 (const s32 condition, const u32 a)


conditional set based on mask and arithmetic shift

• REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
conditional set based on mask and arithmetic shift

• s32 isdigit (s32 c)


some standard function ( to remove dependencies )

• s32 isspace (s32 c)


• s32 isupper (s32 c)
• bool iszero (const u32 a, const u32 tolerance=0)
returns if a equals zero, taking rounding errors into account

• bool iszero (const s32 a, const s32 tolerance=0)


returns if a equals zero, taking rounding errors into account

• bool iszero (const f32 a, const f32 tolerance=ROUNDING_ERROR_32)


returns if a equals zero, taking rounding errors into account

• template<class T> T lerp (const T &a, const T &b, const f32 t)


• template<class T> const T & max_ (const T &a, const T &b, const T &c)
returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)

• template<class T> const T & max_ (const T &a, const T &b)


returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 35

• template<class T> const T & min_ (const T &a, const T &b, const T &c)
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)

• template<class T> const T & min_ (const T &a, const T &b)


returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)

• template<class S, class T> vector3d< T > operator ∗ (const S scalar, const vector3d< T > &vec-
tor)
Function multiplying a scalar and a vector component-wise.

• template<class S, class T> vector2d< T > operator ∗ (const S scalar, const vector2d< T > &vector)
• template<class T> CMatrix4< T > operator ∗ (const T scalar, const CMatrix4< T > &mat)
• REALINLINE f32 reciprocal (const f32 f)
• REALINLINE f32 reciprocal_approxim (const f32 p)
• REALINLINE f32 reciprocal_squareroot (const f32 x)
• REALINLINE s32 round32 (f32 x)
• f32 round_ (f32 x)
• s32 s32_clamp (s32 value, s32 low, s32 high)
• s32 s32_max (s32 a, s32 b)
• s32 s32_min (s32 a, s32 b)
• REALINLINE void setbit_cond (u32 &state, s32 condition, u32 mask)
• u32 strtol10 (const char ∗in, const char ∗∗out=0)

Variables
• const f32 DEGTORAD = PI / 180.0f
32bit Constant for converting from degrees to radians

• const f64 DEGTORAD64 = PI64 / 180.0


64bit constant for converting from degrees to radians (formally known as GRAD_PI2)

• const float fast_atof_table [16]


• const f32 HALF_PI = PI/2.0f
Constant for half of PI.

• const matrix4 IdentityMatrix (matrix4::EM4CONST_IDENTITY)


global const identity matrix

• const f32 PI = 3.14159265359f


Constant for PI.

• const f64 PI64 = 3.1415926535897932384626433832795028841971693993751


Constant for 64bit PI.

• const f32 RADTODEG = 180.0f / PI


32bit constant for converting from radians to degrees (formally known as GRAD_PI)

• const f64 RADTODEG64 = 180.0 / PI64

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


36 Irrlicht Engine Namespace Documentation

64bit constant for converting from radians to degrees

• const f32 RECIPROCAL_PI = 1.0f/PI


Constant for reciprocal of PI.

• const f64 RECIPROCAL_PI64 = 1.0/PI64


Constant for 64bit reciprocal of PI.

• const f32 ROUNDING_ERROR_32 = 0.000001f


Rounding error constant often used when comparing f32 values.

• const f64 ROUNDING_ERROR_64 = 0.00000001f

6.2.1 Detailed Description

In this namespace can be found basic classes like vectors, planes, arrays, lists and so on.

6.2.2 Typedef Documentation

6.2.2.1 typedef aabbox3d<f32> irr::core::aabbox3df

Typedef for a f32 3d bounding box.


Definition at line 310 of file aabbox3d.h.

6.2.2.2 typedef aabbox3d<s32> irr::core::aabbox3di

Typedef for an integer 3d bounding box.


Definition at line 312 of file aabbox3d.h.

6.2.2.3 typedef dimension2d<f32> irr::core::dimension2df

Typedef for an f32 dimension.


Definition at line 88 of file dimension2d.h.

6.2.2.4 typedef dimension2d<s32> irr::core::dimension2di

Typedef for an integer dimension.


Definition at line 90 of file dimension2d.h.

6.2.2.5 typedef line2d<f32> irr::core::line2df

Typedef for an f32 line.


Definition at line 173 of file line2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 37

6.2.2.6 typedef line2d<s32> irr::core::line2di

Typedef for an integer line.


Definition at line 175 of file line2d.h.

6.2.2.7 typedef line3d<f32> irr::core::line3df

Typedef for an f32 line.


Definition at line 136 of file line3d.h.

6.2.2.8 typedef line3d<s32> irr::core::line3di

Typedef for an integer line.


Definition at line 138 of file line3d.h.

6.2.2.9 typedef CMatrix4<f32> irr::core::matrix4

Typedef for f32 matrix.


Definition at line 1727 of file matrix4.h.

6.2.2.10 typedef plane3d<f32> irr::core::plane3df

Typedef for a f32 3d plane.


Definition at line 224 of file plane3d.h.

6.2.2.11 typedef plane3d<s32> irr::core::plane3di

Typedef for an integer 3d plane.


Definition at line 226 of file plane3d.h.

6.2.2.12 typedef position2d<f32> irr::core::position2df

Typedef for an f32 position.


Definition at line 112 of file position2d.h.

6.2.2.13 typedef position2d<s32> irr::core::position2di

Typedef for an integer position.


Definition at line 114 of file position2d.h.

6.2.2.14 typedef string<c8> irr::core::stringc

Typedef for character strings.


Definition at line 884 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


38 Irrlicht Engine Namespace Documentation

6.2.2.15 typedef string<wchar_t> irr::core::stringw

Typedef for wide character strings.


Definition at line 887 of file irrString.h.

6.2.2.16 typedef triangle3d<f32> irr::core::triangle3df

Typedef for a f32 3d triangle.


Definition at line 227 of file triangle3d.h.

6.2.2.17 typedef triangle3d<s32> irr::core::triangle3di

Typedef for an integer 3d triangle.


Definition at line 230 of file triangle3d.h.

6.2.2.18 typedef vector2d<f32> irr::core::vector2df

Typedef for f32 2d vector.


Definition at line 267 of file vector2d.h.

6.2.2.19 typedef vector2d<s32> irr::core::vector2di

Typedef for integer 2d vector.


Definition at line 269 of file vector2d.h.

6.2.2.20 typedef vector3d<f32> irr::core::vector3df

Typedef for a f32 3d vector.


Definition at line 275 of file vector3d.h.

6.2.2.21 typedef vector3d<s32> irr::core::vector3di

Typedef for an integer 3d vector.


Definition at line 277 of file vector3d.h.

6.2.3 Enumeration Type Documentation

6.2.3.1 enum irr::core::EIntersectionRelation3D

Enumeration for intersection relations of 3d objects.

Enumeration values:
ISREL3D_FRONT
ISREL3D_BACK

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 39

ISREL3D_PLANAR
ISREL3D_SPANNING
ISREL3D_CLIPPED

Definition at line 17 of file plane3d.h.

6.2.4 Function Documentation

6.2.4.1 template<class T> T abs_ (const T & a) [inline]

returns abs of two values. Own implementation to get rid of STL (VS6 problems)
Definition at line 101 of file irrMath.h.

6.2.4.2 REALINLINE s32 ceil32 (f32 x)

Definition at line 373 of file irrMath.h.


References REALINLINE.

6.2.4.3 template<class T> const T clamp (const T & value, const T & low, const T & high)
[inline]

clamps a value between low and high


Definition at line 116 of file irrMath.h.
References max_(), and min_().
Referenced by irr::core::string< c8 >::findLast(), irr::video::SColorf::getInterpolated(),
irr::video::SColor::getInterpolated(), irr::video::SColorf::getInterpolated_quadratic(),
irr::video::SColor::getInterpolated_quadratic(), and irr::core::quaternion::toEuler().

6.2.4.4 REALINLINE void clearFPUException ()

Definition at line 272 of file irrMath.h.


References REALINLINE.

6.2.4.5 stringc& cutFilenameExtension (stringc & dest, const stringc & source) [inline]

cut the filename extension from a string


Definition at line 22 of file coreutil.h.
References irr::core::string< T, TAlloc >::findLast(), and irr::core::string< T, TAlloc >::subString().
Referenced by irr::scene::quake3::getTextures().

6.2.4.6 bool equals (const u32 a, const u32 b, const u32 tolerance = 0) [inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 134 of file irrMath.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


40 Irrlicht Engine Namespace Documentation

6.2.4.7 bool equals (const s32 a, const s32 b, const s32 tolerance = 0) [inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 128 of file irrMath.h.

6.2.4.8 bool equals (const f32 a, const f32 b, const f32 tolerance = ROUNDING_ERROR_32)
[inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 122 of file irrMath.h.
Referenced by irr::core::vector3d< f32 >::equals(), irr::core::vector2d< f32 >::equals(), and
irr::core::CMatrix4< T >::isIdentity().

6.2.4.9 f32 f32_max3 (const f32 a, const f32 b, const f32 c) [inline]

Definition at line 435 of file irrMath.h.

6.2.4.10 f32 f32_min3 (const f32 a, const f32 b, const f32 c) [inline]

Definition at line 440 of file irrMath.h.

6.2.4.11 float fast_atof (const char ∗ c) [inline]

Definition at line 106 of file fast_atof.h.


References fast_atof_move().

6.2.4.12 const char∗ fast_atof_move (const char ∗ c, float & out) [inline]

Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.
Definition at line 56 of file fast_atof.h.
References fast_atof_table, and strtol10().
Referenced by fast_atof(), and irr::scene::quake3::getAsFloat().

6.2.4.13 REALINLINE s32 floor32 (f32 x)

Definition at line 340 of file irrMath.h.


References REALINLINE.
Referenced by irr::gui::IGUIElement::setRelativePosition().

6.2.4.14 f32 fract (f32 x) [inline]

Definition at line 445 of file irrMath.h.


Referenced by irr::scene::quake3::SModifierFunction::evaluate().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 41

6.2.4.15 stringc& getFileNameExtension (stringc & dest, const stringc & source) [inline]

get the filename extension from a string


Definition at line 30 of file coreutil.h.
References irr::core::string< T, TAlloc >::findLast(), and irr::core::string< T, TAlloc >::subString().

6.2.4.16 template<class T> void heapsink (T ∗ array, s32 element, s32 max) [inline]

Sinks an element into the heap.


Definition at line 17 of file heapsort.h.
Referenced by heapsort().

6.2.4.17 template<class T> void heapsort (T ∗ array_, s32 size) [inline]

Sorts an array with size ’size’ using heapsort.


Definition at line 41 of file heapsort.h.
References heapsink().
Referenced by irr::core::array< IMesh ∗ >::sort().

6.2.4.18 REALINLINE u32 if_c_a_else_0 (const s32 condition, const u32 a)

conditional set based on mask and arithmetic shift


Definition at line 250 of file irrMath.h.
References REALINLINE.

6.2.4.19 REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)

conditional set based on mask and arithmetic shift


Definition at line 244 of file irrMath.h.
References REALINLINE.

6.2.4.20 s32 isdigit (s32 c) [inline]

some standard function ( to remove dependencies )


Definition at line 44 of file coreutil.h.

6.2.4.21 s32 isspace (s32 c) [inline]

Definition at line 45 of file coreutil.h.

6.2.4.22 s32 isupper (s32 c) [inline]

Definition at line 46 of file coreutil.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


42 Irrlicht Engine Namespace Documentation

6.2.4.23 bool iszero (const u32 a, const u32 tolerance = 0) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 152 of file irrMath.h.

6.2.4.24 bool iszero (const s32 a, const s32 tolerance = 0) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 146 of file irrMath.h.

6.2.4.25 bool iszero (const f32 a, const f32 tolerance = ROUNDING_ERROR_32) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 140 of file irrMath.h.
Referenced by irr::core::CMatrix4< T >::getInverse(), and irr::core::CMatrix4< T >::isIdentity().

6.2.4.26 template<class T> T lerp (const T & a, const T & b, const f32 t) [inline]

returns linear interpolation of a and b with ratio t

Returns:
: a if t==0, b if t==1, and the linear interpolation else

Definition at line 109 of file irrMath.h.

6.2.4.27 template<class T> const T& max_ (const T & a, const T & b, const T & c) [inline]

returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 94 of file irrMath.h.
References max_().

6.2.4.28 template<class T> const T& max_ (const T & a, const T & b) [inline]

returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 87 of file irrMath.h.
Referenced by clamp(), and max_().

6.2.4.29 template<class T> const T& min_ (const T & a, const T & b, const T & c) [inline]

returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 80 of file irrMath.h.
References min_().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 43

6.2.4.30 template<class T> const T& min_ (const T & a, const T & b) [inline]

returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 73 of file irrMath.h.
Referenced by clamp(), min_(), and irr::video::SColor::operator+().

6.2.4.31 template<class S, class T> vector3d<T> operator ∗ (const S scalar, const vector3d< T >
& vector)

Function multiplying a scalar and a vector component-wise.


Definition at line 280 of file vector3d.h.

6.2.4.32 template<class S, class T> vector2d<T> operator ∗ (const S scalar, const vector2d< T >
& vector)

Definition at line 271 of file vector2d.h.

6.2.4.33 template<class T> CMatrix4<T> operator ∗ (const T scalar, const CMatrix4< T > &
mat) [inline]

Definition at line 1720 of file matrix4.h.

6.2.4.34 REALINLINE f32 reciprocal (const f32 f)

Definition at line 312 of file irrMath.h.


References REALINLINE.
Referenced by irr::core::CMatrix4< T >::getInverse().

6.2.4.35 REALINLINE f32 reciprocal_approxim (const f32 p)

Definition at line 328 of file irrMath.h.


References FR, IR, and REALINLINE.

6.2.4.36 REALINLINE f32 reciprocal_squareroot (const f32 x)

Definition at line 287 of file irrMath.h.


References IEEE_1_0, and REALINLINE.
Referenced by irr::core::vector3d< f32 >::normalize(), irr::core::vector2d< f32 >::normalize(),
irr::core::quaternion::normalize(), and irr::scene::SViewFrustum::setFrom().

6.2.4.37 REALINLINE s32 round32 (f32 x)

Definition at line 407 of file irrMath.h.


References REALINLINE, and round_().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


44 Irrlicht Engine Namespace Documentation

6.2.4.38 f32 round_ (f32 x) [inline]

Definition at line 267 of file irrMath.h.


Referenced by round32().

6.2.4.39 s32 s32_clamp (s32 value, s32 low, s32 high) [inline]

Definition at line 169 of file irrMath.h.


References s32_max(), and s32_min().

6.2.4.40 s32 s32_max (s32 a, s32 b) [inline]

Definition at line 163 of file irrMath.h.


Referenced by s32_clamp().

6.2.4.41 s32 s32_min (s32 a, s32 b) [inline]

Definition at line 157 of file irrMath.h.


Referenced by s32_clamp().

6.2.4.42 REALINLINE void setbit_cond (u32 & state, s32 condition, u32 mask)

Definition at line 258 of file irrMath.h.


References REALINLINE.

6.2.4.43 u32 strtol10 (const char ∗ in, const char ∗∗ out = 0) [inline]

Definition at line 36 of file fast_atof.h.


Referenced by fast_atof_move().

6.2.5 Variable Documentation

6.2.5.1 const f32 irr::core::DEGTORAD = PI / 180.0f

32bit Constant for converting from degrees to radians


Definition at line 60 of file irrMath.h.

6.2.5.2 const f64 irr::core::DEGTORAD64 = PI64 / 180.0

64bit constant for converting from degrees to radians (formally known as GRAD_PI2)
Definition at line 66 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::rotateBy(), irr::core::vector3d< f32 >::rotateXYBy(),
irr::core::vector3d< f32 >::rotateXZBy(), and irr::core::vector3d< f32 >::rotateYZBy().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.2 irr::core Namespace Reference 45

6.2.5.3 const float irr::core::fast_atof_table[16]

Initial value:

{
0.f,
0.1f,
0.01f,
0.001f,
0.0001f,
0.00001f,
0.000001f,
0.0000001f,
0.00000001f,
0.000000001f,
0.0000000001f,
0.00000000001f,
0.000000000001f,
0.0000000000001f,
0.00000000000001f,
0.000000000000001f
}

Definition at line 17 of file fast_atof.h.


Referenced by fast_atof_move().

6.2.5.4 const f32 irr::core::HALF_PI = PI/2.0f

Constant for half of PI.


Definition at line 48 of file irrMath.h.

6.2.5.5 const matrix4 irr::core::IdentityMatrix(matrix4::EM4CONST_IDENTITY)

global const identity matrix

6.2.5.6 const f32 irr::core::PI = 3.14159265359f

Constant for PI.


Definition at line 42 of file irrMath.h.
Referenced by irr::core::quaternion::slerp().

6.2.5.7 const f64 irr::core::PI64 = 3.1415926535897932384626433832795028841971693993751

Constant for 64bit PI.


Definition at line 54 of file irrMath.h.

6.2.5.8 const f32 irr::core::RADTODEG = 180.0f / PI

32bit constant for converting from radians to degrees (formally known as GRAD_PI)
Definition at line 63 of file irrMath.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


46 Irrlicht Engine Namespace Documentation

6.2.5.9 const f64 irr::core::RADTODEG64 = 180.0 / PI64

64bit constant for converting from radians to degrees


Definition at line 69 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::getAngle(), irr::core::vector2d< f32 >::getAngleTrig(),
irr::core::vector2d< f32 >::getAngleWith(), irr::core::vector3d< f32 >::getHorizontalAngle(), and
irr::core::CMatrix4< T >::getRotationDegrees().

6.2.5.10 const f32 irr::core::RECIPROCAL_PI = 1.0f/PI

Constant for reciprocal of PI.


Definition at line 45 of file irrMath.h.

6.2.5.11 const f64 irr::core::RECIPROCAL_PI64 = 1.0/PI64

Constant for 64bit reciprocal of PI.


Definition at line 57 of file irrMath.h.

6.2.5.12 const f32 irr::core::ROUNDING_ERROR_32 = 0.000001f

Rounding error constant often used when comparing f32 values.


Definition at line 34 of file irrMath.h.
Referenced by irr::core::plane3d< f32 >::classifyPointRelation(), and irr::core::line2d< T >::intersect-
With().

6.2.5.13 const f64 irr::core::ROUNDING_ERROR_64 = 0.00000001f

Definition at line 35 of file irrMath.h.


Referenced by irr::core::plane3d< f32 >::getIntersectionWithPlane(), and irr::core::CMatrix4< T >::get-
RotationDegrees().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 47

6.3 irr::gui Namespace Reference


The gui namespace contains useful classes for easy creation of a graphical user interface.

Classes
• class ICursorControl
Interface to manipulate the mouse cursor.

• class IGUIButton
GUI Button interface.

• class IGUICheckBox
GUI Check box interface.

• class IGUIColorSelectDialog
Standard file chooser dialog.

• class IGUIComboBox
Combobox widget.

• class IGUIContextMenu
GUI Context menu interface.

• class IGUIEditBox
Single line edit box for editing simple text.

• class IGUIElement
Base class of all GUI elements.

• class IGUIElementFactory
Interface making it possible to dynamicly create GUI elements.

• class IGUIEnvironment
GUI Environment. Used as factory and manager of all other GUI elements.

• class IGUIFileOpenDialog
Standard file chooser dialog.

• class IGUIFont
Font interface.

• class IGUIFontBitmap
Font interface.

• class IGUIImage
GUI element displaying an image.

• class IGUIInOutFader

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


48 Irrlicht Engine Namespace Documentation

Element for fading out or in.

• class IGUIListBox
Default list box GUI element.

• class IGUIMeshViewer
3d mesh viewing GUI element.

• class IGUIScrollBar
Default scroll bar GUI element.

• class IGUISkin
A skin modifies the look of the GUI elements.

• class IGUISpinBox
Single line edit box + spin buttons.

• class IGUISpriteBank
Sprite bank interface.

• class IGUIStaticText
Multi or single line text label.

• class IGUITab
A tab, onto which other gui elements could be added.

• class IGUITabControl
A standard tab control.

• class IGUIToolBar
Stays at the top of its parent like the menu bar and contains tool buttons.

• class IGUIWindow
Default moveable window GUI element with border, caption and close icons.

• struct SGUISprite
A sprite composed of several frames.

• struct SGUISpriteFrame
A single sprite frame.

Enumerations
• enum EGUI_ALIGNMENT { EGUIA_UPPERLEFT = 0, EGUIA_LOWERRIGHT, EGUIA_-
CENTER, EGUIA_SCALE }
• enum EGUI_BUTTON_STATE {
EGBS_BUTTON_UP = 0, EGBS_BUTTON_DOWN, EGBS_BUTTON_MOUSE_OVER, EGBS_-
BUTTON_MOUSE_OFF,
EGBS_BUTTON_FOCUSED, EGBS_BUTTON_NOT_FOCUSED, EGBS_COUNT }

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 49

• enum EGUI_DEFAULT_COLOR {
EGDC_3D_DARK_SHADOW = 0, EGDC_3D_SHADOW, EGDC_3D_FACE, EGDC_3D_-
HIGH_LIGHT,
EGDC_3D_LIGHT, EGDC_ACTIVE_BORDER, EGDC_ACTIVE_CAPTION, EGDC_APP_-
WORKSPACE,
EGDC_BUTTON_TEXT, EGDC_GRAY_TEXT, EGDC_HIGH_LIGHT, EGDC_HIGH_LIGHT_-
TEXT,
EGDC_INACTIVE_BORDER, EGDC_INACTIVE_CAPTION, EGDC_TOOLTIP, EGDC_-
TOOLTIP_BACKGROUND,
EGDC_SCROLLBAR, EGDC_WINDOW, EGDC_WINDOW_SYMBOL, EGDC_ICON,
EGDC_ICON_HIGH_LIGHT, EGDC_COUNT }
Enumeration for skin colors.

• enum EGUI_DEFAULT_FONT {
EGDF_DEFAULT = 0, EGDF_BUTTON, EGDF_WINDOW, EGDF_MENU,
EGDF_TOOLTIP, EGDF_COUNT }
• enum EGUI_DEFAULT_ICON {
EGDI_WINDOW_MAXIMIZE = 0, EGDI_WINDOW_RESTORE, EGDI_WINDOW_CLOSE,
EGDI_WINDOW_MINIMIZE,
EGDI_WINDOW_RESIZE, EGDI_CURSOR_UP, EGDI_CURSOR_DOWN, EGDI_CURSOR_-
LEFT,
EGDI_CURSOR_RIGHT, EGDI_MENU_MORE, EGDI_CHECK_BOX_CHECKED, EGDI_-
DROP_DOWN,
EGDI_SMALL_CURSOR_UP, EGDI_SMALL_CURSOR_DOWN, EGDI_RADIO_BUTTON_-
CHECKED, EGDI_MORE_LEFT,
EGDI_MORE_RIGHT, EGDI_MORE_UP, EGDI_MORE_DOWN, EGDI_EXPAND,
EGDI_COLLAPSE, EGDI_FILE, EGDI_DIRECTORY, EGDI_COUNT }
Customizable symbols for GUI.

• enum EGUI_DEFAULT_SIZE {
EGDS_SCROLLBAR_SIZE = 0, EGDS_MENU_HEIGHT, EGDS_WINDOW_BUTTON_-
WIDTH, EGDS_CHECK_BOX_WIDTH,
EGDS_MESSAGE_BOX_WIDTH, EGDS_MESSAGE_BOX_HEIGHT, EGDS_BUTTON_-
WIDTH, EGDS_BUTTON_HEIGHT,
EGDS_TEXT_DISTANCE_X, EGDS_TEXT_DISTANCE_Y, EGDS_COUNT }
Enumeration for default sizes.

• enum EGUI_DEFAULT_TEXT {
EGDT_MSG_BOX_OK = 0, EGDT_MSG_BOX_CANCEL, EGDT_MSG_BOX_YES, EGDT_-
MSG_BOX_NO,
EGDT_WINDOW_CLOSE, EGDT_WINDOW_MAXIMIZE, EGDT_WINDOW_MINIMIZE,
EGDT_WINDOW_RESTORE,
EGDT_COUNT }

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


50 Irrlicht Engine Namespace Documentation

• enum EGUI_ELEMENT_TYPE {
EGUIET_BUTTON = 0, EGUIET_CHECK_BOX, EGUIET_COMBO_BOX, EGUIET_-
CONTEXT_MENU,
EGUIET_MENU, EGUIET_EDIT_BOX, EGUIET_FILE_OPEN_DIALOG, EGUIET_COLOR_-
SELECT_DIALOG,
EGUIET_IN_OUT_FADER, EGUIET_IMAGE, EGUIET_LIST_BOX, EGUIET_MESH_-
VIEWER,
EGUIET_MESSAGE_BOX, EGUIET_MODAL_SCREEN, EGUIET_SCROLL_BAR, EGUIET_-
STATIC_TEXT,
EGUIET_TAB, EGUIET_TAB_CONTROL, EGUIET_TOOL_BAR, EGUIET_WINDOW,
EGUIET_SPIN_BOX, EGUIET_COUNT, EGUIET_ELEMENT, EGUIET_FORCE_32_BIT =
0x7fffffff }
List of all basic Irrlicht GUI elements.

• enum EGUI_EVENT_TYPE {
EGET_ELEMENT_FOCUS_LOST = 0, EGET_ELEMENT_FOCUSED, EGET_ELEMENT_-
HOVERED, EGET_ELEMENT_LEFT,
EGET_ELEMENT_CLOSED, EGET_BUTTON_CLICKED, EGET_SCROLL_BAR_CHANGED,
EGET_CHECKBOX_CHANGED,
EGET_LISTBOX_CHANGED, EGET_LISTBOX_SELECTED_AGAIN, EGET_FILE_-
SELECTED, EGET_FILE_CHOOSE_DIALOG_CANCELLED,
EGET_MESSAGEBOX_YES, EGET_MESSAGEBOX_NO, EGET_MESSAGEBOX_OK,
EGET_MESSAGEBOX_CANCEL,
EGET_EDITBOX_ENTER, EGET_TAB_CHANGED, EGET_MENU_ITEM_SELECTED,
EGET_COMBO_BOX_CHANGED,
EGET_SPINBOX_CHANGED }
Enumeration for all events which are sendable by the gui system.

• enum EGUI_FONT_TYPE { EGFT_BITMAP = 0, EGFT_VECTOR, EGFT_OS, EGFT_CUSTOM


}
An enum for the different types of GUI font.

• enum EGUI_LISTBOX_COLOR {
EGUI_LBC_TEXT = 0, EGUI_LBC_TEXT_HIGHLIGHT, EGUI_LBC_ICON, EGUI_LBC_-
ICON_HIGHLIGHT,
EGUI_LBC_COUNT }
Enumeration for listbox colors.

• enum EGUI_SKIN_TYPE { EGST_WINDOWS_CLASSIC = 0, EGST_WINDOWS_METALLIC,


EGST_BURNING_SKIN, EGST_UNKNOWN }
Enumeration of available default skins.

• enum EMESSAGE_BOX_FLAG {
EMBF_OK = 0x1, EMBF_CANCEL = 0x2, EMBF_YES = 0x4, EMBF_NO = 0x8,
EMBF_FORCE_32BIT = 0x7fffffff }
enumeration for message box layout flags

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 51

Variables
• const c8 ∗const GUIAlignmentNames [ ]
Names for alignments.

• const c8 ∗const GUIButtonStateNames [ ]


Names for gui button state icons.

• const c8 ∗const GUIElementTypeNames [ ]


Names for built-in element types.

• const c8 ∗const GUISkinColorNames [ ]


Names for default skin colors.

• const c8 ∗const GUISkinFontNames [ ]


• const c8 ∗const GUISkinIconNames [ ]
• const c8 ∗const GUISkinSizeNames [ ]
Names for default skin sizes.

• const c8 ∗const GUISkinTextNames [ ]


Names for default skin sizes.

• const c8 ∗const GUISkinTypeNames [ ]


Names for gui element types.

6.3.1 Detailed Description

The gui namespace contains useful classes for easy creation of a graphical user interface.

6.3.2 Enumeration Type Documentation

6.3.2.1 enum irr::gui::EGUI_ALIGNMENT

Enumeration values:
EGUIA_UPPERLEFT Aligned to parent’s top or left side (default).
EGUIA_LOWERRIGHT Aligned to parent’s bottom or right side.
EGUIA_CENTER Aligned to the center of parent.
EGUIA_SCALE Scaled within its parent.

Definition at line 23 of file IGUIElement.h.

6.3.2.2 enum irr::gui::EGUI_BUTTON_STATE

Enumeration values:
EGBS_BUTTON_UP The button is not pressed.
EGBS_BUTTON_DOWN The button is currently pressed down.
EGBS_BUTTON_MOUSE_OVER The mouse cursor is over the button.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


52 Irrlicht Engine Namespace Documentation

EGBS_BUTTON_MOUSE_OFF The mouse cursor is not over the button.


EGBS_BUTTON_FOCUSED The button has the focus.
EGBS_BUTTON_NOT_FOCUSED The button doesn’t have the focus.
EGBS_COUNT not used, counts the number of enumerated items

Definition at line 23 of file IGUIButton.h.

6.3.2.3 enum irr::gui::EGUI_DEFAULT_COLOR

Enumeration for skin colors.

Enumeration values:
EGDC_3D_DARK_SHADOW Dark shadow for three-dimensional display elements.
EGDC_3D_SHADOW Shadow color for three-dimensional display elements (for edges facing away
from the light source).
EGDC_3D_FACE Face color for three-dimensional display elements and for dialog box back-
grounds.
EGDC_3D_HIGH_LIGHT Highlight color for three-dimensional display elements (for edges fac-
ing the light source.).
EGDC_3D_LIGHT Light color for three-dimensional display elements (for edges facing the light
source.).
EGDC_ACTIVE_BORDER Active window border.
EGDC_ACTIVE_CAPTION Active window title bar text.
EGDC_APP_WORKSPACE Background color of multiple document interface (MDI) applications.

EGDC_BUTTON_TEXT Text on a button.


EGDC_GRAY_TEXT Grayed (disabled) text.
EGDC_HIGH_LIGHT Item(s) selected in a control.
EGDC_HIGH_LIGHT_TEXT Text of item(s) selected in a control.
EGDC_INACTIVE_BORDER Inactive window border.
EGDC_INACTIVE_CAPTION Inactive window caption.
EGDC_TOOLTIP Tool tip text color.
EGDC_TOOLTIP_BACKGROUND Tool tip background color.
EGDC_SCROLLBAR Scrollbar gray area.
EGDC_WINDOW Window background.
EGDC_WINDOW_SYMBOL Window symbols like on close buttons, scroll bars and check boxes.
EGDC_ICON Icons in a list or tree.
EGDC_ICON_HIGH_LIGHT Selected icons in a list or tree.
EGDC_COUNT this value is not used, it only specifies the amount of default colors available.

Definition at line 54 of file IGUISkin.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 53

6.3.2.4 enum irr::gui::EGUI_DEFAULT_FONT

Enumeration values:
EGDF_DEFAULT For static text, edit boxes, lists and most other places.
EGDF_BUTTON Font for buttons.
EGDF_WINDOW Font for window title bars.
EGDF_MENU Font for menu items.
EGDF_TOOLTIP Font for tooltips.
EGDF_COUNT this value is not used, it only specifies the amount of default fonts available.

Definition at line 296 of file IGUISkin.h.

6.3.2.5 enum irr::gui::EGUI_DEFAULT_ICON

Customizable symbols for GUI.

Enumeration values:
EGDI_WINDOW_MAXIMIZE maximize window button
EGDI_WINDOW_RESTORE restore window button
EGDI_WINDOW_CLOSE close window button
EGDI_WINDOW_MINIMIZE minimize window button
EGDI_WINDOW_RESIZE resize icon for bottom right corner of a window
EGDI_CURSOR_UP scroll bar up button
EGDI_CURSOR_DOWN scroll bar down button
EGDI_CURSOR_LEFT scroll bar left button
EGDI_CURSOR_RIGHT scroll bar right button
EGDI_MENU_MORE icon for menu children
EGDI_CHECK_BOX_CHECKED tick for checkbox
EGDI_DROP_DOWN down arrow for dropdown menus
EGDI_SMALL_CURSOR_UP smaller up arrow
EGDI_SMALL_CURSOR_DOWN smaller down arrow
EGDI_RADIO_BUTTON_CHECKED selection dot in a radio button
EGDI_MORE_LEFT << icon indicating there is more content to the left
EGDI_MORE_RIGHT >> icon indicating that there is more content to the right
EGDI_MORE_UP icon indicating that there is more content above
EGDI_MORE_DOWN icon indicating that there is more content below
EGDI_EXPAND plus icon for trees
EGDI_COLLAPSE minus icon for trees
EGDI_FILE file icon for file selection
EGDI_DIRECTORY folder icon for file selection
EGDI_COUNT value not used, it only specifies the number of icons

Definition at line 214 of file IGUISkin.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


54 Irrlicht Engine Namespace Documentation

6.3.2.6 enum irr::gui::EGUI_DEFAULT_SIZE

Enumeration for default sizes.

Enumeration values:
EGDS_SCROLLBAR_SIZE default with / height of scrollbar
EGDS_MENU_HEIGHT height of menu
EGDS_WINDOW_BUTTON_WIDTH width of a window button
EGDS_CHECK_BOX_WIDTH width of a checkbox check
EGDS_MESSAGE_BOX_WIDTH width of a messagebox
EGDS_MESSAGE_BOX_HEIGHT height of a messagebox
EGDS_BUTTON_WIDTH width of a default button
EGDS_BUTTON_HEIGHT height of a default button
EGDS_TEXT_DISTANCE_X distance for text from background
EGDS_TEXT_DISTANCE_Y distance for text from background
EGDS_COUNT this value is not used, it only specifies the amount of default sizes available.

Definition at line 131 of file IGUISkin.h.

6.3.2.7 enum irr::gui::EGUI_DEFAULT_TEXT

Enumeration values:
EGDT_MSG_BOX_OK Text for the OK button on a message box.
EGDT_MSG_BOX_CANCEL Text for the Cancel button on a message box.
EGDT_MSG_BOX_YES Text for the Yes button on a message box.
EGDT_MSG_BOX_NO Text for the No button on a message box.
EGDT_WINDOW_CLOSE Tooltip text for window close button.
EGDT_WINDOW_MAXIMIZE Tooltip text for window maximize button.
EGDT_WINDOW_MINIMIZE Tooltip text for window minimize button.
EGDT_WINDOW_RESTORE Tooltip text for window restore button.
EGDT_COUNT this value is not used, it only specifies the number of default texts

Definition at line 176 of file IGUISkin.h.

6.3.2.8 enum irr::gui::EGUI_ELEMENT_TYPE

List of all basic Irrlicht GUI elements.


An IGUIElement returns this when calling IGUIElement::getType();

Enumeration values:
EGUIET_BUTTON A button (IGUIButton).
EGUIET_CHECK_BOX A check box (IGUICheckBox).
EGUIET_COMBO_BOX A combo box (IGUIComboBox).
EGUIET_CONTEXT_MENU A context menu (IGUIContextMenu).
EGUIET_MENU A menu (IGUIMenu).

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 55

EGUIET_EDIT_BOX An edit box (IGUIEditBox).


EGUIET_FILE_OPEN_DIALOG A file open dialog (IGUIFileOpenDialog).
EGUIET_COLOR_SELECT_DIALOG A color select open dialog (IGUIColorSelectDialog).
EGUIET_IN_OUT_FADER A in/out fader (IGUIInOutFader).
EGUIET_IMAGE An image (IGUIImage).
EGUIET_LIST_BOX A list box (IGUIListBox).
EGUIET_MESH_VIEWER A mesh viewer (IGUIMeshViewer).
EGUIET_MESSAGE_BOX A message box (IGUIWindow).
EGUIET_MODAL_SCREEN A modal screen.
EGUIET_SCROLL_BAR A scroll bar (IGUIScrollBar).
EGUIET_STATIC_TEXT A static text (IGUIStaticText).
EGUIET_TAB A tab (IGUITab).
EGUIET_TAB_CONTROL A tab control.
EGUIET_TOOL_BAR A tool bar (IGUIToolBar).
EGUIET_WINDOW A window.
EGUIET_SPIN_BOX A spin box (IGUISpinBox).
EGUIET_COUNT Not an element, amount of elements in there.
EGUIET_ELEMENT Unknown type.
EGUIET_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.

Definition at line 17 of file EGUIElementTypes.h.

6.3.2.9 enum irr::gui::EGUI_EVENT_TYPE

Enumeration for all events which are sendable by the gui system.

Enumeration values:
EGET_ELEMENT_FOCUS_LOST A gui element has lost its focus.
GUIEvent.Caller is losing the focus to GUIEvent.Element. If the event is absorbed then the focus
will not be changed.
EGET_ELEMENT_FOCUSED A gui element has got the focus.
If the event is absorbed then the focus will not be changed.
EGET_ELEMENT_HOVERED The mouse cursor hovered over a gui element.
EGET_ELEMENT_LEFT The mouse cursor left the hovered element.
EGET_ELEMENT_CLOSED An element would like to close.
Windows and context menus use this event when they would like to close, this can be cancelled
by absorbing the event.
EGET_BUTTON_CLICKED A button was clicked.
EGET_SCROLL_BAR_CHANGED A scrollbar has changed its position.
EGET_CHECKBOX_CHANGED A checkbox has changed its check state.
EGET_LISTBOX_CHANGED A new item in a listbox was seleted.
EGET_LISTBOX_SELECTED_AGAIN An item in the listbox was selected, which was already
selected.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


56 Irrlicht Engine Namespace Documentation

EGET_FILE_SELECTED A file has been selected in the file dialog.


EGET_FILE_CHOOSE_DIALOG_CANCELLED A file open dialog has been closed without
choosing a file.
EGET_MESSAGEBOX_YES ’Yes’ was clicked on a messagebox
EGET_MESSAGEBOX_NO ’No’ was clicked on a messagebox
EGET_MESSAGEBOX_OK ’OK’ was clicked on a messagebox
EGET_MESSAGEBOX_CANCEL ’Cancel’ was clicked on a messagebox
EGET_EDITBOX_ENTER In an editbox was pressed ’ENTER’.
EGET_TAB_CHANGED The tab was changed in an tab control.
EGET_MENU_ITEM_SELECTED A menu item was selected in a (context) menu.
EGET_COMBO_BOX_CHANGED The selection in a combo box has been changed.
EGET_SPINBOX_CHANGED The value of a spin box has changed.

Definition at line 86 of file IEventReceiver.h.

6.3.2.10 enum irr::gui::EGUI_FONT_TYPE

An enum for the different types of GUI font.

Enumeration values:
EGFT_BITMAP Bitmap fonts loaded from an XML file or a texture.
EGFT_VECTOR Scalable vector fonts loaded from an XML file. These fonts reside in system
memory and use no video memory until they are displayed. These are slower than bitmap fonts
but can be easily scaled and rotated.
EGFT_OS A font which uses a the native API provided by the operating system. Currently not used.

EGFT_CUSTOM An external font type provided by the user.

Definition at line 18 of file IGUIFont.h.

6.3.2.11 enum irr::gui::EGUI_LISTBOX_COLOR

Enumeration for listbox colors.

Enumeration values:
EGUI_LBC_TEXT Color of text.
EGUI_LBC_TEXT_HIGHLIGHT Color of selected text.
EGUI_LBC_ICON Color of icon.
EGUI_LBC_ICON_HIGHLIGHT Color of selected icon.
EGUI_LBC_COUNT Not used, just counts the number of available colors.

Definition at line 19 of file IGUIListBox.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 57

6.3.2.12 enum irr::gui::EGUI_SKIN_TYPE

Enumeration of available default skins.


To set one of the skins, use the following code, for example to set the Windows classic skin:

gui::IGUISkin* newskin = environment->createSkin(gui::EGST_WINDOWS_CLASSIC);


environment->setSkin(newskin);
newskin->drop();

Enumeration values:
EGST_WINDOWS_CLASSIC Default windows look and feel.
EGST_WINDOWS_METALLIC Like EGST_WINDOWS_CLASSIC, but with metallic shaded
windows and buttons.
EGST_BURNING_SKIN Burning’s skin.
EGST_UNKNOWN An unknown skin, not serializable at present.

Definition at line 29 of file IGUISkin.h.

6.3.2.13 enum irr::gui::EMESSAGE_BOX_FLAG

enumeration for message box layout flags

Enumeration values:
EMBF_OK Flag for the ok button.
EMBF_CANCEL Flag for the cancel button.
EMBF_YES Flag for the yes button.
EMBF_NO Flag for the no button.
EMBF_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file EMessageBoxFlags.h.

6.3.3 Variable Documentation

6.3.3.1 const c8∗ const irr::gui::GUIAlignmentNames[ ]

Initial value:

{
"upperLeft",
"lowerRight",
"center",
"scale",
0
}

Names for alignments.


Definition at line 36 of file IGUIElement.h.
Referenced by irr::gui::IGUIElement::deserializeAttributes(), and irr::gui::IGUIElement::serialize-
Attributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


58 Irrlicht Engine Namespace Documentation

6.3.3.2 const c8∗ const irr::gui::GUIButtonStateNames[ ]

Initial value:

{
"buttonUp",
"buttonDown",
"buttonMouseOver",
"buttonMouseOff",
"buttonFocused",
"buttonNotFocused",
0,
0,
}

Names for gui button state icons.


Definition at line 42 of file IGUIButton.h.

6.3.3.3 const c8∗ const irr::gui::GUIElementTypeNames[ ]

Initial value:

{
"button",
"checkBox",
"comboBox",
"contextMenu",
"menu",
"editBox",
"fileOpenDialog",
"colorSelectDialog",
"inOutFader",
"image",
"listBox",
"meshViewer",
"messageBox",
"modalScreen",
"scrollBar",
"staticText",
"tab",
"tabControl",
"toolBar",
"window",
"spinBox",
0
}

Names for built-in element types.


Definition at line 95 of file EGUIElementTypes.h.
Referenced by irr::gui::IGUIElement::getTypeName().

6.3.3.4 const c8∗ const irr::gui::GUISkinColorNames[ ]

Initial value:

{
"3DDarkShadow",

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 59

"3DShadow",
"3DFace",
"3DHighlight",
"3DLight",
"ActiveBorder",
"ActiveCaption",
"AppWorkspace",
"ButtonText",
"GrayText",
"Highlight",
"HighlightText",
"InactiveBorder",
"InactiveCaption",
"ToolTip",
"ToolTipBackground",
"ScrollBar",
"Window",
"WindowSymbol",
"Icon",
"IconHighlight",
0,
}

Names for default skin colors.


Definition at line 104 of file IGUISkin.h.

6.3.3.5 const c8∗ const irr::gui::GUISkinFontNames[ ]

Initial value:

{
"defaultFont",
"buttonFont",
"windowFont",
"menuFont",
"tooltipFont",
0
}

Definition at line 313 of file IGUISkin.h.

6.3.3.6 const c8∗ const irr::gui::GUISkinIconNames[ ]

Initial value:

{
"windowMaximize",
"windowRestore",
"windowClose",
"windowMinimize",
"windowResize",
"cursorUp",
"cursorDown",
"cursorLeft",
"cursorRight",
"menuMore",
"checkBoxChecked",
"dropDown",
"smallCursorUp",
"smallCursorDown",

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


60 Irrlicht Engine Namespace Documentation

"radioButtonChecked",
"moreLeft",
"moreRight",
"moreUp",
"moreDown",
"expand",
"collapse",
"file",
"directory",
0
}

Definition at line 267 of file IGUISkin.h.

6.3.3.7 const c8∗ const irr::gui::GUISkinSizeNames[ ]

Initial value:

{
"ScrollBarSize",
"MenuHeight",
"WindowButtonWidth",
"CheckBoxWidth",
"MessageBoxWidth",
"MessageBoxHeight",
"ButtonWidth",
"ButtonHeight",
"TextDistanceX",
"TextDistanceY",
0,
}

Names for default skin sizes.


Definition at line 160 of file IGUISkin.h.

6.3.3.8 const c8∗ const irr::gui::GUISkinTextNames[ ]

Initial value:

{
"MessageBoxOkay",
"MessageBoxCancel",
"MessageBoxYes",
"MessageBoxNo",
"WindowButtonClose",
"WindowButtonMaximize",
"WindowButtonMinimize",
"WindowButtonRestore",
0,
}

Names for default skin sizes.


Definition at line 200 of file IGUISkin.h.

6.3.3.9 const c8∗ const irr::gui::GUISkinTypeNames[ ]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.3 irr::gui Namespace Reference 61

{
"windowsClassic",
"windowsMetallic",
"burning",
"unknown",
0,
}

Names for gui element types.


Definition at line 43 of file IGUISkin.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


62 Irrlicht Engine Namespace Documentation

6.4 irr::io Namespace Reference

Classes
• class IAttributeExchangingObject
An object which is able to serialize and deserialize its attributes into an attributes object.

• class IAttributes
Provides a generic interface for attributes and their values and the possiblity to serialize them.

• class IFileList
The Filelist lists all files in a directory.

• class IFileReadCallBack
Callback class for file read abstraction.

• class IFileSystem
The FileSystem manages files and archives and provides access to them.

• class IIrrXMLReader
Interface providing easy read access to a XML file.

• class IReadFile
Interface providing read acess to a file.

• class IWriteFile
Interface providing write acess to a file.

• class IXMLBase
Empty class to be used as parent class for IrrXMLReader.

• class IXMLWriter
Interface providing methods for making it easier to write XML files.

• struct SAttributeReadWriteOptions
struct holding data describing options

Typedefs
• typedef unsigned short char16
defines the utf-16 type.

• typedef unsigned long char32


defines the utf-32 type.

• typedef IIrrXMLReader< char, IXMLBase > IrrXMLReader


A UTF-8 or ASCII character xml parser.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.4 irr::io Namespace Reference 63

• typedef IIrrXMLReader< char16, IXMLBase > IrrXMLReaderUTF16


A UTF-16 xml parser.

• typedef IIrrXMLReader< char32, IXMLBase > IrrXMLReaderUTF32


A UTF-32 xml parser.

• typedef IIrrXMLReader< wchar_t, IReferenceCounted > IXMLReader


An xml reader for wide characters, derived from IReferenceCounted.

• typedef IIrrXMLReader< c8, IReferenceCounted > IXMLReaderUTF8


An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.

Enumerations
• enum E_ATTRIBUTE_READ_WRITE_FLAGS { EARWF_FOR_FILE = 0x00000001, EARWF_-
FOR_EDITOR = 0x00000002, EARWF_USE_RELATIVE_PATHS = 0x00000004 }
Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.

• enum E_ATTRIBUTE_TYPE {
EAT_INT = 0, EAT_FLOAT, EAT_STRING, EAT_BOOL,
EAT_ENUM, EAT_COLOR, EAT_COLORF, EAT_VECTOR3D,
EAT_POSITION2D, EAT_VECTOR2D, EAT_RECT, EAT_MATRIX,
EAT_QUATERNION, EAT_BBOX, EAT_PLANE, EAT_TRIANGLE3D,
EAT_LINE2D, EAT_LINE3D, EAT_STRINGWARRAY, EAT_FLOATARRAY,
EAT_INTARRAY, EAT_BINARY, EAT_TEXTURE, EAT_USER_POINTER,
EAT_COUNT, EAT_UNKNOWN }
Types of attributes available for IAttributes.

• enum ETEXT_FORMAT {
ETF_ASCII, ETF_UTF8, ETF_UTF16_BE, ETF_UTF16_LE,
ETF_UTF32_BE, ETF_UTF32_LE }
Enumeration of all supported source text file formats.

• enum EXML_NODE {
EXN_NONE, EXN_ELEMENT, EXN_ELEMENT_END, EXN_TEXT,
EXN_COMMENT, EXN_CDATA, EXN_UNKNOWN }
Enumeration for all xml nodes which are parsed by IrrXMLReader.

Functions
• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (IFileReadCallBack
∗callback)
Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (FILE ∗file)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


64 Irrlicht Engine Namespace Documentation

Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (const char ∗filename)


Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (IFile-


ReadCallBack ∗callback)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (FILE


∗file)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (const char


∗filename)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (IFile-


ReadCallBack ∗callback)
Creates an instance of an UFT-32 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (FILE


∗file)
Creates an instance of an UFT-32 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (const char


∗filename)
Creates an instance of an UFT-32 xml parser.

• IReadFile ∗ createLimitReadFile (const c8 ∗fileName, IReadFile ∗alreadyOpenedFile, long area-


Size)
Internal function, please do not use.

• IReadFile ∗ createMemoryReadFile (void ∗memory, long size, const c8 ∗fileName, bool delete-
MemoryWhenDropped)
Internal function, please do not use.

• IReadFile ∗ createReadFile (const c8 ∗fileName)


Internal function, please do not use.

• IWriteFile ∗ createWriteFile (const c8 ∗fileName, bool append)


Internal function, please do not use.

6.4.1 Detailed Description

This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml
files, ...

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.4 irr::io Namespace Reference 65

6.4.2 Typedef Documentation

6.4.2.1 typedef unsigned short irr::io::char16

defines the utf-16 type.


Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.
Definition at line 372 of file irrXML.h.

6.4.2.2 typedef unsigned long irr::io::char32

defines the utf-32 type.


Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.
Definition at line 377 of file irrXML.h.

6.4.2.3 typedef IIrrXMLReader<char, IXMLBase> irr::io::IrrXMLReader

A UTF-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8 by this parser. The file to read
can be in any format, it will be converted to UTF-8 if it is not in this format. Create an instance of this with
createIrrXMLReader(); See IIrrXMLReader for description on how to use it.
Definition at line 385 of file irrXML.h.

6.4.2.4 typedef IIrrXMLReader<char16, IXMLBase> irr::io::IrrXMLReaderUTF16

A UTF-16 xml parser.


This means that all character data will be returned in UTF-16 by this parser. The file to read can be in
any format, it will be converted to UTF-16 if it is not in this format. Create an instance of this with
createIrrXMLReaderUTF16(); See IIrrXMLReader for description on how to use it.
Definition at line 393 of file irrXML.h.

6.4.2.5 typedef IIrrXMLReader<char32, IXMLBase> irr::io::IrrXMLReaderUTF32

A UTF-32 xml parser.


This means that all character data will be returned in UTF-32 by this parser. The file to read can be in
any format, it will be converted to UTF-32 if it is not in this format. Create an instance of this with
createIrrXMLReaderUTF32(); See IIrrXMLReader for description on how to use it.
Definition at line 401 of file irrXML.h.

6.4.2.6 typedef IIrrXMLReader<wchar_t, IReferenceCounted> irr::io::IXMLReader

An xml reader for wide characters, derived from IReferenceCounted.


This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFile-
System::createXMLReader(). For more informations on how to use the parser, see IIrrXMLReader
Definition at line 19 of file IXMLReader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


66 Irrlicht Engine Namespace Documentation

6.4.2.7 typedef IIrrXMLReader<c8, IReferenceCounted> irr::io::IXMLReaderUTF8

An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.


This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFile-
System::createXMLReaderUTF8(). For more informations on how to use the parser, see IIrrXMLReader
Definition at line 25 of file IXMLReader.h.

6.4.3 Enumeration Type Documentation

6.4.3.1 enum irr::io::E_ATTRIBUTE_READ_WRITE_FLAGS

Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.

Enumeration values:
EARWF_FOR_FILE Serialization/Deserializion is done for an xml file.
EARWF_FOR_EDITOR Serialization/Deserializion is done for an editor property box.
EARWF_USE_RELATIVE_PATHS When writing filenames, relative paths should be used.

Definition at line 20 of file IAttributeExchangingObject.h.

6.4.3.2 enum irr::io::E_ATTRIBUTE_TYPE

Types of attributes available for IAttributes.

Enumeration values:
EAT_INT
EAT_FLOAT
EAT_STRING
EAT_BOOL
EAT_ENUM
EAT_COLOR
EAT_COLORF
EAT_VECTOR3D
EAT_POSITION2D
EAT_VECTOR2D
EAT_RECT
EAT_MATRIX
EAT_QUATERNION
EAT_BBOX
EAT_PLANE
EAT_TRIANGLE3D
EAT_LINE2D
EAT_LINE3D
EAT_STRINGWARRAY

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.4 irr::io Namespace Reference 67

EAT_FLOATARRAY
EAT_INTARRAY
EAT_BINARY
EAT_TEXTURE
EAT_USER_POINTER
EAT_COUNT
EAT_UNKNOWN

Definition at line 38 of file IAttributes.h.

6.4.3.3 enum irr::io::ETEXT_FORMAT

Enumeration of all supported source text file formats.

Enumeration values:
ETF_ASCII ASCII, file without byte order mark, or not a text file.
ETF_UTF8 UTF-8 format.
ETF_UTF16_BE UTF-16 format, big endian.
ETF_UTF16_LE UTF-16 format, little endian.
ETF_UTF32_BE UTF-32 format, big endian.
ETF_UTF32_LE UTF-32 format, little endian.

Definition at line 158 of file irrXML.h.

6.4.3.4 enum irr::io::EXML_NODE

Enumeration for all xml nodes which are parsed by IrrXMLReader.

Enumeration values:
EXN_NONE No xml node. This is usually the node if you did not read anything yet.
EXN_ELEMENT An xml element such as <foo>.
EXN_ELEMENT_END End of an xml element such as </foo>.
EXN_TEXT Text within an xml element: <foo> this is the text. <foo>.
EXN_COMMENT An xml comment like <!– I am a comment –> or a DTD definition.
EXN_CDATA An xml cdata section like <![CDATA[ this is some CDATA ]]>.
EXN_UNKNOWN Unknown element.

Definition at line 181 of file irrXML.h.

6.4.4 Function Documentation

6.4.4.1 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader


(IFileReadCallBack ∗ callback)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


68 Irrlicht Engine Namespace Documentation

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.2 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader (FILE ∗ file)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.3 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader (const char ∗


filename)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.4 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV createIrrXMLReaderUTF16


(IFileReadCallBack ∗ callback)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.4 irr::io Namespace Reference 69

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.5 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV createIrrXMLReaderUTF16


(FILE ∗ file)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.6 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV createIrrXMLReaderUTF16


(const char ∗ filename)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.7 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV createIrrXMLReaderUTF32


(IFileReadCallBack ∗ callback)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


70 Irrlicht Engine Namespace Documentation

6.4.4.8 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV createIrrXMLReaderUTF32


(FILE ∗ file)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. if you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.9 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV createIrrXMLReaderUTF32


(const char ∗ filename)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

6.4.4.10 IReadFile∗ createLimitReadFile (const c8 ∗ fileName, IReadFile ∗ alreadyOpenedFile,


long areaSize)

Internal function, please do not use.

6.4.4.11 IReadFile∗ createMemoryReadFile (void ∗ memory, long size, const c8 ∗ fileName, bool
deleteMemoryWhenDropped)

Internal function, please do not use.

6.4.4.12 IReadFile∗ createReadFile (const c8 ∗ fileName)

Internal function, please do not use.

6.4.4.13 IWriteFile∗ createWriteFile (const c8 ∗ fileName, bool append)

Internal function, please do not use.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 71

6.5 irr::scene Namespace Reference

Classes
• class CMeshBuffer
Template implementation of the IMeshBuffer interface.

• class IAnimatedMesh
Interface for an animated mesh.

• class IAnimatedMeshMD2
Interface for using some special functions of MD2 meshes.

• class IAnimatedMeshMD3
Interface for using some special functions of MD3 meshes.

• class IAnimatedMeshSceneNode
Scene node capable of displaying an animated mesh and its shadow.

• class IAnimationEndCallBack
Callback interface for catching events of ended animations.

• class IBillboardSceneNode
A billboard scene node.

• class IBoneSceneNode
Interface for bones used for skeletal animation.

• class ICameraSceneNode
Scene Node which is a (controlable) camera.

• class IDummyTransformationSceneNode
Dummy scene node for adding additional transformations to the scene graph.

• class ILightSceneNode
Scene node which is a dynamic light.

• class IMesh
Class for accessing a mesh with multiple mesh buffers.

• class IMeshBuffer
Struct for holding a mesh with a single material.

• class IMeshCache
The mesh cache stores already loaded meshes and provides an interface to them.

• class IMeshLoader
Class which is able to load an animated mesh from a file.

• class IMeshManipulator

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


72 Irrlicht Engine Namespace Documentation

An interface for easy manipulation of meshes.

• class IMeshSceneNode
A scene node displaying a static mesh.

• class IMeshWriter
Interface for writing meshes.

• class IMetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.

• class IParticleAffector
A particle affector modifies particles.

• class IParticleAnimatedMeshSceneNodeEmitter
A particle emitter which emits particles from mesh vertices.

• class IParticleAttractionAffector
A particle affector which attracts or detracts particles.

• class IParticleBoxEmitter
A particle emitter which emits particles from a box shaped space.

• class IParticleCylinderEmitter
A particle emitter which emits from a cylindrically shaped space.

• class IParticleEmitter
A particle emitter for using with particle systems.

• class IParticleFadeOutAffector
A particle affector which fades out the particles.

• class IParticleGravityAffector
A particle affector which applies gravity to particles.

• class IParticleMeshEmitter
A particle emitter which emits from vertices of a mesh.

• class IParticleRingEmitter
A particle emitter which emits particles along a ring shaped area.

• class IParticleRotationAffector
A particle affector which rotates the particle system.

• class IParticleSphereEmitter
A particle emitter which emits from a spherical space.

• class IParticleSystemSceneNode
A particle system scene node for creating snow, fire, exlosions, smoke...

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 73

• class IQ3LevelMesh
Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.

• class ISceneCollisionManager
The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.

• class ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.

• class ISceneNode
Scene node interface.

• class ISceneNodeAnimator
Animates a scene node. Can animate position, rotation, material, and so on.

• class ISceneNodeAnimatorCollisionResponse
Special scene node animator for doing automatic collision detection and response.

• class ISceneNodeAnimatorFactory
Interface for dynamic creation of scene node animators.

• class ISceneNodeFactory
Interface for dynamic creation of scene nodes.

• class ISceneUserDataSerializer
Interface to read and write user data to and from .irr files.

• class IShadowVolumeSceneNode
Scene node for rendering a shadow volume into a stencil buffer.

• class ISkinnedMesh
Interface for using some special functions of Skinned meshes.

• class ITerrainSceneNode
A scene node for displaying terrain using the geo mip map algorithm.

• class ITextSceneNode
A scene node for displaying 2d text at a position in three dimensional space.

• class ITriangleSelector
Interface to return triangles with specific properties.

• struct SAnimatedMesh
Simple implementation of the IAnimatedMesh interface.

• struct SMD3AnimationInfo
• struct SMD3Face
Triangle Index.

• struct SMD3Header

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


74 Irrlicht Engine Namespace Documentation

this holds the header info of the MD3 file

• struct SMD3Mesh
Holding Frames Buffers and Tag Infos.

• struct SMD3MeshBuffer
Holding Frame Data for a Mesh.

• struct SMD3MeshHeader
this holds the header info of an MD3 mesh section

• struct SMD3QuaterionTag
hold a tag info for connecting meshes

• struct SMD3QuaterionTagList
holds a associative list of named quaternions

• struct SMD3TexCoord
Texture Coordinate.

• struct SMD3Vertex
Compressed Vertex Data.

• struct SMesh
Simple implementation of the IMesh interface.

• struct SParticle
Struct for holding particle data.

• struct SSharedMeshBuffer
Implementation of the IMeshBuffer interface with shared vertex list.

• struct SSkinMeshBuffer
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.

• struct SViewFrustum
Defines the view frustum. That’s the space visible by the camera.

Namespaces
• namespace quake3

Typedefs
• typedef IParticleEmitter IParticlePointEmitter
• typedef CMeshBuffer< video::S3DVertex > SMeshBuffer
Standard meshbuffer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 75

• typedef CMeshBuffer< video::S3DVertex2TCoords > SMeshBufferLightMap


Meshbuffer with two texture coords per vertex, e.g. for lightmaps.

• typedef CMeshBuffer< video::S3DVertexTangents > SMeshBufferTangents


Meshbuffer with vertices having tangents stored, e.g. for normal mapping.

Enumerations
• enum E_ANIMATED_MESH_TYPE {
EAMT_UNKNOWN = 0, EAMT_MD2, EAMT_MD3, EAMT_OBJ,
EAMT_BSP, EAMT_3DS, EAMT_MY3D, EAMT_LMTS,
EAMT_CSM, EAMT_OCT, EAMT_SKINNED }
Possible types of (animated) meshes.

• enum E_BONE_ANIMATION_MODE { EBAM_AUTOMATIC = 0, EBAM_ANIMATED,


EBAM_UNANIMATED, EBAM_COUNT }
Enumeration for different bone animation modes.

• enum E_BONE_SKINNING_SPACE { EBSS_LOCAL = 0, EBSS_GLOBAL, EBSS_COUNT }


• enum E_CULLING_TYPE { EAC_OFF = 0, EAC_BOX = 1, EAC_FRUSTUM_BOX = 2, EAC_-
FRUSTUM_SPHERE = 4 }
An enumeration for all types of automatic culling for built-in scene nodes.

• enum E_DEBUG_SCENE_TYPE {
EDS_OFF = 0, EDS_BBOX = 1, EDS_NORMALS = 2, EDS_SKELETON = 4,
EDS_MESH_WIRE_OVERLAY = 8, EDS_HALF_TRANSPARENCY = 16, EDS_BBOX_-
BUFFERS = 32, EDS_FULL = 0xffffffff }
An enumeration for all types of debug data for built-in scene nodes (flags).

• enum E_INTERPOLATION_MODE { EIM_CONSTANT = 0, EIM_LINEAR, EIM_COUNT }


• enum E_JOINT_UPDATE_ON_RENDER { EJUOR_NONE = 0, EJUOR_READ, EJUOR_-
CONTROL, EJUOR_COUNT }
• enum E_MESH_WRITER_FLAGS { EMWF_NONE = 0, EMWF_WRITE_LIGHTMAPS = 0x1,
EMWF_WRITE_COMPRESSED = 0x2 }
flags configuring mesh writing

• enum E_PARTICLE_AFFECTOR_TYPE {
EPAT_NONE = 0, EPAT_ATTRACT, EPAT_FADE_OUT, EPAT_GRAVITY,
EPAT_ROTATE, EPAT_COUNT }
Types of built in particle affectors.

• enum E_PARTICLE_EMITTER_TYPE {
EPET_POINT = 0, EPET_ANIMATED_MESH, EPET_BOX, EPET_CYLINDER,
EPET_MESH, EPET_RING, EPET_SPHERE, EPET_COUNT }
Types of built in particle emitters.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


76 Irrlicht Engine Namespace Documentation

• enum E_PRIMITIVE_TYPE {
EPT_POINTS = 0, EPT_LINE_STRIP, EPT_LINE_LOOP, EPT_LINES,
EPT_TRIANGLE_STRIP, EPT_TRIANGLE_FAN, EPT_TRIANGLES, EPT_QUAD_STRIP,
EPT_QUADS, EPT_POLYGON, EPT_POINT_SPRITES }
Enumeration for all primitive types there are.

• enum E_SCENE_NODE_RENDER_PASS {
ESNRP_CAMERA, ESNRP_LIGHT, ESNRP_SKY_BOX, ESNRP_AUTOMATIC,
ESNRP_SOLID, ESNRP_SHADOW, ESNRP_TRANSPARENT, ESNRP_SHADER_0,
ESNRP_SHADER_1, ESNRP_SHADER_2, ESNRP_SHADER_3, ESNRP_SHADER_4,
ESNRP_SHADER_5, ESNRP_SHADER_6, ESNRP_SHADER_7, ESNRP_SHADER_8,
ESNRP_SHADER_9, ESNRP_SHADER_10, ESNRP_COUNT }
Enumeration for render passes.

• enum E_TERRAIN_PATCH_SIZE {
ETPS_9 = 9, ETPS_17 = 17, ETPS_33 = 33, ETPS_65 = 65,
ETPS_129 = 129 }
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode

• enum EMD2_ANIMATION_TYPE {
EMAT_STAND = 0, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A,
EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP,
EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT,
EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_-
CROUCH_PAIN,
EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD,
EMAT_DEATH_FALLBACKSLOW,
EMAT_BOOM, EMAT_COUNT }
Types of standard md2 animations.

• enum EMD3_ANIMATION_TYPE {
EMD3_BOTH_DEATH_1 = 0, EMD3_BOTH_DEAD_1, EMD3_BOTH_DEATH_2, EMD3_-
BOTH_DEAD_2,
EMD3_BOTH_DEATH_3, EMD3_BOTH_DEAD_3, EMD3_TORSO_GESTURE, EMD3_-
TORSO_ATTACK_1,
EMD3_TORSO_ATTACK_2, EMD3_TORSO_DROP, EMD3_TORSO_RAISE, EMD3_TORSO_-
STAND_1,
EMD3_TORSO_STAND_2, EMD3_LEGS_WALK_CROUCH, EMD3_LEGS_WALK, EMD3_-
LEGS_RUN,
EMD3_LEGS_BACK, EMD3_LEGS_SWIM, EMD3_LEGS_JUMP_1, EMD3_LEGS_LAND_1,
EMD3_LEGS_JUMP_2, EMD3_LEGS_LAND_2, EMD3_LEGS_IDLE, EMD3_LEGS_IDLE_-
CROUCH,
EMD3_LEGS_TURN, EMD3_ANIMATION_COUNT }
Animation list.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 77

• enum eMD3Models {
EMD3_HEAD = 0, EMD3_UPPER, EMD3_LOWER, EMD3_WEAPON,
EMD3_NUMMODELS }
• enum EMESH_WRITER_TYPE { EMWT_IRR_MESH = MAKE_IRR_ID(’i’,’r’,’r’,’m’), EMWT_-
COLLADA = MAKE_IRR_ID(’c’,’o’,’l’,’l’), EMWT_STL = MAKE_IRR_ID(’s’,’t’,’l’,0) }
An enumeration for all supported types of built-in mesh writers.

• enum ESCENE_NODE_ANIMATOR_TYPE {
ESNAT_FLY_CIRCLE = 0, ESNAT_FLY_STRAIGHT, ESNAT_FOLLOW_SPLINE, ESNAT_-
ROTATION,
ESNAT_TEXTURE, ESNAT_DELETION, ESNAT_COLLISION_RESPONSE, ESNAT_COUNT,
ESNAT_UNKNOWN, ESNAT_FORCE_32_BIT = 0x7fffffff }
An enumeration for all types of built-in scene node animators.

• enum ESCENE_NODE_TYPE {
ESNT_CUBE = MAKE_IRR_ID(’c’,’u’,’b’,’e’), ESNT_SPHERE = MAKE_IRR_ID(’s’,’p’,’h’,’r’),
ESNT_TEXT = MAKE_IRR_ID(’t’,’e’,’x’,’t’), ESNT_WATER_SURFACE = MAKE_IRR_-
ID(’w’,’a’,’t’,’r’),
ESNT_TERRAIN = MAKE_IRR_ID(’t’,’e’,’r’,’r’), ESNT_SKY_BOX = MAKE_IRR_-
ID(’s’,’k’,’y’,’_’), ESNT_SHADOW_VOLUME = MAKE_IRR_ID(’s’,’h’,’d’,’w’), ESNT_-
OCT_TREE = MAKE_IRR_ID(’o’,’c’,’t’,’t’),
ESNT_MESH = MAKE_IRR_ID(’m’,’e’,’s’,’h’), ESNT_LIGHT = MAKE_IRR_ID(’l’,’g’,’h’,’t’),
ESNT_EMPTY = MAKE_IRR_ID(’e’,’m’,’t’,’y’), ESNT_DUMMY_TRANSFORMATION =
MAKE_IRR_ID(’d’,’m’,’m’,’y’),
ESNT_CAMERA = MAKE_IRR_ID(’c’,’a’,’m’,’_’), ESNT_CAMERA_MAYA = MAKE_-
IRR_ID(’c’,’a’,’m’,’M’), ESNT_CAMERA_FPS = MAKE_IRR_ID(’c’,’a’,’m’,’F’), ESNT_-
BILLBOARD = MAKE_IRR_ID(’b’,’i’,’l’,’l’),
ESNT_ANIMATED_MESH = MAKE_IRR_ID(’a’,’m’,’s’,’h’), ESNT_PARTICLE_SYSTEM =
MAKE_IRR_ID(’p’,’t’,’c’,’l’), ESNT_MD3_SCENE_NODE = MAKE_IRR_ID(’m’,’d’,’3’,’_’),
ESNT_UNKNOWN = MAKE_IRR_ID(’u’,’n’,’k’,’n’) }
An enumeration for all types of built-in scene nodes.

Variables
• const c8 ∗const AutomaticCullingNames [ ]
Names for culling type.

• const c8 ∗const BoneAnimationModeNames [ ]


Names for bone animation modes.

• const c8 ∗const COLLADA_CREATE_SCENE_INSTANCES = "COLLADA_CreateScene-


Instances"
Name of the parameter specifying the COLLADA mesh loading mode.

• const c8 ∗const CSM_TEXTURE_PATH = "CSM_TexturePath"


Name of the parameter for changing the texture path of the built-in csm loader.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


78 Irrlicht Engine Namespace Documentation

• const c8 ∗const DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"


Name of the parameter for setting reference value of alpha in transparent materials.

• const c8 ∗const DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"


Name of the parameter for choose to flip or not tga files.

• const c8 ∗const DMF_TEXTURE_PATH = "DMF_TexturePath"


Name of the parameter for changing the texture path of the built-in DMF loader.

• const c8 ∗const DMF_USE_MATERIALS_DIRS = "DMF_MaterialsDir"


Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.

• const c8 ∗const IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"


Flag set as parameter when the scene manager is used as editor.

• const c8 ∗const LMTS_TEXTURE_PATH = "LMTS_TexturePath"


Name of the parameter for changing the texture path of the built-in lmts loader.

• const c8 ∗const MY3D_TEXTURE_PATH = "MY3D_TexturePath"


Name of the parameter for changing the texture path of the built-in my3d loader.

• const c8 ∗const ParticleAffectorTypeNames [ ]


Names for built in particle affectors.

• const c8 ∗const ParticleEmitterTypeNames [ ]


Names for built in particle emitters.

6.5.1 Detailed Description

All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and
billboards, ...

6.5.2 Typedef Documentation

6.5.2.1 typedef IParticleEmitter irr::scene::IParticlePointEmitter

Definition at line 106 of file IParticleEmitter.h.

6.5.2.2 typedef CMeshBuffer<video::S3DVertex> irr::scene::SMeshBuffer

Standard meshbuffer.
Definition at line 200 of file CMeshBuffer.h.

6.5.2.3 typedef CMeshBuffer<video::S3DVertex2TCoords> irr::scene::SMeshBufferLightMap

Meshbuffer with two texture coords per vertex, e.g. for lightmaps.
Definition at line 202 of file CMeshBuffer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 79

6.5.2.4 typedef CMeshBuffer<video::S3DVertexTangents> irr::scene::SMeshBufferTangents

Meshbuffer with vertices having tangents stored, e.g. for normal mapping.
Definition at line 204 of file CMeshBuffer.h.

6.5.3 Enumeration Type Documentation

6.5.3.1 enum irr::scene::E_ANIMATED_MESH_TYPE

Possible types of (animated) meshes.

Enumeration values:
EAMT_UNKNOWN Unknown animated mesh type.
EAMT_MD2 Quake 2 MD2 model file.
EAMT_MD3 Quake 3 MD3 model file.
EAMT_OBJ Maya .obj static model.
EAMT_BSP Quake 3 .bsp static Map.
EAMT_3DS 3D Studio .3ds file
EAMT_MY3D My3D Mesh, the file format by Zhuck Dimitry.
EAMT_LMTS Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen.
EAMT_CSM Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
EAMT_OCT .oct file for Paul Nette’s FSRad or from Murphy McCauley’s Blender .oct exporter.
The oct file format contains 3D geometry and lightmaps and can be loaded directly by Irrlicht
EAMT_SKINNED generic skinned mesh

Definition at line 16 of file IAnimatedMesh.h.

6.5.3.2 enum irr::scene::E_BONE_ANIMATION_MODE

Enumeration for different bone animation modes.

Enumeration values:
EBAM_AUTOMATIC The bone is usually animated, unless it’s parent is not animated.
EBAM_ANIMATED The bone is animated by the skin, if it’s parent is not animated then animation
will resume from this bone onward.
EBAM_UNANIMATED The bone is not animated by the skin.
EBAM_COUNT Not an animation mode, just here to count the available modes.

Definition at line 16 of file IBoneSceneNode.h.

6.5.3.3 enum irr::scene::E_BONE_SKINNING_SPACE

Enumeration values:
EBSS_LOCAL local skinning, standard
EBSS_GLOBAL global skinning
EBSS_COUNT

Definition at line 32 of file IBoneSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


80 Irrlicht Engine Namespace Documentation

6.5.3.4 enum irr::scene::E_CULLING_TYPE

An enumeration for all types of automatic culling for built-in scene nodes.

Enumeration values:
EAC_OFF
EAC_BOX
EAC_FRUSTUM_BOX
EAC_FRUSTUM_SPHERE

Definition at line 16 of file ECullingTypes.h.

6.5.3.5 enum irr::scene::E_DEBUG_SCENE_TYPE

An enumeration for all types of debug data for built-in scene nodes (flags).

Enumeration values:
EDS_OFF No Debug Data ( Default ).
EDS_BBOX Show Bounding Boxes of SceneNode.
EDS_NORMALS Show Vertex Normals.
EDS_SKELETON Shows Skeleton/Tags.
EDS_MESH_WIRE_OVERLAY Overlays Mesh Wireframe.
EDS_HALF_TRANSPARENCY Temporary use transparency Material Type.
EDS_BBOX_BUFFERS Show Bounding Boxes of all MeshBuffers.
EDS_FULL Show all debug infos.

Definition at line 14 of file EDebugSceneTypes.h.

6.5.3.6 enum irr::scene::E_INTERPOLATION_MODE

Enumeration values:
EIM_CONSTANT
EIM_LINEAR
EIM_COUNT count of all available interpolation modes

Definition at line 18 of file ISkinnedMesh.h.

6.5.3.7 enum irr::scene::E_JOINT_UPDATE_ON_RENDER

Enumeration values:
EJUOR_NONE do nothing
EJUOR_READ get joints positions from the mesh (for attached nodes, etc)
EJUOR_CONTROL control joint positions in the mesh (eg. ragdolls, or set the animation from
animateJoints() )
EJUOR_COUNT count of all available interpolation modes

Definition at line 20 of file IAnimatedMeshSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 81

6.5.3.8 enum irr::scene::E_MESH_WRITER_FLAGS

flags configuring mesh writing

Enumeration values:
EMWF_NONE no writer flags
EMWF_WRITE_LIGHTMAPS write lightmap textures out if possible
EMWF_WRITE_COMPRESSED write in a way that does consume less disk space

Definition at line 33 of file EMeshWriterEnums.h.

6.5.3.9 enum irr::scene::E_PARTICLE_AFFECTOR_TYPE

Types of built in particle affectors.

Enumeration values:
EPAT_NONE
EPAT_ATTRACT
EPAT_FADE_OUT
EPAT_GRAVITY
EPAT_ROTATE
EPAT_COUNT

Definition at line 17 of file IParticleAffector.h.

6.5.3.10 enum irr::scene::E_PARTICLE_EMITTER_TYPE

Types of built in particle emitters.

Enumeration values:
EPET_POINT
EPET_ANIMATED_MESH
EPET_BOX
EPET_CYLINDER
EPET_MESH
EPET_RING
EPET_SPHERE
EPET_COUNT

Definition at line 17 of file IParticleEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


82 Irrlicht Engine Namespace Documentation

6.5.3.11 enum irr::scene::E_PRIMITIVE_TYPE

Enumeration for all primitive types there are.

Enumeration values:
EPT_POINTS All vertices are non-connected points.
EPT_LINE_STRIP All vertices form a single connected line.
EPT_LINE_LOOP Just as LINE_STRIP, but the last and the first vertex is also connected.
EPT_LINES Every two vertices are connected creating n/2 lines.
EPT_TRIANGLE_STRIP After the first two vertices each vertex defines a new triangle. Always
the two last and the new one form a new triangle.
EPT_TRIANGLE_FAN After the first two vertices each vertex defines a new triangle. All around
the common first vertex.
EPT_TRIANGLES Explicitly set all vertices for each triangle.
EPT_QUAD_STRIP After the first two vertices each further tw vetices create a quad with the pre-
ceding two.
EPT_QUADS Every four vertices create a quad.
EPT_POLYGON Just as LINE_LOOP, but filled.
EPT_POINT_SPRITES The single vertices are expanded to quad billboards on the GPU.

Definition at line 19 of file IMeshBuffer.h.

6.5.3.12 enum irr::scene::E_SCENE_NODE_RENDER_PASS

Enumeration for render passes.


A parameter passed to the registerNodeForRendering() method of the ISceneManager, specifying when the
mode wants to be drawn in relation to the other nodes.

Enumeration values:
ESNRP_CAMERA Camera pass. The active view is set up here. The very first pass.
ESNRP_LIGHT In this pass, lights are transformed into camera space and added to the driver.
ESNRP_SKY_BOX This is used for sky boxes.
ESNRP_AUTOMATIC All normal objects can use this for registering themselves.
This value will never be returned by ISceneManager::getSceneNodeRenderPass(). The scene
manager will determine by itself if an object is transparent or solid and register the object as
SNRT_TRANSPARENT or SNRT_SOLD automatically if you call registerNodeForRendering
with this value (which is default). Note that it will register the node only as ONE type. If your
scene node has both solid and transparent material types register it twice (one time as SNRT_-
SOLID, the other time as SNRT_TRANSPARENT) and in the render() method call getScene-
NodeRenderPass() to find out the current render pass and render only the corresponding parts of
the node.
ESNRP_SOLID Solid scene nodes or special scene nodes without materials.
ESNRP_SHADOW Drawn after the transparent nodes, the time for drawing shadow volumes.
ESNRP_TRANSPARENT Transparent scene nodes, drawn after shadow nodes. They are sorted
from back to front and drawn in that order.
ESNRP_SHADER_0 Scene Nodes with special support.
ESNRP_SHADER_1

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 83

ESNRP_SHADER_2
ESNRP_SHADER_3
ESNRP_SHADER_4
ESNRP_SHADER_5
ESNRP_SHADER_6
ESNRP_SHADER_7
ESNRP_SHADER_8
ESNRP_SHADER_9
ESNRP_SHADER_10
ESNRP_COUNT Never used, value specifing how much parameters there are.

Definition at line 51 of file ISceneManager.h.

6.5.3.13 enum irr::scene::E_TERRAIN_PATCH_SIZE

enumeration for patch sizes specifying the size of patches in the TerrainSceneNode

Enumeration values:
ETPS_9 patch size of 9, at most, use 4 levels of detail with this patch size.
ETPS_17 patch size of 17, at most, use 5 levels of detail with this patch size.
ETPS_33 patch size of 33, at most, use 6 levels of detail with this patch size.
ETPS_65 patch size of 65, at most, use 7 levels of detail with this patch size.
ETPS_129 patch size of 129, at most, use 8 levels of detail with this patch size.

Definition at line 14 of file ETerrainElements.h.

6.5.3.14 enum irr::scene::EMD2_ANIMATION_TYPE

Types of standard md2 animations.

Enumeration values:
EMAT_STAND
EMAT_RUN
EMAT_ATTACK
EMAT_PAIN_A
EMAT_PAIN_B
EMAT_PAIN_C
EMAT_JUMP
EMAT_FLIP
EMAT_SALUTE
EMAT_FALLBACK
EMAT_WAVE
EMAT_POINT
EMAT_CROUCH_STAND

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


84 Irrlicht Engine Namespace Documentation

EMAT_CROUCH_WALK
EMAT_CROUCH_ATTACK
EMAT_CROUCH_PAIN
EMAT_CROUCH_DEATH
EMAT_DEATH_FALLBACK
EMAT_DEATH_FALLFORWARD
EMAT_DEATH_FALLBACKSLOW
EMAT_BOOM
EMAT_COUNT Not an animation, but amount of animation types.

Definition at line 16 of file IAnimatedMeshMD2.h.

6.5.3.15 enum irr::scene::EMD3_ANIMATION_TYPE

Animation list.

Enumeration values:
EMD3_BOTH_DEATH_1
EMD3_BOTH_DEAD_1
EMD3_BOTH_DEATH_2
EMD3_BOTH_DEAD_2
EMD3_BOTH_DEATH_3
EMD3_BOTH_DEAD_3
EMD3_TORSO_GESTURE
EMD3_TORSO_ATTACK_1
EMD3_TORSO_ATTACK_2
EMD3_TORSO_DROP
EMD3_TORSO_RAISE
EMD3_TORSO_STAND_1
EMD3_TORSO_STAND_2
EMD3_LEGS_WALK_CROUCH
EMD3_LEGS_WALK
EMD3_LEGS_RUN
EMD3_LEGS_BACK
EMD3_LEGS_SWIM
EMD3_LEGS_JUMP_1
EMD3_LEGS_LAND_1
EMD3_LEGS_JUMP_2
EMD3_LEGS_LAND_2
EMD3_LEGS_IDLE
EMD3_LEGS_IDLE_CROUCH
EMD3_LEGS_TURN
EMD3_ANIMATION_COUNT Not an animation, but amount of animation types.

Definition at line 27 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 85

6.5.3.16 enum irr::scene::eMD3Models

Enumeration values:
EMD3_HEAD
EMD3_UPPER
EMD3_LOWER
EMD3_WEAPON
EMD3_NUMMODELS

Definition at line 17 of file IAnimatedMeshMD3.h.

6.5.3.17 enum irr::scene::EMESH_WRITER_TYPE

An enumeration for all supported types of built-in mesh writers.


A scene mesh writers is represented by a four character code such as ’irrm’ or ’coll’ instead of simple
numbers, to avoid name clashes with external mesh writers.

Enumeration values:
EMWT_IRR_MESH Irrlicht Native mesh writer, for static .irrmesh files.
EMWT_COLLADA COLLADA mesh writer for .dae and .xml files.
EMWT_STL STL mesh writer for .stl files.

Definition at line 19 of file EMeshWriterEnums.h.

6.5.3.18 enum irr::scene::ESCENE_NODE_ANIMATOR_TYPE

An enumeration for all types of built-in scene node animators.

Enumeration values:
ESNAT_FLY_CIRCLE Fly circle scene node animator.
ESNAT_FLY_STRAIGHT Fly straight scene node animator.
ESNAT_FOLLOW_SPLINE Follow spline scene node animator.
ESNAT_ROTATION Rotation scene node animator.
ESNAT_TEXTURE Texture scene node animator.
ESNAT_DELETION Deletion scene node animator.
ESNAT_COLLISION_RESPONSE Collision respose scene node animator.
ESNAT_COUNT Amount of built-in scene node animators.
ESNAT_UNKNOWN Unknown scene node animator.
ESNAT_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.

Definition at line 14 of file ESceneNodeAnimatorTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


86 Irrlicht Engine Namespace Documentation

6.5.3.19 enum irr::scene::ESCENE_NODE_TYPE

An enumeration for all types of built-in scene nodes.


A scene node type is represented by a four character code such as ’cube’ or ’mesh’ instead of simple
numbers, to avoid name clashes with external scene nodes.

Enumeration values:
ESNT_CUBE simple cube scene node
ESNT_SPHERE Sphere scene node.
ESNT_TEXT Text Scene Node.
ESNT_WATER_SURFACE Water Surface Scene Node.
ESNT_TERRAIN Terrain Scene Node.
ESNT_SKY_BOX Sky Box Scene Node.
ESNT_SHADOW_VOLUME Shadow Volume Scene Node.
ESNT_OCT_TREE OctTree Scene Node.
ESNT_MESH Mesh Scene Node.
ESNT_LIGHT Light Scene Node.
ESNT_EMPTY Empty Scene Node.
ESNT_DUMMY_TRANSFORMATION Dummy Transformation Scene Node.
ESNT_CAMERA Camera Scene Node.
ESNT_CAMERA_MAYA Maya Camera Scene Node.
ESNT_CAMERA_FPS First Person Shooter style Camera.
ESNT_BILLBOARD Billboard Scene Node.
ESNT_ANIMATED_MESH Animated Mesh Scene Node.
ESNT_PARTICLE_SYSTEM Particle System Scene Node.
ESNT_MD3_SCENE_NODE Quake3 Model Scene Node ( has tag to link to ).
ESNT_UNKNOWN Unknown scene node.

Definition at line 19 of file ESceneNodeTypes.h.

6.5.4 Variable Documentation

6.5.4.1 const c8∗ const irr::scene::AutomaticCullingNames[ ]

Initial value:

{
"false",
"box",
"frustum_box",
"frustum_sphere",
0
}

Names for culling type.


Definition at line 25 of file ECullingTypes.h.
Referenced by irr::scene::ISceneNode::serializeAttributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 87

6.5.4.2 const c8∗ const irr::scene::BoneAnimationModeNames[ ]

Initial value:

{
"automatic",
"animated",
"unanimated",
0,
}

Names for bone animation modes.


Definition at line 44 of file IBoneSceneNode.h.

6.5.4.3 const c8∗ const irr::scene::COLLADA_CREATE_SCENE_INSTANCES =


"COLLADA_CreateSceneInstances"

Name of the parameter specifying the COLLADA mesh loading mode.


Specifies if the COLLADA loader should create instances of the models, lights and cameras when loading
COLLADA meshes. By default, this is set to false. If this is set to true, the ISceneManager::getMesh()
method will only return a pointer to a dummy mesh and create instances of all meshes and lights and
cameras in the collada file by itself. Example:

SceneManager->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);

Definition at line 54 of file SceneParameters.h.

6.5.4.4 const c8∗ const irr::scene::CSM_TEXTURE_PATH = "CSM_TexturePath"

Name of the parameter for changing the texture path of the built-in csm loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::CSM_TEXTURE_PATH, "path/to/your/textures");

Definition at line 25 of file SceneParameters.h.

6.5.4.5 const c8∗ const irr::scene::DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"

Name of the parameter for setting reference value of alpha in transparent materials.
Use it like this:

//this way you’ll set alpha ref to 0.1


SceneManager->getParameters()->setAttribute(scene::DMF_ALPHA_CHANNEL_REF, 0.1);

Definition at line 84 of file SceneParameters.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


88 Irrlicht Engine Namespace Documentation

6.5.4.6 const c8∗ const irr::scene::DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"

Name of the parameter for choose to flip or not tga files.


Use it like this:

//this way you’ll choose to flip alpha textures


SceneManager->()->setAttribute(scene::DMF_FLIP_ALPHA_TEXTURES, true);

Definition at line 93 of file SceneParameters.h.

6.5.4.7 const c8∗ const irr::scene::DMF_TEXTURE_PATH = "DMF_TexturePath"

Name of the parameter for changing the texture path of the built-in DMF loader.
Use it like this:

SceneManager->getStringParameters()->setAttribute(scene::DMF_TEXTURE_PATH, "path/to/your/textures"

Definition at line 62 of file SceneParameters.h.

6.5.4.8 const c8∗ const irr::scene::DMF_USE_MATERIALS_DIRS = "DMF_MaterialsDir"

Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.
Use it like this:

//this way you won’t use this setting


SceneManager->getParameters()->setAttribute(scene::DMF_USE_MATERIALS_DIRS, false);

//this way you’ll use this setting


SceneManager->getParameters()->setAttribute(scene::DMF_USE_MATERIALS_DIRS, true);

Definition at line 75 of file SceneParameters.h.

6.5.4.9 const c8∗ const irr::scene::IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"

Flag set as parameter when the scene manager is used as editor.


In this way special animators like deletion animators can be stopped from deleting scene nodes for example
Definition at line 99 of file SceneParameters.h.

6.5.4.10 const c8∗ const irr::scene::LMTS_TEXTURE_PATH = "LMTS_TexturePath"

Name of the parameter for changing the texture path of the built-in lmts loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::LMTS_TEXTURE_PATH, "path/to/your/textures");

Definition at line 33 of file SceneParameters.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.5 irr::scene Namespace Reference 89

6.5.4.11 const c8∗ const irr::scene::MY3D_TEXTURE_PATH = "MY3D_TexturePath"

Name of the parameter for changing the texture path of the built-in my3d loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::MY3D_TEXTURE_PATH, "path/to/your/textures");

Definition at line 41 of file SceneParameters.h.

6.5.4.12 const c8∗ const irr::scene::ParticleAffectorTypeNames[ ]

Initial value:

{
"None",
"Attract",
"FadeOut",
"Gravity",
"Rotate",
0
}

Names for built in particle affectors.


Definition at line 28 of file IParticleAffector.h.

6.5.4.13 const c8∗ const irr::scene::ParticleEmitterTypeNames[ ]

Initial value:

{
"Point",
"AnimatedMesh",
"Box",
"Cylinder",
"Mesh",
"Ring",
"Sphere",
0
}

Names for built in particle emitters.


Definition at line 30 of file IParticleEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


90 Irrlicht Engine Namespace Documentation

6.6 irr::scene::quake3 Namespace Reference

Classes
• class IShaderManager
Manages various Quake3 Shader Styles.

• struct SBlendFunc
A blend function for a q3 shader.

• struct SModifierFunction
• class SShader
A Parsed Shader Holding Variables ordered in Groups.

• struct SVarGroup
• struct SVarGroupList
• struct SVariable

Typedefs
• typedef SShader SEntity
• typedef core::array< SEntity > tQ3EntityList
• typedef core::array< core::stringc > tStringList
• typedef core::array< video::ITexture ∗ > tTexArray

Enumerations
• enum eQ3MeshIndex { E_Q3_MESH_GEOMETRY = 0, E_Q3_MESH_ITEMS, E_Q3_MESH_-
BILLBOARD, E_Q3_MESH_SIZE }
Hold the different Mesh Types used for getMesh.

Functions
• core::stringc & dumpShader (core::stringc &dest, const SShader ∗shader)
• void dumpVarGroup (core::stringc &dest, const SVarGroup ∗group, s32 stack)
• f32 getAsFloat (const core::stringc &string, u32 &pos)
• void getAsStringList (tStringList &list, s32 max, const core::stringc &string, u32 &startPos)
• core::vector3df getAsVector3df (const core::stringc &string, u32 &pos)
• bool getBackfaceCulling (const core::stringc &string)
• u32 getDepthFunction (const core::stringc &string)
• void getModifierFunc (SModifierFunction &fill, const core::stringc &string, u32 &pos)
• void getTextures (tTexArray &textures, const core::stringc &name, u32 &startPos, io::IFileSystem
∗fileSystem, video::IVideoDriver ∗driver)
• s32 isEqual (const core::stringc &string, u32 &pos, const c8 ∗list[ ], u32 listSize)

Variables
• const video::E_MATERIAL_TYPE defaultLightMap = video::EMT_LIGHTMAP_M2
• const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_2X

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.6 irr::scene::quake3 Namespace Reference 91

6.6.1 Typedef Documentation

6.6.1.1 typedef SShader irr::scene::quake3::SEntity

Definition at line 478 of file IQ3Shader.h.

6.6.1.2 typedef core::array< SEntity > irr::scene::quake3::tQ3EntityList

Definition at line 480 of file IQ3Shader.h.

6.6.1.3 typedef core::array< core::stringc > irr::scene::quake3::tStringList

Definition at line 38 of file IQ3Shader.h.

6.6.1.4 typedef core::array< video::ITexture∗ > irr::scene::quake3::tTexArray

Definition at line 39 of file IQ3Shader.h.

6.6.2 Enumeration Type Documentation

6.6.2.1 enum irr::scene::quake3::eQ3MeshIndex

Hold the different Mesh Types used for getMesh.

Enumeration values:
E_Q3_MESH_GEOMETRY
E_Q3_MESH_ITEMS
E_Q3_MESH_BILLBOARD
E_Q3_MESH_SIZE

Definition at line 24 of file IQ3Shader.h.

6.6.3 Function Documentation

6.6.3.1 core::stringc& dumpShader (core::stringc & dest, const SShader ∗ shader) [inline]

Definition at line 527 of file IQ3Shader.h.


References dumpVarGroup(), and irr::core::string< T, TAlloc >::size().

6.6.3.2 void dumpVarGroup (core::stringc & dest, const SVarGroup ∗ group, s32 stack)
[inline]

Definition at line 486 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::append().
Referenced by dumpShader().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


92 Irrlicht Engine Namespace Documentation

6.6.3.3 f32 getAsFloat (const core::stringc & string, u32 & pos) [inline]

Definition at line 87 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::c_str(), and irr::core::fast_atof_move().
Referenced by getAsVector3df(), and getModifierFunc().

6.6.3.4 void getAsStringList (tStringList & list, s32 max, const core::stringc & string, u32 &
startPos) [inline]

Definition at line 110 of file IQ3Shader.h.


Referenced by getTextures().

6.6.3.5 core::vector3df getAsVector3df (const core::stringc & string, u32 & pos) [inline]

Definition at line 96 of file IQ3Shader.h.


References getAsFloat(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and
irr::core::vector3d< T >::Z.

6.6.3.6 bool getBackfaceCulling (const core::stringc & string) [inline]

Definition at line 145 of file IQ3Shader.h.


References isEqual().

6.6.3.7 u32 getDepthFunction (const core::stringc & string) [inline]

Definition at line 166 of file IQ3Shader.h.


References isEqual().

6.6.3.8 void getModifierFunc (SModifierFunction & fill, const core::stringc & string, u32 & pos)
[inline]

Definition at line 376 of file IQ3Shader.h.


References getAsFloat(), and isEqual().

6.6.3.9 void getTextures (tTexArray & textures, const core::stringc & name, u32 & startPos,
io::IFileSystem ∗ fileSystem, video::IVideoDriver ∗ driver) [inline]

Definition at line 559 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::c_str(), irr::core::cutFilenameExtension(), getAsStringList(),
and irr::core::array< T, TAlloc >::size().

6.6.3.10 s32 isEqual (const core::stringc & string, u32 & pos, const c8 ∗ list[ ], u32 listSize)
[inline]

Definition at line 65 of file IQ3Shader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.6 irr::scene::quake3 Namespace Reference 93

References irr::core::string< T, TAlloc >::c_str().


Referenced by getBackfaceCulling(), getDepthFunction(), and getModifierFunc().

6.6.4 Variable Documentation

6.6.4.1 const video::E_MATERIAL_TYPE irr::scene::quake3::defaultLightMap =


video::EMT_LIGHTMAP_M2

Definition at line 34 of file IQ3Shader.h.

6.6.4.2 const video::E_MODULATE_FUNC irr::scene::quake3::defaultModulate =


video::EMFN_MODULATE_2X

Definition at line 35 of file IQ3Shader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


94 Irrlicht Engine Namespace Documentation

6.7 irr::video Namespace Reference


The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.

Classes
• class IGPUProgrammingServices
Interface making it possible to create and use programs running on the GPU.

• class IImage
Interface for software image data.

• class IImageLoader
Class which is able to create a image from a file.

• class IImageWriter
Interface for writing software image data.

• class IMaterialRenderer
Interface for material rendering.

• class IMaterialRendererServices
Interface providing some methods for changing advanced, internal states of a IVideoDriver.

• class IShaderConstantSetCallBack
Interface making it possible to set constants for gpu programs every frame.

• class ITexture
Interface of a Video Driver dependent Texture.

• class IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.

• class IVideoModeList
A list of all available video modes.

• struct S3DVertex
standard vertex used by the Irrlicht engine.

• struct S3DVertex2TCoords
Vertex with two texture coordinates.

• struct S3DVertexTangents
Vertex with a tangent and binormal vector.

• class SColor
Class representing a 32 bit ARGB color.

• class SColorf

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 95

Class representing a color with four floats.

• class SColorHSL
Class representing a color in HSV format.

• struct SExposedVideoData
structure for holding data describing a driver and operating system specific data.

• struct SLight
structure for holding data describing a dynamic point light.

• class SMaterial
Struct for holding parameters for a material renderer.

• class SMaterialLayer
Struct for holding material parameters which exist per texture layer.

Enumerations

• enum E_BLEND_FACTOR {
EBF_ZERO = 0, EBF_ONE, EBF_DST_COLOR, EBF_ONE_MINUS_DST_COLOR,
EBF_SRC_COLOR, EBF_ONE_MINUS_SRC_COLOR, EBF_SRC_ALPHA, EBF_ONE_-
MINUS_SRC_ALPHA,
EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_SRC_ALPHA_SATURATE }
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗ dest-
Factor.

• enum E_DRIVER_TYPE {
EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8,
EDT_DIRECT3D9, EDT_OPENGL }
An enum for all types of drivers the Irrlicht Engine supports.

• enum E_LIGHT_TYPE { ELT_POINT, ELT_SPOT, ELT_DIRECTIONAL }


Enumeration for different types of lights.

• enum E_MATERIAL_FLAG {
EMF_WIREFRAME = 0, EMF_POINTCLOUD, EMF_GOURAUD_SHADING, EMF_-
LIGHTING,
EMF_ZBUFFER, EMF_ZWRITE_ENABLE, EMF_BACK_FACE_CULLING, EMF_-
BILINEAR_FILTER,
EMF_TRILINEAR_FILTER, EMF_ANISOTROPIC_FILTER, EMF_FOG_ENABLE, EMF_-
NORMALIZE_NORMALS,
EMF_TEXTURE_WRAP, EMF_MATERIAL_FLAG_COUNT }
Material flags.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


96 Irrlicht Engine Namespace Documentation

• enum E_MATERIAL_TYPE {
EMT_SOLID = 0, EMT_SOLID_2_LAYER, EMT_LIGHTMAP, EMT_LIGHTMAP_ADD,
EMT_LIGHTMAP_M2, EMT_LIGHTMAP_M4, EMT_LIGHTMAP_LIGHTING, EMT_-
LIGHTMAP_LIGHTING_M2,
EMT_LIGHTMAP_LIGHTING_M4, EMT_DETAIL_MAP, EMT_SPHERE_MAP, EMT_-
REFLECTION_2_LAYER,
EMT_TRANSPARENT_ADD_COLOR, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_-
TRANSPARENT_ALPHA_CHANNEL_REF, EMT_TRANSPARENT_VERTEX_ALPHA,
EMT_TRANSPARENT_REFLECTION_2_LAYER, EMT_NORMAL_MAP_SOLID, EMT_-
NORMAL_MAP_TRANSPARENT_ADD_COLOR, EMT_NORMAL_MAP_TRANSPARENT_-
VERTEX_ALPHA,
EMT_PARALLAX_MAP_SOLID, EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR,
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_ONETEXTURE_-
BLEND,
EMT_FORCE_32BIT = 0x7fffffff }
Abstracted and easy to use fixed function/programmable pipeline material modes.

• enum E_MODULATE_FUNC { EMFN_MODULATE_1X = 1, EMFN_MODULATE_2X = 2,


EMFN_MODULATE_4X = 4 }
MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_-
MODULATE4X.

• enum E_PIXEL_SHADER_TYPE {
EPST_PS_1_1 = 0, EPST_PS_1_2, EPST_PS_1_3, EPST_PS_1_4,
EPST_PS_2_0, EPST_PS_2_a, EPST_PS_2_b, EPST_PS_3_0,
EPST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.

• enum E_TEXTURE_CLAMP {
ETC_REPEAT = 0, ETC_CLAMP, ETC_CLAMP_TO_EDGE, ETC_CLAMP_TO_BORDER,
ETC_MIRROR }
Texture coord clamp mode outside [0.0, 1.0].

• enum E_TEXTURE_CREATION_FLAG {
ETCF_ALWAYS_16_BIT = 0x00000001, ETCF_ALWAYS_32_BIT = 0x00000002, ETCF_-
OPTIMIZED_FOR_QUALITY = 0x00000004, ETCF_OPTIMIZED_FOR_SPEED = 0x00000008,
ETCF_CREATE_MIP_MAPS = 0x00000010, ETCF_NO_ALPHA_CHANNEL = 0x00000020,
ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff }
• enum E_TRANSFORMATION_STATE {
ETS_VIEW = 0, ETS_WORLD, ETS_PROJECTION, ETS_TEXTURE_0,
ETS_TEXTURE_1, ETS_TEXTURE_2, ETS_TEXTURE_3, ETS_COUNT }
enumeration for geometry transformation states

• enum E_VERTEX_SHADER_TYPE {
EVST_VS_1_1 = 0, EVST_VS_2_0, EVST_VS_2_a, EVST_VS_3_0,
EVST_COUNT }

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 97

Compile target enumeration for the addHighLevelShaderMaterial() method.

• enum E_VERTEX_TYPE { EVT_STANDARD = 0, EVT_2TCOORDS, EVT_TANGENTS }


Enumeration for all vertex types there are.

• enum E_VIDEO_DRIVER_FEATURE {
EVDF_RENDER_TO_TARGET = 0, EVDF_HARDWARE_TL, EVDF_MULTITEXTURE,
EVDF_BILINEAR_FILTER,
EVDF_MIP_MAP, EVDF_MIP_MAP_AUTO_UPDATE, EVDF_STENCIL_BUFFER, EVDF_-
VERTEX_SHADER_1_1,
EVDF_VERTEX_SHADER_2_0, EVDF_VERTEX_SHADER_3_0, EVDF_PIXEL_SHADER_-
1_1, EVDF_PIXEL_SHADER_1_2,
EVDF_PIXEL_SHADER_1_3, EVDF_PIXEL_SHADER_1_4, EVDF_PIXEL_SHADER_2_0,
EVDF_PIXEL_SHADER_3_0,
EVDF_ARB_VERTEX_PROGRAM_1, EVDF_ARB_FRAGMENT_PROGRAM_1, EVDF_-
ARB_GLSL, EVDF_HLSL,
EVDF_TEXTURE_NPOT, EVDF_FRAMEBUFFER_OBJECT }
enumeration for querying features of the video driver.

• enum ECOLOR_FORMAT { ECF_A1R5G5B5 = 0, ECF_R5G6B5, ECF_R8G8B8, ECF_-


A8R8G8B8 }
An enum for the color format of textures used by the Irrlicht Engine.

Functions
• u32 A1R5G5B5toA8R8G8B8 (u16 color)
Convert A8R8G8B8 Color from A1R5G5B5 color.

• u16 A1R5G5B5toR5G6B5 (u16 color)


Returns R5G6B5 Color from A1R5G5B5 color.

• u16 A8R8G8B8toA1R5G5B5 (u32 color)


Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.

• u16 A8R8G8B8toR5G6B5 (u32 color)


Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.

• u32 getAlpha (u16 color)


Returns the alpha component from A1R5G5B5 color.

• s32 getAverage (s16 color)


Returns the average from a 16 bit A1R5G5B5 color.

• u32 getBlue (u16 color)


Returns the blue component from A1R5G5B5 color.

• s32 getBlueSigned (u16 color)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


98 Irrlicht Engine Namespace Documentation

Returns the blue component from A1R5G5B5 color.

• u32 getGreen (u16 color)


Returns the green component from A1R5G5B5 color.

• s32 getGreenSigned (u16 color)


Returns the green component from A1R5G5B5 color.

• u32 getRed (u16 color)


Returns the red component from A1R5G5B5 color.

• s32 getRedSigned (u16 color)


Returns the red component from A1R5G5B5 color.

• E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags)


• u32 getVertexPitchFromType (E_VERTEX_TYPE vertexType)
• f32 pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dst-
Fact, const E_MODULATE_FUNC modulate)
EMT_ONETEXTURE_BLEND: pack srcFact & dstFact and Modulo to MaterialTypeParam.

• u16 R5G6B5toA1R5G5B5 (u16 color)


Returns A1R5G5B5 Color from R5G6B5 color.

• u32 R5G6B5toA8R8G8B8 (u16 color)


Returns A8R8G8B8 Color from R5G6B5 color.

• u16 RGB16 (u32 r, u32 g, u32 b)


Creates a 16 bit A1R5G5B5 color.

• u16 RGB16from16 (u16 r, u16 g, u16 b)


Creates a 16bit A1R5G5B5 color, based on 16bit input values.

• u16 RGBA16 (u32 r, u32 g, u32 b, u32 a=0xFF)


Creates a 16 bit A1R5G5B5 color.

• void unpack_texureBlendFunc (E_BLEND_FACTOR &srcFact, E_BLEND_FACTOR &dstFact,


E_MODULATE_FUNC &modulo, const f32 param)
EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.

• u16 X8R8G8B8toA1R5G5B5 (u32 color)


Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.

Variables
• const c8 ∗const LightTypeNames [ ]
Names for light types.

• const u32 MATERIAL_MAX_TEXTURES = 4


Maximum number of texture an SMaterial can have.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 99

• const c8 ∗const PIXEL_SHADER_TYPE_NAMES [ ]


Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.

• const char ∗const sBuiltInMaterialTypeNames [ ]


Array holding the built in material type names.

• const char ∗const sBuiltInVertexTypeNames [ ]


Array holding the built in vertex type names.

• const c8 ∗const VERTEX_SHADER_TYPE_NAMES [ ]


Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.

6.7.1 Detailed Description

The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.

6.7.2 Enumeration Type Documentation

6.7.2.1 enum irr::video::E_BLEND_FACTOR

Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗


destFactor.

Enumeration values:
EBF_ZERO src & dest (0, 0, 0, 0)
EBF_ONE src & dest (1, 1, 1, 1)
EBF_DST_COLOR src (destR, destG, destB, destA)
EBF_ONE_MINUS_DST_COLOR src (1-destR, 1-destG, 1-destB, 1-destA)
EBF_SRC_COLOR dest (srcR, srcG, srcB, srcA)
EBF_ONE_MINUS_SRC_COLOR dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)
EBF_SRC_ALPHA src & dest (srcA, srcA, srcA, srcA)
EBF_ONE_MINUS_SRC_ALPHA src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
EBF_DST_ALPHA src & dest (destA, destA, destA, destA)
EBF_ONE_MINUS_DST_ALPHA src & dest (1-destA, 1-destA, 1-destA, 1-destA)
EBF_SRC_ALPHA_SATURATE src (min(srcA, 1-destA), idem, ...)

Definition at line 22 of file SMaterial.h.

6.7.2.2 enum irr::video::E_DRIVER_TYPE

An enum for all types of drivers the Irrlicht Engine supports.

Enumeration values:
EDT_NULL Null driver, useful for applications to run the engine without visualisation. The null
device is able to load textures, but does not render and display any graphics.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


100 Irrlicht Engine Namespace Documentation

EDT_SOFTWARE The Irrlicht Engine Software renderer, runs on all platforms, with every hard-
ware. It should only be used for 2d graphics, but it can also perform some primitive 3d functions.
These 3d drawing functions are quite fast, but very inaccurate, and don’t even support clipping
in 3D mode.
EDT_BURNINGSVIDEO The Burning’s Software Renderer, an alternative software renderer for
Irrlicht. Basically it can be described as the Irrlicht Software renderer on steroids. It rasterizes 3D
geometry perfectly: It is able to perform correct 3d clipping, perspective correct texture mapping,
perspective correct color mapping, and renders sub pixel correct, sub texel correct primitives. In
addition, it does bilinear texel filtering and supports more materials than the EDT_SOFTWARE
driver. This renderer has been written entirely by Thomas Alten, thanks a lot for this huge
contribution.
EDT_DIRECT3D8 Direct3D8 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_DIRECT3D9 Direct3D 9 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_OPENGL OpenGL device, available on most platforms. Performs hardware accelerated ren-
dering of 3D and 2D primitives.

Definition at line 14 of file EDriverTypes.h.

6.7.2.3 enum irr::video::E_LIGHT_TYPE

Enumeration for different types of lights.

Enumeration values:
ELT_POINT point light, it has a position in space and radiates light in all directions
ELT_SPOT spot light, it has a position in space, a direction, and a limited cone of influence
ELT_DIRECTIONAL directional light, coming from a direction from an infinite distance

Definition at line 16 of file SLight.h.

6.7.2.4 enum irr::video::E_MATERIAL_FLAG

Material flags.

Enumeration values:
EMF_WIREFRAME Draw as wireframe or filled triangles? Default: false.
EMF_POINTCLOUD Draw as point cloud or filled triangles? Default: false.
EMF_GOURAUD_SHADING Flat or Gouraud shading? Default: true.
EMF_LIGHTING Will this material be lighted? Default: true.
EMF_ZBUFFER Is the ZBuffer enabled? Default: true.
EMF_ZWRITE_ENABLE May be written to the zbuffer or is it readonly. Default: true This flag is
ignored, if the material type is a transparent type.
EMF_BACK_FACE_CULLING Is backfaceculling enabled? Default: true.
EMF_BILINEAR_FILTER Is bilinear filtering enabled? Default: true.
EMF_TRILINEAR_FILTER Is trilinear filtering enabled? Default: false If the trilinear filter flag
is enabled, the bilinear filtering flag is ignored.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 101

EMF_ANISOTROPIC_FILTER Is anisotropic filtering? Default: false In Irrlicht you can use


anisotropic texture filtering in conjunction with bilinear or trilinear texture filtering to improve
rendering results. Primitives will look less blurry with this flag switched on.
EMF_FOG_ENABLE Is fog enabled? Default: false.
EMF_NORMALIZE_NORMALS Normalizes normals.You can enable this if you need to scale a
dynamic lighted model. Usually, its normals will get scaled too then and it will get darker. If you
enable the EMF_NORMALIZE_NORMALS flag, the normals will be normalized again, and the
model will look as bright as it should.
EMF_TEXTURE_WRAP Access to all layers texture wrap settings. Overwrites separate layer set-
tings.
EMF_MATERIAL_FLAG_COUNT This is not a flag, but a value indicating how much flags there
are.

Definition at line 14 of file EMaterialFlags.h.

6.7.2.5 enum irr::video::E_MATERIAL_TYPE

Abstracted and easy to use fixed function/programmable pipeline material modes.

Enumeration values:
EMT_SOLID Standard solid material. Only first texture is used, which is supposed to be the diffuse
material.
EMT_SOLID_2_LAYER Solid material with 2 texture layers. The second is blended onto the first
using the alpha value of the vertex colors. This material is currently not implemented in OpenGL.

EMT_LIGHTMAP Material type with standard lightmap technique: There should be 2 textures:
The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
EMT_LIGHTMAP_ADD Material type with lightmap technique like EMT_LIGHTMAP. But
lightmap and diffuse texture are added instead of modulated.
EMT_LIGHTMAP_M2 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplied by 2 for brightening. Like known in DirectX as
D3DTOP_MODULATE2X.
EMT_LIGHTMAP_M4 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplyied by 4 for brightening. Like known in DirectX as
D3DTOP_MODULATE4X.
EMT_LIGHTMAP_LIGHTING Like EMT_LIGHTMAP, but also supports dynamic lighting.
EMT_LIGHTMAP_LIGHTING_M2 Like EMT_LIGHTMAP_M2, but also supports dynamic
lighting.
EMT_LIGHTMAP_LIGHTING_M4 Like EMT_LIGHTMAP_4, but also supports dynamic light-
ing.
EMT_DETAIL_MAP Detail mapped material. The first texture is diffuse color map, the second is
added to this and usually displayed with a bigger scale value so that it adds more detail. The
detail map is added to the diffuse map using ADD_SIGNED, so that it is possible to add and
substract color from the diffuse map. For example a value of (127,127,127) will not change the
appearance of the diffuse map at all. Often used for terrain rendering.
EMT_SPHERE_MAP Makes the material look like it was reflection the environment around it. To
make this possible, a texture called ’sphere map’ is used, which must be set as the first texture.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


102 Irrlicht Engine Namespace Documentation

EMT_REFLECTION_2_LAYER A reflecting material with an optional additional non reflecting


texture layer. The reflection map should be set as first texture.
EMT_TRANSPARENT_ADD_COLOR A transparent material. Only the first texture is used. The
new color is calculated by simply adding the source color and the dest color. This means if for
example a billboard using a texture with black background and a red circle on it is drawn with this
material, the result is that only the red circle will be drawn a little bit transparent, and everything
which was black is 100% transparent and not visible. This material type is useful for particle
effects.
EMT_TRANSPARENT_ALPHA_CHANNEL Makes the material transparent based on the texture
alpha channel. The final color is blended together from the destination color and the texture color,
using the alpha channel value as blend factor. Only first texture is used. If you are using this
material with small textures, it is a good idea to load the texture in 32 bit mode (video::IVideo-
Driver::setTextureCreationFlag()). Also, an alpha ref is used, which can be manipulated using
SMaterial::MaterialTypeParam. If set to 0, the alpha ref gets its default value which is 0.5f and
means that pixels with an alpha value >127 will be written, others not. In other, simple words:
this value controls how sharp the edges become when going from a transparent to a solid spot on
the texture.
EMT_TRANSPARENT_ALPHA_CHANNEL_REF Makes the material transparent based on the
texture alpha channel. If the alpha channel value is greater than 127, a pixel is written to the
target, otherwise not. This material does not use alpha blending and is a lot faster than EMT_-
TRANSPARENT_ALPHA_CHANNEL. It is ideal for drawing stuff like leafes of plants, because
the borders are not blurry but sharp. Only first texture is used. If you are using this material with
small textures and 3d object, it is a good idea to load the texture in 32 bit mode (video::IVideo-
Driver::setTextureCreationFlag()).
EMT_TRANSPARENT_VERTEX_ALPHA Makes the material transparent based on the vertex al-
pha value.
EMT_TRANSPARENT_REFLECTION_2_LAYER A transparent reflecting material with an op-
tional additional non reflecting texture layer. The reflection map should be set as first texture.
The transparency depends on the alpha value in the vertex colors. A texture which will not
reflect can be set as second texture. Please note that this material type is currently not 100%
implemented in OpenGL.
EMT_NORMAL_MAP_SOLID A solid normal map renderer. First texture is the color map, the
second should be the normal map. Note that you should use this material only when drawing ge-
ometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert
any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2
Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls
back to a fixed function lighted material if this hardware is not available. Only two lights are
supported by this shader, if there are more, the nearest two are chosen.
EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR A transparent normal map renderer.
First texture is the color map, the second should be the normal map. Note that you should use this
material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_-
TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMesh-
WithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel
shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is
not available. Only two lights are supported by this shader, if there are more, the nearest two are
chosen.
EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA A transparent (based on the vertex
alpha value) normal map renderer. First texture is the color map, the second should be the normal
map. Note that you should use this material only when drawing geometry consisting of vertices of
type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using
IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 103

vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted
material if this hardware is not available. Only two lights are supported by this shader, if there
are more, the nearest two are chosen.
EMT_PARALLAX_MAP_SOLID Just like EMT_NORMAL_MAP_SOLID, but uses parallax map-
ping too, which looks a lot more realistic. This only works when the hardware supports at least
vertex shader 1.1 and pixel shader 1.4. First texture is the color map, the second should be
the normal map. The normal map texture should contain the height value in the alpha com-
ponent. The IVideoDriver::makeNormalMapTexture() method writes this value automatically
when creating normal maps from a heightmap when using a 32 bit texture. The height scale of
the material (affecting the bumpiness) is being controlled by the SMaterial::MaterialTypeParam
member. If set to zero, the default value (0.02f) will be applied. Otherwise the value set in
SMaterial::MaterialTypeParam is taken. This value depends on with which scale the texture is
mapped on the material. Too high or low values of MaterialTypeParam can result in strange
artifacts.
EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_ADD_COLOR
as base material.
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_VERTEX_-
ALPHA as base material.
EMT_ONETEXTURE_BLEND BlendFunc = source ∗ sourceFactor + dest ∗ destFactor ( E_-
BLEND_FUNC ) Using only first texture. Generic blending method.
EMT_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file EMaterialTypes.h.

6.7.2.6 enum irr::video::E_MODULATE_FUNC

MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_-


MODULATE4X.

Enumeration values:
EMFN_MODULATE_1X
EMFN_MODULATE_2X
EMFN_MODULATE_4X

Definition at line 38 of file SMaterial.h.

6.7.2.7 enum irr::video::E_PIXEL_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumeration values:
EPST_PS_1_1
EPST_PS_1_2
EPST_PS_1_3
EPST_PS_1_4
EPST_PS_2_0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


104 Irrlicht Engine Namespace Documentation

EPST_PS_2_a
EPST_PS_2_b
EPST_PS_3_0
EPST_COUNT This is not a type, but a value indicating how much types there are.

Definition at line 46 of file IGPUProgrammingServices.h.

6.7.2.8 enum irr::video::E_TEXTURE_CLAMP

Texture coord clamp mode outside [0.0, 1.0].

Enumeration values:
ETC_REPEAT Texture repeats.
ETC_CLAMP Texture is clamped to the last pixel.
ETC_CLAMP_TO_EDGE Texture is clamped to the edge pixel.
ETC_CLAMP_TO_BORDER Texture is clamped to the border pixel (if exists).
ETC_MIRROR Texture is alternatingly mirrored (0..1..0..1..0..).

Definition at line 17 of file SMaterialLayer.h.

6.7.2.9 enum irr::video::E_TEXTURE_CREATION_FLAG

Enumeration flags telling the video driver in which format textures should be created.

Enumeration values:
ETCF_ALWAYS_16_BIT Forces the driver to create 16 bit textures always, independent of which
format the file on disk has. When choosing this you may loose some color detail, but gain
much speed and memory. 16 bit textures can be transferred twice as fast as 32 bit textures
and only use half of the space in memory. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED at the same time.
ETCF_ALWAYS_32_BIT Forces the driver to create 32 bit textures always, independent of which
format the file on disk has. Please note that some drivers (like the software device) will ignore
this, because they are only able to create and use 16 bit textures. When using this flag, it does not
make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
or ETCF_OPTIMIZED_FOR_SPEED at the same time.
ETCF_OPTIMIZED_FOR_QUALITY Lets the driver decide in which format the textures are cre-
ated and tries to make the textures look as good as possible. Usually it simply chooses the format
in which the texture was stored on disk. When using this flag, it does not make sense to use
the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_FOR_-
SPEED at the same time.
ETCF_OPTIMIZED_FOR_SPEED Lets the driver decide in which format the textures are created
and tries to create them maximizing render speed. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_-
FOR_QUALITY, at the same time.
ETCF_CREATE_MIP_MAPS Automatically creates mip map levels for the textures.
ETCF_NO_ALPHA_CHANNEL Discard any alpha layer and use non-alpha color format.
ETCF_FORCE_32_BIT_DO_NOT_USE This flag is never used, it only forces the compiler to
compile these enumeration values to 32 bit.

Definition at line 23 of file ITexture.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 105

6.7.2.10 enum irr::video::E_TRANSFORMATION_STATE

enumeration for geometry transformation states

Enumeration values:
ETS_VIEW View transformation.
ETS_WORLD World transformation.
ETS_PROJECTION Projection transformation.
ETS_TEXTURE_0 Texture transformation.
ETS_TEXTURE_1 Texture transformation.
ETS_TEXTURE_2 Texture transformation.
ETS_TEXTURE_3 Texture transformation.
ETS_COUNT Not used.

Definition at line 47 of file IVideoDriver.h.

6.7.2.11 enum irr::video::E_VERTEX_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumeration values:
EVST_VS_1_1
EVST_VS_2_0
EVST_VS_2_a
EVST_VS_3_0
EVST_COUNT This is not a type, but a value indicating how much types there are.

Definition at line 26 of file IGPUProgrammingServices.h.

6.7.2.12 enum irr::video::E_VERTEX_TYPE

Enumeration for all vertex types there are.

Enumeration values:
EVT_STANDARD Standard vertex type used by the Irrlicht engine, video::S3DVertex.
EVT_2TCOORDS Vertex with two texture coordinates, video::S3DVertex2TCoords.
Usually used for geometry with lightmaps or other special materials.
EVT_TANGENTS Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Usually used for tangent space normal mapping.

Definition at line 18 of file S3DVertex.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


106 Irrlicht Engine Namespace Documentation

6.7.2.13 enum irr::video::E_VIDEO_DRIVER_FEATURE

enumeration for querying features of the video driver.

Enumeration values:
EVDF_RENDER_TO_TARGET Is driver able to render to a surface?
EVDF_HARDWARE_TL Is hardeware transform and lighting supported?
EVDF_MULTITEXTURE Are multiple textures per material possible?
EVDF_BILINEAR_FILTER Is driver able to render with a bilinear filter applied?
EVDF_MIP_MAP Can the driver handle mip maps?
EVDF_MIP_MAP_AUTO_UPDATE Can the driver update mip maps automatically?
EVDF_STENCIL_BUFFER Are stencilbuffers switched on and does the device support stencil
buffers?
EVDF_VERTEX_SHADER_1_1 Is Vertex Shader 1.1 supported?
EVDF_VERTEX_SHADER_2_0 Is Vertex Shader 2.0 supported?
EVDF_VERTEX_SHADER_3_0 Is Vertex Shader 3.0 supported?
EVDF_PIXEL_SHADER_1_1 Is Pixel Shader 1.1 supported?
EVDF_PIXEL_SHADER_1_2 Is Pixel Shader 1.2 supported?
EVDF_PIXEL_SHADER_1_3 Is Pixel Shader 1.3 supported?
EVDF_PIXEL_SHADER_1_4 Is Pixel Shader 1.4 supported?
EVDF_PIXEL_SHADER_2_0 Is Pixel Shader 2.0 supported?
EVDF_PIXEL_SHADER_3_0 Is Pixel Shader 3.0 supported?
EVDF_ARB_VERTEX_PROGRAM_1 Are ARB vertex programs v1.0 supported?
EVDF_ARB_FRAGMENT_PROGRAM_1 Are ARB fragment programs v1.0 supported?
EVDF_ARB_GLSL Is GLSL supported?
EVDF_HLSL Is HLSL supported?
EVDF_TEXTURE_NPOT Are non-power-of-two textures supported?
EVDF_FRAMEBUFFER_OBJECT Are framebuffer objects supported?

Definition at line 14 of file EDriverFeatures.h.

6.7.2.14 enum irr::video::ECOLOR_FORMAT

An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.

Enumeration values:
ECF_A1R5G5B5 16 bit color format used by the software driver.
It is thus preferred by all other irrlicht engine video drivers. There are 5 bits for every color
component, and a single bit is left for alpha information.
ECF_R5G6B5 Standard 16 bit color format.
ECF_R8G8B8 24 bit color, no alpha channel, but 8 bit for red, green and blue.
ECF_A8R8G8B8 Default 32 bit color format. 8 bits are used for every component: red, green, blue
and alpha.

Definition at line 19 of file IImage.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 107

6.7.3 Function Documentation

6.7.3.1 u32 A1R5G5B5toA8R8G8B8 (u16 color) [inline]

Convert A8R8G8B8 Color from A1R5G5B5 color.


build a nicer 32bit Color by extending dest lower bits with source high bits.
Definition at line 73 of file SColor.h.

6.7.3.2 u16 A1R5G5B5toR5G6B5 (u16 color) [inline]

Returns R5G6B5 Color from A1R5G5B5 color.


Definition at line 101 of file SColor.h.

6.7.3.3 u16 A8R8G8B8toA1R5G5B5 (u32 color) [inline]

Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.


Definition at line 53 of file SColor.h.
Referenced by irr::video::SColor::toA1R5G5B5().

6.7.3.4 u16 A8R8G8B8toR5G6B5 (u32 color) [inline]

Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.


Definition at line 63 of file SColor.h.

6.7.3.5 u32 getAlpha (u16 color) [inline]

Returns the alpha component from A1R5G5B5 color.


Definition at line 109 of file SColor.h.

6.7.3.6 s32 getAverage (s16 color) [inline]

Returns the average from a 16 bit A1R5G5B5 color.


Definition at line 162 of file SColor.h.
References getBlue(), getGreen(), and getRed().

6.7.3.7 u32 getBlue (u16 color) [inline]

Returns the blue component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 133 of file SColor.h.
Referenced by getAverage().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


108 Irrlicht Engine Namespace Documentation

6.7.3.8 s32 getBlueSigned (u16 color) [inline]

Returns the blue component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 156 of file SColor.h.

6.7.3.9 u32 getGreen (u16 color) [inline]

Returns the green component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 125 of file SColor.h.
Referenced by getAverage().

6.7.3.10 s32 getGreenSigned (u16 color) [inline]

Returns the green component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 148 of file SColor.h.

6.7.3.11 u32 getRed (u16 color) [inline]

Returns the red component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 117 of file SColor.h.
Referenced by getAverage().

6.7.3.12 s32 getRedSigned (u16 color) [inline]

Returns the red component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 140 of file SColor.h.

6.7.3.13 E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags) [inline]

Helper function, helps to get the desired texture creation format from the flags. Returns either
ETCF_ALWAYS_32_BIT, ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED.
Definition at line 74 of file ITexture.h.
References ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
and ETCF_OPTIMIZED_FOR_SPEED.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 109

6.7.3.14 u32 getVertexPitchFromType (E_VERTEX_TYPE vertexType) [inline]

Definition at line 226 of file S3DVertex.h.

6.7.3.15 f32 pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const


E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate) [inline]

EMT_ONETEXTURE_BLEND: pack srcFact & dstFact and Modulo to MaterialTypeParam.


Definition at line 46 of file SMaterial.h.

6.7.3.16 u16 R5G6B5toA1R5G5B5 (u16 color) [inline]

Returns A1R5G5B5 Color from R5G6B5 color.


Definition at line 94 of file SColor.h.

6.7.3.17 u32 R5G6B5toA8R8G8B8 (u16 color) [inline]

Returns A8R8G8B8 Color from R5G6B5 color.


Definition at line 84 of file SColor.h.

6.7.3.18 u16 RGB16 (u32 r, u32 g, u32 b) [inline]

Creates a 16 bit A1R5G5B5 color.


Definition at line 26 of file SColor.h.
References RGBA16().

6.7.3.19 u16 RGB16from16 (u16 r, u16 g, u16 b) [inline]

Creates a 16bit A1R5G5B5 color, based on 16bit input values.


Definition at line 33 of file SColor.h.

6.7.3.20 u16 RGBA16 (u32 r, u32 g, u32 b, u32 a = 0xFF) [inline]

Creates a 16 bit A1R5G5B5 color.


Definition at line 16 of file SColor.h.
Referenced by RGB16().

6.7.3.21 void unpack_texureBlendFunc (E_BLEND_FACTOR & srcFact, E_BLEND_FACTOR &


dstFact, E_MODULATE_FUNC & modulo, const f32 param) [inline]

EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.


Definition at line 52 of file SMaterial.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


110 Irrlicht Engine Namespace Documentation

6.7.3.22 u16 X8R8G8B8toA1R5G5B5 (u32 color) [inline]

Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.


Definition at line 43 of file SColor.h.

6.7.4 Variable Documentation

6.7.4.1 const c8∗ const irr::video::LightTypeNames[ ]

Initial value:

{
"Point",
"Spot",
"Directional",
0
}

Names for light types.


Definition at line 27 of file SLight.h.

6.7.4.2 const u32 irr::video::MATERIAL_MAX_TEXTURES = 4

Maximum number of texture an SMaterial can have.


Definition at line 62 of file SMaterial.h.
Referenced by irr::video::SMaterial::getTexture(), irr::video::SMaterial::getTextureMatrix(),
irr::video::SMaterial::operator!=(), irr::video::SMaterial::operator=(), irr::video::SMaterial::set-
Flag(), irr::video::SMaterial::setTexture(), irr::video::SMaterial::setTextureMatrix(), and
irr::video::SMaterial::SMaterial().

6.7.4.3 const c8∗ const irr::video::PIXEL_SHADER_TYPE_NAMES[ ]

Initial value:

{
"ps_1_1",
"ps_1_2",
"ps_1_3",
"ps_1_4",
"ps_2_0",
"ps_2_a",
"ps_2_b",
"ps_3_0",
0 }

Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
Definition at line 62 of file IGPUProgrammingServices.h.

6.7.4.4 const char∗ const irr::video::sBuiltInMaterialTypeNames[ ]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


6.7 irr::video Namespace Reference 111

{
"solid",
"solid_2layer",
"lightmap",
"lightmap_add",
"lightmap_m2",
"lightmap_m4",
"lightmap_light",
"lightmap_light_m2",
"lightmap_light_m4",
"detail_map",
"sphere_map",
"reflection_2layer",
"trans_add",
"trans_alphach",
"trans_alphach_ref",
"trans_vertex_alpha",
"trans_reflection_2layer",
"normalmap_solid",
"normalmap_trans_add",
"normalmap_trans_vertexalpha",
"parallaxmap_solid",
"parallaxmap_trans_add",
"parallaxmap_trans_vertexalpha",
"onetexture_blend",
0
}

Array holding the built in material type names.


Definition at line 209 of file EMaterialTypes.h.

6.7.4.5 const char∗ const irr::video::sBuiltInVertexTypeNames[ ]

Initial value:

{
"standard",
"2tcoords",
"tangents",
0
}

Array holding the built in vertex type names.


Definition at line 33 of file S3DVertex.h.

6.7.4.6 const c8∗ const irr::video::VERTEX_SHADER_TYPE_NAMES[ ]

Initial value:

{
"vs_1_1",
"vs_2_0",
"vs_2_a",
"vs_3_0",
0 }

Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.
Definition at line 38 of file IGPUProgrammingServices.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


112 Irrlicht Engine Namespace Documentation

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 7

Irrlicht Engine Class Documentation

7.1 irr::core::aabbox3d< T > Class Template Reference


Axis aligned bounding box in 3d dimensional space.
#include <aabbox3d.h>

Public Member Functions


• aabbox3d (T minx, T miny, T minz, T maxx, T maxy, T maxz)
Constructor with min edge and max edge as single values, not vectors.

• aabbox3d (const vector3d< T > &init)


Constructor with only one point.

• aabbox3d (const vector3d< T > &min, const vector3d< T > &max)


Constructor with min edge and max edge.

• aabbox3d ()
Default Constructor.

• void addInternalBox (const aabbox3d< T > &b)


Adds another bounding box.

• void addInternalPoint (T x, T y, T z)
Adds a point to the bounding box.

• void addInternalPoint (const vector3d< T > &p)


Adds a point to the bounding box.

• EIntersectionRelation3D classifyPlaneRelation (const plane3d< T > &plane) const


Classifies a relation with a plane.

• vector3d< T > getCenter () const


Get center of the bounding box.
114 Irrlicht Engine Class Documentation

• void getEdges (vector3d< T > ∗edges) const


Stores all 8 edges of the box into an array.

• vector3d< T > getExtent () const


Get extent of the box.

• aabbox3d< T > getInterpolated (const aabbox3d< T > &other, f32 d) const


Calculates a new interpolated bounding box.

• bool intersectsWithBox (const aabbox3d< T > &other) const


Determines if the box intersects with another box.

• bool intersectsWithLine (const vector3d< T > &linemiddle, const vector3d< T > &linevect, T
halflength) const
Tests if the box intersects with a line.

• bool intersectsWithLine (const line3d< T > &line) const


Tests if the box intersects with a line.

• bool isEmpty () const


Check if the box is empty.

• bool isFullInside (const aabbox3d< T > &other) const


Check if this box is completely inside the ’other’ box.

• bool isPointInside (const vector3d< T > &p) const


Determines if a point is within this box.

• bool isPointTotalInside (const vector3d< T > &p) const


Determines if a point is within this box and its borders.

• bool operator!= (const aabbox3d< T > &other) const


Inequality operator.

• bool operator== (const aabbox3d< T > &other) const


Equality operator.

• void repair ()
Repairs the box.

• void reset (const vector3d< T > &initValue)


Resets the bounding box to a one-point box.

• void reset (const aabbox3d< T > &initValue)


Resets the bounding box.

• void reset (T x, T y, T z)
Resets the bounding box to a one-point box.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.1 irr::core::aabbox3d< T > Class Template Reference 115

Public Attributes

• vector3d< T > MaxEdge


The far edge.

• vector3d< T > MinEdge


The near edge.

7.1.1 Detailed Description

template<class T> class irr::core::aabbox3d< T >

Axis aligned bounding box in 3d dimensional space.


Has some useful methods used with occlusion culling or clipping.
Definition at line 21 of file aabbox3d.h.

7.1.2 Constructor & Destructor Documentation

7.1.2.1 template<class T> irr::core::aabbox3d< T >::aabbox3d () [inline]

Default Constructor.
Definition at line 26 of file aabbox3d.h.

7.1.2.2 template<class T> irr::core::aabbox3d< T >::aabbox3d (const vector3d< T > & min,
const vector3d< T > & max) [inline]

Constructor with min edge and max edge.


Definition at line 28 of file aabbox3d.h.

7.1.2.3 template<class T> irr::core::aabbox3d< T >::aabbox3d (const vector3d< T > & init)
[inline]

Constructor with only one point.


Definition at line 30 of file aabbox3d.h.

7.1.2.4 template<class T> irr::core::aabbox3d< T >::aabbox3d (T minx, T miny, T minz, T


maxx, T maxy, T maxz) [inline]

Constructor with min edge and max edge as single values, not vectors.
Definition at line 32 of file aabbox3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


116 Irrlicht Engine Class Documentation

7.1.3 Member Function Documentation

7.1.3.1 template<class T> void irr::core::aabbox3d< T >::addInternalBox (const aabbox3d< T


> & b) [inline]

Adds another bounding box.


The box grows bigger, if the new box was outside of the box.

Parameters:
b: Other bounding box to add into this box.

Definition at line 57 of file aabbox3d.h.


Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::SMesh::recalculateBoundingBox(),
and irr::scene::SAnimatedMesh::recalculateBoundingBox().

7.1.3.2 template<class T> void irr::core::aabbox3d< T >::addInternalPoint (T x, T y, T z)


[inline]

Adds a point to the bounding box.


The box grows bigger, if point is outside of the box.

Parameters:
x X coordinate of the point to add to this box.
y Y coordinate of the point to add to this box.
z Z coordinate of the point to add to this box.

Definition at line 93 of file aabbox3d.h.

7.1.3.3 template<class T> void irr::core::aabbox3d< T >::addInternalPoint (const vector3d< T


> & p) [inline]

Adds a point to the bounding box.


The box grows bigger, if point was outside of the box.

Parameters:
p: Point to add into the box.

Definition at line 49 of file aabbox3d.h.


Referenced by irr::core::aabbox3d< f32 >::addInternalBox(), irr::core::aabbox3d< f32 >::addInternal-
Point(), irr::scene::CMeshBuffer< T >::append(), irr::scene::SViewFrustum::recalculateBoundingBox(),
irr::scene::SSkinMeshBuffer::recalculateBoundingBox(), irr::scene::SSharedMeshBuffer::recalculate-
BoundingBox(), and irr::scene::CMeshBuffer< T >::recalculateBoundingBox().

7.1.3.4 template<class T> EIntersectionRelation3D irr::core::aabbox3d< T


>::classifyPlaneRelation (const plane3d< T > & plane) const [inline]

Classifies a relation with a plane.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.1 irr::core::aabbox3d< T > Class Template Reference 117

Parameters:
plane Plane to classify relation to.

Returns:
Returns ISREL3D_FRONT if the box is in front of the plane, ISREL3D_BACK if the box is behind
the plane, and ISREL3D_CLIPPED if it is on both sides of the plane.

Definition at line 188 of file aabbox3d.h.

7.1.3.5 template<class T> vector3d<T> irr::core::aabbox3d< T >::getCenter () const


[inline]

Get center of the bounding box.

Returns:
Center of the bounding box.

Definition at line 223 of file aabbox3d.h.


Referenced by irr::core::aabbox3d< f32 >::getEdges(), and irr::core::aabbox3d< f32 >::intersectsWith-
Line().

7.1.3.6 template<class T> void irr::core::aabbox3d< T >::getEdges (vector3d< T > ∗ edges)


const [inline]

Stores all 8 edges of the box into an array.

Parameters:
edges: Pointer to array of 8 edges.

Definition at line 239 of file aabbox3d.h.

7.1.3.7 template<class T> vector3d<T> irr::core::aabbox3d< T >::getExtent () const


[inline]

Get extent of the box.

Returns:
Extent of the bounding box.

Definition at line 231 of file aabbox3d.h.


Referenced by irr::core::aabbox3d< f32 >::intersectsWithLine().

7.1.3.8 template<class T> aabbox3d<T> irr::core::aabbox3d< T >::getInterpolated (const


aabbox3d< T > & other, f32 d) const [inline]

Calculates a new interpolated bounding box.

Parameters:
other: other box to interpolate between

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


118 Irrlicht Engine Class Documentation

d: value between 0.0f and 1.0f.

Returns:
Interpolated box.

Definition at line 296 of file aabbox3d.h.

7.1.3.9 template<class T> bool irr::core::aabbox3d< T >::intersectsWithBox (const aabbox3d<


T > & other) const [inline]

Determines if the box intersects with another box.

Parameters:
other: Other box to check a intersection with.

Returns:
True if there is an intersection with the other box, otherwise false.

Definition at line 128 of file aabbox3d.h.

7.1.3.10 template<class T> bool irr::core::aabbox3d< T >::intersectsWithLine (const vector3d<


T > & linemiddle, const vector3d< T > & linevect, T halflength) const [inline]

Tests if the box intersects with a line.

Parameters:
linemiddle Center of the line.
linevect Vector of the line.
halflength Half length of the line.

Returns:
True if there is an intersection, else false.

Definition at line 156 of file aabbox3d.h.

7.1.3.11 template<class T> bool irr::core::aabbox3d< T >::intersectsWithLine (const line3d< T


> & line) const [inline]

Tests if the box intersects with a line.

Parameters:
line: Line to test intersection with.

Returns:
True if there is an intersection , else false.

Definition at line 145 of file aabbox3d.h.


Referenced by irr::core::aabbox3d< f32 >::intersectsWithLine().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.1 irr::core::aabbox3d< T > Class Template Reference 119

7.1.3.12 template<class T> bool irr::core::aabbox3d< T >::isEmpty () const [inline]

Check if the box is empty.


This means that there is no space between the min and max edge.

Returns:
True if box is empty, else false.

Definition at line 272 of file aabbox3d.h.

7.1.3.13 template<class T> bool irr::core::aabbox3d< T >::isFullInside (const aabbox3d< T >


& other) const [inline]

Check if this box is completely inside the ’other’ box.

Parameters:
other: Other box to check against.

Returns:
True if this box is completly inside the other box, otherwise false.

Definition at line 137 of file aabbox3d.h.

7.1.3.14 template<class T> bool irr::core::aabbox3d< T >::isPointInside (const vector3d< T >


& p) const [inline]

Determines if a point is within this box.

Parameters:
p: Point to check.

Returns:
True if the point is within the box and false if not

Definition at line 107 of file aabbox3d.h.

7.1.3.15 template<class T> bool irr::core::aabbox3d< T >::isPointTotalInside (const vector3d<


T > & p) const [inline]

Determines if a point is within this box and its borders.

Parameters:
p: Point to check.

Returns:
True if the point is within the box and false if not.

Definition at line 117 of file aabbox3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


120 Irrlicht Engine Class Documentation

7.1.3.16 template<class T> bool irr::core::aabbox3d< T >::operator!= (const aabbox3d< T > &
other) const [inline]

Inequality operator.

Parameters:
other box to compare with.

Returns:
True if both boxes are different, else false.

Definition at line 42 of file aabbox3d.h.

7.1.3.17 template<class T> bool irr::core::aabbox3d< T >::operator== (const aabbox3d< T > &
other) const [inline]

Equality operator.

Parameters:
other box to compare with.

Returns:
True if both boxes are equal, else false.

Definition at line 38 of file aabbox3d.h.

7.1.3.18 template<class T> void irr::core::aabbox3d< T >::repair () [inline]

Repairs the box.


Necessary if for example MinEdge and MaxEdge are swapped.
Definition at line 280 of file aabbox3d.h.

7.1.3.19 template<class T> void irr::core::aabbox3d< T >::reset (const vector3d< T > &
initValue) [inline]

Resets the bounding box to a one-point box.

Parameters:
initValue New point.

Definition at line 82 of file aabbox3d.h.

7.1.3.20 template<class T> void irr::core::aabbox3d< T >::reset (const aabbox3d< T > &
initValue) [inline]

Resets the bounding box.

Parameters:
initValue New box to set this one to.

Definition at line 75 of file aabbox3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.1 irr::core::aabbox3d< T > Class Template Reference 121

7.1.3.21 template<class T> void irr::core::aabbox3d< T >::reset (T x, T y, T z) [inline]

Resets the bounding box to a one-point box.

Parameters:
x X coord of the point.
y Y coord of the point.
z Z coord of the point.

Definition at line 67 of file aabbox3d.h.


Referenced by irr::scene::SViewFrustum::recalculateBoundingBox(), irr::scene::SSkinMesh-
Buffer::recalculateBoundingBox(), irr::scene::SSharedMeshBuffer::recalculateBoundingBox(),
irr::scene::SMesh::recalculateBoundingBox(), irr::scene::SAnimatedMesh::recalculateBoundingBox(),
and irr::scene::CMeshBuffer< T >::recalculateBoundingBox().

7.1.4 Member Data Documentation

7.1.4.1 template<class T> vector3d<T> irr::core::aabbox3d< T >::MaxEdge

The far edge.


Definition at line 306 of file aabbox3d.h.

7.1.4.2 template<class T> vector3d<T> irr::core::aabbox3d< T >::MinEdge

The near edge.


Definition at line 304 of file aabbox3d.h.
The documentation for this class was generated from the following file:

• aabbox3d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


122 Irrlicht Engine Class Documentation

7.2 irr::core::array< T, TAlloc > Class Template Reference


Self reallocating template array (like stl vector) with additional features.
#include <irrArray.h>

Public Member Functions


• u32 allocated_size () const
Get amount of memory allocated.

• array (const array< T > &other)


Copy constructor.

• array (u32 start_count)


Constructs an array and allocates an initial chunk of memory.

• array ()
Default constructor for empty array.

• s32 binary_search (const T &element, s32 left, s32 right) const


Performs a binary search for an element, returns -1 if not found.

• s32 binary_search (const T &element)


Performs a binary search for an element, returns -1 if not found.

• s32 binary_search_const (const T &element) const


Performs a binary search for an element, returns -1 if not found.

• void clear ()
Clears the array and deletes all allocated memory.

• const T ∗ const_pointer () const


Gets a const pointer to the array.

• bool empty () const


Check if array is empty.

• void erase (u32 index, s32 count)


Erases some elements from the array.

• void erase (u32 index)


Erases an element from the array.

• const T & getLast () const


Gets last element.

• T & getLast ()
Gets last element.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.2 irr::core::array< T, TAlloc > Class Template Reference 123

• void insert (const T &element, u32 index=0)


Insert item into array at specified position.

• s32 linear_reverse_search (const T &element) const


Finds an element in linear time, which is very slow.

• s32 linear_search (const T &element) const


Finds an element in linear time, which is very slow.

• bool operator!= (const array< T > &other) const


Inequality operator.

• void operator= (const array< T > &other)


Assignment operator.

• bool operator== (const array< T > &other) const


Equality operator.

• const T & operator[ ] (u32 index) const


Direct const access operator.

• T & operator[ ] (u32 index)


Direct access operator.

• T ∗ pointer ()
Gets a pointer to the array.

• void push_back (const T &element)


Adds an element at back of array.

• void push_front (const T &element)


Adds an element at the front of the array.

• void reallocate (u32 new_size)


Reallocates the array, make it bigger or smaller.

• void set_free_when_destroyed (bool f)


Sets if the array should delete the memory it uses upon destruction.

• void set_pointer (T ∗newPointer, u32 size)


Sets pointer to new array, using this as new workspace.

• void set_sorted (bool _is_sorted)


Sets if the array is sorted.

• void set_used (u32 usedNow)


Sets the size of the array and allocates new elements if necessary.

• u32 size () const


Get size of array.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


124 Irrlicht Engine Class Documentation

• void sort ()
Sorts the array using heapsort.

• ∼array ()
Destructor.

7.2.1 Detailed Description

template<class T, typename TAlloc = irrAllocator<T>> class irr::core::array< T, TAlloc >

Self reallocating template array (like stl vector) with additional features.
Some features are: Heap sorting, binary search methods, easier debugging.
Definition at line 21 of file irrArray.h.

7.2.2 Constructor & Destructor Documentation

7.2.2.1 template<class T, typename TAlloc = irrAllocator<T>> irr::core::array< T, TAlloc


>::array () [inline]

Default constructor for empty array.


Definition at line 27 of file irrArray.h.
Referenced by irr::core::string< c8 >::operator<().

7.2.2.2 template<class T, typename TAlloc = irrAllocator<T>> irr::core::array< T, TAlloc


>::array (u32 start_count) [inline]

Constructs an array and allocates an initial chunk of memory.

Parameters:
start_count Amount of elements to pre-allocate.

Definition at line 35 of file irrArray.h.

7.2.2.3 template<class T, typename TAlloc = irrAllocator<T>> irr::core::array< T, TAlloc


>::array (const array< T > & other) [inline]

Copy constructor.
Definition at line 44 of file irrArray.h.

7.2.2.4 template<class T, typename TAlloc = irrAllocator<T>> irr::core::array< T, TAlloc


>::∼array () [inline]

Destructor.
Frees allocated memory, if set_free_when_destroyed was not set to false by the user before.
Definition at line 55 of file irrArray.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.2 irr::core::array< T, TAlloc > Class Template Reference 125

7.2.3 Member Function Documentation

7.2.3.1 template<class T, typename TAlloc = irrAllocator<T>> u32 irr::core::array< T, TAlloc


>::allocated_size () const [inline]

Get amount of memory allocated.

Returns:
Amount of memory allocated. The amount of bytes allocated would be allocated_size() ∗
sizeof(ElementsUsed);

Definition at line 324 of file irrArray.h.

7.2.3.2 template<class T, typename TAlloc = irrAllocator<T>> s32 irr::core::array< T, TAlloc


>::binary_search (const T & element, s32 left, s32 right) const [inline]

Performs a binary search for an element, returns -1 if not found.

Parameters:
element: Element to search for.
left First left index
right Last right index.

Returns:
Position of the searched element if it was found, otherwise -1 is returned.

Definition at line 381 of file irrArray.h.

7.2.3.3 template<class T, typename TAlloc = irrAllocator<T>> s32 irr::core::array< T, TAlloc


>::binary_search (const T & element) [inline]

Performs a binary search for an element, returns -1 if not found.


The array will be sorted before the binary search if it is not already sorted.

Parameters:
element Element to search for.

Returns:
Position of the searched element if it was found, otherwise -1 is returned.

Definition at line 357 of file irrArray.h.


Referenced by irr::core::array< IMesh ∗ >::binary_search(), and irr::core::array< IMesh ∗ >::binary_-
search_const().

7.2.3.4 template<class T, typename TAlloc = irrAllocator<T>> s32 irr::core::array< T, TAlloc


>::binary_search_const (const T & element) const [inline]

Performs a binary search for an element, returns -1 if not found.


The array must be sorted prior

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


126 Irrlicht Engine Class Documentation

Parameters:
element Element to search for.

Returns:
Position of the searched element if it was found, otherwise -1 is returned.

Definition at line 369 of file irrArray.h.

7.2.3.5 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::clear () [inline]

Clears the array and deletes all allocated memory.


Definition at line 164 of file irrArray.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), and irr::scene::SSkinMesh-
Buffer::MoveTo_Tangents().

7.2.3.6 template<class T, typename TAlloc = irrAllocator<T>> const T∗ irr::core::array< T,


TAlloc >::const_pointer () const [inline]

Gets a const pointer to the array.

Returns:
Pointer to the array.

Definition at line 307 of file irrArray.h.


Referenced by irr::scene::SSkinMeshBuffer::getIndices(), irr::scene::SSharedMeshBuffer::get-
Indices(), irr::scene::CMeshBuffer< T >::getIndices(), irr::scene::SSkinMeshBuffer::getVertices(),
irr::scene::SSharedMeshBuffer::getVertices(), and irr::scene::CMeshBuffer< T >::getVertices().

7.2.3.7 template<class T, typename TAlloc = irrAllocator<T>> bool irr::core::array< T, TAlloc


>::empty () const [inline]

Check if array is empty.

Returns:
True if the array is empty false if not.

Definition at line 332 of file irrArray.h.


Referenced by irr::scene::SAnimatedMesh::getMesh(), irr::scene::SAnimatedMesh::getMeshBuffer(),
irr::scene::SAnimatedMesh::getMeshBufferCount(), irr::scene::SSkinMeshBuffer::recalculate-
BoundingBox(), irr::scene::SSharedMeshBuffer::recalculateBoundingBox(), irr::scene::SAnimated-
Mesh::recalculateBoundingBox(), and irr::scene::CMeshBuffer< T >::recalculateBoundingBox().

7.2.3.8 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::erase (u32 index, s32 count) [inline]

Erases some elements from the array.


May be slow, because all elements following after the erased element have to be copied.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.2 irr::core::array< T, TAlloc > Class Template Reference 127

Parameters:
index: Index of the first element to be erased.
count: Amount of elements to be erased.

Definition at line 468 of file irrArray.h.

7.2.3.9 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::erase (u32 index) [inline]

Erases an element from the array.


May be slow, because all elements following after the erased element have to be copied.

Parameters:
index: Index of element to be erased.

Definition at line 447 of file irrArray.h.

7.2.3.10 template<class T, typename TAlloc = irrAllocator<T>> const T& irr::core::array< T,


TAlloc >::getLast () const [inline]

Gets last element.


Definition at line 289 of file irrArray.h.

7.2.3.11 template<class T, typename TAlloc = irrAllocator<T>> T& irr::core::array< T, TAlloc


>::getLast () [inline]

Gets last element.


Definition at line 280 of file irrArray.h.

7.2.3.12 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::insert (const T & element, u32 index = 0) [inline]

Insert item into array at specified position.


Please use this only if you know what you are doing (possible performance loss). The preferred method of
adding elements should be push_back().

Parameters:
element: Element to be inserted
index: Where position to insert the new element.

Definition at line 141 of file irrArray.h.


Referenced by irr::core::array< IMesh ∗ >::push_front().

7.2.3.13 template<class T, typename TAlloc = irrAllocator<T>> s32 irr::core::array< T, TAlloc


>::linear_reverse_search (const T & element) const [inline]

Finds an element in linear time, which is very slow.


Use binary_search for faster finding. Only works if ==operator is implemented.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


128 Irrlicht Engine Class Documentation

Parameters:
element: Element to search for.

Returns:
Position of the searched element if it was found, otherwise -1 is returned.

Definition at line 433 of file irrArray.h.

7.2.3.14 template<class T, typename TAlloc = irrAllocator<T>> s32 irr::core::array< T, TAlloc


>::linear_search (const T & element) const [inline]

Finds an element in linear time, which is very slow.


Use binary_search for faster finding. Only works if ==operator is implemented.

Parameters:
element Element to search for.

Returns:
Position of the searched element if it was found, otherwise -1 is returned.

Definition at line 417 of file irrArray.h.


Referenced by irr::scene::SMD3QuaterionTagList::get(), and irr::scene::quake3::SVarGroup::getIndex().

7.2.3.15 template<class T, typename TAlloc = irrAllocator<T>> bool irr::core::array< T, TAlloc


>::operator!= (const array< T > & other) const [inline]

Inequality operator.
Definition at line 255 of file irrArray.h.

7.2.3.16 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::operator= (const array< T > & other) [inline]

Assignment operator.
Definition at line 216 of file irrArray.h.

7.2.3.17 template<class T, typename TAlloc = irrAllocator<T>> bool irr::core::array< T, TAlloc


>::operator== (const array< T > & other) const [inline]

Equality operator.
Definition at line 243 of file irrArray.h.

7.2.3.18 ]

template<class T, typename TAlloc = irrAllocator<T>> const T& irr::core::array< T, TAlloc


>::operator[ ] (u32 index) const [inline]
Direct const access operator.
Definition at line 271 of file irrArray.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.2 irr::core::array< T, TAlloc > Class Template Reference 129

7.2.3.19 ]

template<class T, typename TAlloc = irrAllocator<T>> T& irr::core::array< T, TAlloc >::operator[ ]


(u32 index) [inline]
Direct access operator.
Definition at line 262 of file irrArray.h.

7.2.3.20 template<class T, typename TAlloc = irrAllocator<T>> T∗ irr::core::array< T, TAlloc


>::pointer () [inline]

Gets a pointer to the array.

Returns:
Pointer to the array.

Definition at line 299 of file irrArray.h.


Referenced by irr::scene::SSkinMeshBuffer::getIndices(), irr::scene::SSharedMeshBuffer::get-
Indices(), irr::scene::CMeshBuffer< T >::getIndices(), irr::scene::SSkinMeshBuffer::getVertices(),
irr::scene::SSharedMeshBuffer::getVertices(), and irr::scene::CMeshBuffer< T >::getVertices().

7.2.3.21 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::push_back (const T & element) [inline]

Adds an element at back of array.


If the array is too small to add this new element it is made bigger.

Parameters:
element: Element to add at the back of the array.

Definition at line 99 of file irrArray.h.


Referenced by irr::scene::SAnimatedMesh::addMesh(), irr::scene::SMesh::addMeshBuffer(),
irr::scene::CMeshBuffer< T >::append(), irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), and
irr::scene::SSkinMeshBuffer::MoveTo_Tangents().

7.2.3.22 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::push_front (const T & element) [inline]

Adds an element at the front of the array.


If the array is to small to add this new element, the array is made bigger. Please note that this is slow,
because the whole array needs to be copied for this.

Parameters:
element Element to add at the back of the array.

Definition at line 129 of file irrArray.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


130 Irrlicht Engine Class Documentation

7.2.3.23 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::reallocate (u32 new_size) [inline]

Reallocates the array, make it bigger or smaller.

Parameters:
new_size New size of array.

Definition at line 69 of file irrArray.h.


Referenced by irr::scene::CMeshBuffer< T >::append(), irr::core::array< IMesh ∗ >::array(),
irr::core::array< IMesh ∗ >::insert(), irr::core::array< IMesh ∗ >::push_back(), and irr::core::array<
IMesh ∗ >::set_used().

7.2.3.24 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::set_free_when_destroyed (bool f) [inline]

Sets if the array should delete the memory it uses upon destruction.

Parameters:
f If true, the array frees the allocated memory in its destructor, otherwise not. The default is true.

Definition at line 196 of file irrArray.h.

7.2.3.25 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::set_pointer (T ∗ newPointer, u32 size) [inline]

Sets pointer to new array, using this as new workspace.

Parameters:
newPointer: Pointer to new array of elements.
size: Size of the new array.

Definition at line 180 of file irrArray.h.

7.2.3.26 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::set_sorted (bool _is_sorted) [inline]

Sets if the array is sorted.


Definition at line 492 of file irrArray.h.

7.2.3.27 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::set_used (u32 usedNow) [inline]

Sets the size of the array and allocates new elements if necessary.
Please note: This is only secure when using it with simple types, because no default constructor will be
called for the added elements.
Parameters:
usedNow Amount of elements now used.

Definition at line 206 of file irrArray.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.2 irr::core::array< T, TAlloc > Class Template Reference 131

7.2.3.28 template<class T, typename TAlloc = irrAllocator<T>> u32 irr::core::array< T, TAlloc


>::size () const [inline]

Get size of array.

Returns:
Size of elements used in the array.

Definition at line 315 of file irrArray.h.


Referenced by irr::core::string< c8 >::append(), irr::scene::SAnimatedMesh::getFrame-
Count(), irr::scene::quake3::SShader::getGroup(), irr::scene::SSkinMeshBuffer::getIndexCount(),
irr::scene::SSharedMeshBuffer::getIndexCount(), irr::scene::CMeshBuffer< T >::getIndexCount(),
irr::scene::SMesh::getMeshBuffer(), irr::scene::SMesh::getMeshBufferCount(), irr::scene::quake3::get-
Textures(), irr::scene::SSkinMeshBuffer::getVertexCount(), irr::scene::SSharedMeshBuffer::getVertex-
Count(), irr::scene::CMeshBuffer< T >::getVertexCount(), irr::scene::quake3::SVarGroup::isDefined(),
irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::MoveTo_Tangents(),
irr::scene::SSkinMeshBuffer::recalculateBoundingBox(), irr::scene::SSharedMeshBuffer::recalculate-
BoundingBox(), irr::scene::SMesh::recalculateBoundingBox(), irr::scene::SAnimatedMesh::recalculate-
BoundingBox(), irr::scene::CMeshBuffer< T >::recalculateBoundingBox(), irr::scene::SMesh::set-
MaterialFlag(), irr::scene::SAnimatedMesh::setMaterialFlag(), irr::scene::SMD3QuaterionTagList::size(),
irr::scene::SAnimatedMesh::∼SAnimatedMesh(), irr::scene::SMD3Mesh::∼SMD3Mesh(), and
irr::scene::SMesh::∼SMesh().

7.2.3.29 template<class T, typename TAlloc = irrAllocator<T>> void irr::core::array< T, TAlloc


>::sort () [inline]

Sorts the array using heapsort.


There is no additional memory waste and the algorithm performs O(n∗log n) in worst case.
Definition at line 341 of file irrArray.h.
Referenced by irr::core::array< IMesh ∗ >::binary_search().
The documentation for this class was generated from the following file:

• irrArray.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


132 Irrlicht Engine Class Documentation

7.3 irr::core::CMatrix4< T > Class Template Reference


4x4 matrix. Mostly used as transformation matrix for 3d calculations.
#include <matrix4.h>

Public Types
• enum eConstructor {
EM4CONST_NOTHING = 0, EM4CONST_COPY, EM4CONST_IDENTITY, EM4CONST_-
TRANSPOSED,
EM4CONST_INVERSE, EM4CONST_INVERSE_TRANSPOSED }
Constructor Flags.

Public Member Functions


• CMatrix4< T > & buildCameraLookAtMatrixLH (const vector3df &position, const vector3df &tar-
get, const vector3df &upVector)
Builds a left-handed look-at matrix.

• CMatrix4< T > & buildCameraLookAtMatrixRH (const vector3df &position, const vector3df &tar-
get, const vector3df &upVector)
Builds a right-handed look-at matrix.

• CMatrix4< T > & buildNDCToDCMatrix (const core::rect< s32 > &area, f32 zScale)
Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates.

• CMatrix4< T > & buildProjectionMatrixOrthoLH (f32 widthOfViewVolume, f32 heightOfView-


Volume, f32 zNear, f32 zFar)
Builds a left-handed orthogonal projection matrix.

• CMatrix4< T > & buildProjectionMatrixOrthoRH (f32 widthOfViewVolume, f32 heightOfView-


Volume, f32 zNear, f32 zFar)
Builds a right-handed orthogonal projection matrix.

• CMatrix4< T > & buildProjectionMatrixPerspectiveFovLH (f32 fieldOfViewRadians, f32 aspect-


Ratio, f32 zNear, f32 zFar)
Builds a left-handed perspective projection matrix based on a field of view.

• CMatrix4< T > & buildProjectionMatrixPerspectiveFovRH (f32 fieldOfViewRadians, f32 aspect-


Ratio, f32 zNear, f32 zFar)
Builds a right-handed perspective projection matrix based on a field of view.

• CMatrix4< T > & buildProjectionMatrixPerspectiveLH (f32 widthOfViewVolume, f32 heightOf-


ViewVolume, f32 zNear, f32 zFar)
Builds a left-handed perspective projection matrix.

• CMatrix4< T > & buildProjectionMatrixPerspectiveRH (f32 widthOfViewVolume, f32 heightOf-


ViewVolume, f32 zNear, f32 zFar)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 133

Builds a right-handed perspective projection matrix.

• CMatrix4< T > & buildShadowMatrix (const core::vector3df &light, core::plane3df plane, f32
point=1.0f)
Builds a matrix that flattens geometry into a plane.

• CMatrix4< T > & buildTextureTransform (f32 rotateRad, const core::vector2df &rotatecenter, const
core::vector2df &translate, const core::vector2df &scale)
Set to a texture transformation matrix with the given parameters.

• CMatrix4 (const CMatrix4< T > &other, eConstructor constructor=EM4CONST_COPY)


Copy constructor.

• CMatrix4 (eConstructor constructor=EM4CONST_IDENTITY)


Default constructor.

• bool getDefinitelyIdentityMatrix () const


Gets if the matrix is definitely identity matrix.

• bool getInverse (CMatrix4< T > &out) const


Gets the inversed matrix of this one.

• bool getInversePrimitive (CMatrix4< T > &out) const


Inverts a primitive matrix which only contains a translation and a rotation.

• core::vector3d< T > getRotationDegrees () const


Returns the rotation, as set by setRotation().

• core::vector3d< T > getScale () const


Get Scale.

• vector3d< T > getTranslation () const


Gets the current translation.

• void getTransposed (CMatrix4< T > &dest) const


Gets transposed matrix.

• CMatrix4< T > getTransposed () const


Gets transposed matrix.

• CMatrix4< T > interpolate (const core::CMatrix4< T > &b, f32 time) const
Creates a new matrix as interpolated matrix from two other ones.

• void inverseRotateVect (vector3df &vect) const


Rotate a vector by the inverse of the rotation part of this matrix.

• void inverseTranslateVect (vector3df &vect) const


Translate a vector by the inverse of the translation part of this matrix.

• bool isIdentity () const

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


134 Irrlicht Engine Class Documentation

Returns true if the matrix is the identity matrix.

• bool isIdentity_integer_base () const


Returns true if the matrix is the identity matrix.

• CMatrix4< T > & makeIdentity ()


Set matrix to identity.

• bool makeInverse ()
Calculates inverse of matrix. Slow.

• void multiplyWith1x4Matrix (T ∗matrix) const


Multiplies this matrix by a 1x4 matrix.

• CMatrix4< T > operator ∗ (const T &scalar) const


Multiply by scalar.

• CMatrix4< T > operator ∗ (const CMatrix4< T > &other) const


multiply by another matrix

• CMatrix4< T > & operator ∗= (const T &scalar)


Multiply by scalar.

• CMatrix4< T > & operator ∗= (const CMatrix4< T > &other)


Multiply by another matrix.

• bool operator!= (const CMatrix4< T > &other) const


Returns true if other matrix is not equal to this matrix.

• const T & operator() (const s32 row, const s32 col) const
Simple operator for directly accessing every element of the matrix.

• T & operator() (const s32 row, const s32 col)


Simple operator for directly accessing every element of the matrix.

• CMatrix4< T > operator+ (const CMatrix4< T > &other) const


Add another matrix.

• CMatrix4< T > & operator+= (const CMatrix4< T > &other)


Add another matrix.

• CMatrix4< T > operator- (const CMatrix4< T > &other) const


Subtract another matrix.

• CMatrix4< T > & operator-= (const CMatrix4< T > &other)


Subtract another matrix.

• CMatrix4< T > & operator= (const T &scalar)


Sets all elements of this matrix to the value.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 135

• CMatrix4< T > & operator= (const CMatrix4< T > &other)


Sets this matrix equal to the other matrix.

• bool operator== (const CMatrix4< T > &other) const


Returns true if other matrix is equal to this matrix.

• const T & operator[ ] (u32 index) const


Simple operator for linearly accessing every element of the matrix.

• T & operator[ ] (u32 index)


Simple operator for linearly accessing every element of the matrix.

• T ∗ pointer ()
• const T ∗ pointer () const
Returns pointer to internal array.

• void rotateVect (T ∗out, const core::vector3df &in) const


An alternate transform vector method, writing into an array of 3 floats.

• void rotateVect (core::vector3df &out, const core::vector3df &in) const


An alternate transform vector method, writing into a second vector.

• void rotateVect (vector3df &vect) const


Rotate a vector by the rotation part of this matrix.

• CMatrix4< T > & setbyproduct (const CMatrix4< T > &other_a, const CMatrix4< T > &other_-
b)
multiply by another matrix

• CMatrix4< T > & setbyproduct_nocheck (const CMatrix4< T > &other_a, const CMatrix4< T >
&other_b)
multiply by another matrix

• void setDefinitelyIdentityMatrix (bool isDefinitelyIdentityMatrix)


Sets if the matrix is definitely identity matrix.

• CMatrix4< T > & setInverseRotationDegrees (const vector3d< T > &rotation)


Make an inverted rotation matrix from Euler angles.

• CMatrix4< T > & setInverseRotationRadians (const vector3d< T > &rotation)


Make an inverted rotation matrix from Euler angles.

• CMatrix4< T > & setInverseTranslation (const vector3d< T > &translation)


Set the inverse translation of the current matrix. Will erase any previous values.

• CMatrix4< T > & setM (const T ∗data)


Sets all matrix data members at once.

• CMatrix4< T > & setRotationDegrees (const vector3d< T > &rotation)


Make a rotation matrix from Euler angles. The 4th row and column are unmodified.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


136 Irrlicht Engine Class Documentation

• CMatrix4< T > & setRotationRadians (const vector3d< T > &rotation)


Make a rotation matrix from Euler angles. The 4th row and column are unmodified.

• CMatrix4< T > & setScale (const T scale)


Set Scale.

• CMatrix4< T > & setScale (const vector3d< T > &scale)


Set Scale.

• CMatrix4< T > & setTextureRotationCenter (f32 radAngle)


Set texture transformation rotation.

• CMatrix4< T > & setTextureScale (f32 sx, f32 sy)


Set texture transformation scale.

• CMatrix4< T > & setTextureScaleCenter (f32 sx, f32 sy)


Set texture transformation scale, and recenter at (0.5,0.5).

• CMatrix4< T > & setTextureTranslate (f32 x, f32 y)


Set texture transformation translation.

• CMatrix4< T > & setTranslation (const vector3d< T > &translation)


Set the translation of the current matrix. Will erase any previous values.

• void transformBox (core::aabbox3d< f32 > &box) const


Transforms a axis aligned bounding box.

• void transformBoxEx (core::aabbox3d< f32 > &box) const


Transforms a axis aligned bounding box more accurately than transformBox().

• void transformPlane (const core::plane3d< f32 > &in, core::plane3d< f32 > &out) const
Transforms a plane by this matrix.

• void transformPlane (core::plane3d< f32 > &plane) const


Transforms a plane by this matrix.

• void transformPlane_new (core::plane3d< f32 > &plane) const


Transforms a plane by this matrix.

• void transformVect (T ∗out, const core::vector3df &in) const


An alternate transform vector method, writing into an array of 4 floats.

• void transformVect (vector3df &out, const vector3df &in) const


Transforms input vector by this matrix and stores result in output vector.

• void transformVect (vector3df &vect) const


Transforms the vector by this matrix.

• void translateVect (vector3df &vect) const


Translate a vector by the translation part of this matrix.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 137

7.3.1 Detailed Description

template<class T> class irr::core::CMatrix4< T >

4x4 matrix. Mostly used as transformation matrix for 3d calculations.


The matrix is a D3D style matrix, row major with translations in the 4th row.
Definition at line 24 of file matrix4.h.

7.3.2 Member Enumeration Documentation

7.3.2.1 template<class T> enum irr::core::CMatrix4::eConstructor

Constructor Flags.

Enumeration values:
EM4CONST_NOTHING
EM4CONST_COPY
EM4CONST_IDENTITY
EM4CONST_TRANSPOSED
EM4CONST_INVERSE
EM4CONST_INVERSE_TRANSPOSED

Definition at line 29 of file matrix4.h.

7.3.3 Constructor & Destructor Documentation

7.3.3.1 template<class T> irr::core::CMatrix4< T >::CMatrix4 (eConstructor constructor =


EM4CONST_IDENTITY) [inline]

Default constructor.

Parameters:
constructor Choose the initialization style

Definition at line 323 of file matrix4.h.


References irr::core::CMatrix4< T >::EM4CONST_COPY, irr::core::CMatrix4< T >::EM4CONST_-
IDENTITY, irr::core::CMatrix4< T >::EM4CONST_INVERSE, irr::core::CMatrix4< T
>::EM4CONST_NOTHING, and irr::core::CMatrix4< T >::makeIdentity().

7.3.3.2 template<class T> irr::core::CMatrix4< T >::CMatrix4 (const CMatrix4< T > & other,
eConstructor constructor = EM4CONST_COPY) [inline]

Copy constructor.

Parameters:
other Other matrix to copy from
constructor Choose the initialization style

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


138 Irrlicht Engine Class Documentation

Definition at line 340 of file matrix4.h.


References irr::core::CMatrix4< T >::EM4CONST_COPY, irr::core::CMatrix4< T >::EM4CONST_-
IDENTITY, irr::core::CMatrix4< T >::EM4CONST_INVERSE, irr::core::CMatrix4< T
>::EM4CONST_INVERSE_TRANSPOSED, irr::core::CMatrix4< T >::EM4CONST_NOTHING,
irr::core::CMatrix4< T >::EM4CONST_TRANSPOSED, irr::core::CMatrix4< T >::getTransposed(),
and irr::core::CMatrix4< T >::makeIdentity().

7.3.4 Member Function Documentation

7.3.4.1 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildCameraLook-


AtMatrixLH (const vector3df & position, const vector3df & target, const vector3df &
upVector) [inline]

Builds a left-handed look-at matrix.


Definition at line 1448 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(),
irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y,
and irr::core::vector3d< T >::Z.

7.3.4.2 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildCameraLook-


AtMatrixRH (const vector3df & position, const vector3df & target, const vector3df &
upVector) [inline]

Builds a right-handed look-at matrix.


Definition at line 1487 of file matrix4.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(),
irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y,
and irr::core::vector3d< T >::Z.

7.3.4.3 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildNDCToDCMatrix


(const core::rect< s32 > & area, f32 zScale) [inline]

Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates.


Used to scale <-1,-1><1,1> to viewport, for example from von <-1,-1> <1,1> to the viewport
<0,0><0,640>
Definition at line 1580 of file matrix4.h.
References irr::core::CMatrix4< T >::makeIdentity(), and irr::core::CMatrix4< T >::setScale().

7.3.4.4 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjection-


MatrixOrthoLH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)
[inline]

Builds a left-handed orthogonal projection matrix.


Definition at line 1302 of file matrix4.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 139

7.3.4.5 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjection-


MatrixOrthoRH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)
[inline]

Builds a right-handed orthogonal projection matrix.


Definition at line 1331 of file matrix4.h.

7.3.4.6 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjection-


MatrixPerspectiveFovLH (f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar)
[inline]

Builds a left-handed perspective projection matrix based on a field of view.


Definition at line 1270 of file matrix4.h.

7.3.4.7 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjection-


MatrixPerspectiveFovRH (f32 fieldOfViewRadians, f32 aspectRatio, f32 zNear, f32 zFar)
[inline]

Builds a right-handed perspective projection matrix based on a field of view.


Definition at line 1236 of file matrix4.h.

7.3.4.8 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjectionMatrix-


PerspectiveLH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)
[inline]

Builds a left-handed perspective projection matrix.


Definition at line 1389 of file matrix4.h.

7.3.4.9 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildProjectionMatrix-


PerspectiveRH (f32 widthOfViewVolume, f32 heightOfViewVolume, f32 zNear, f32 zFar)
[inline]

Builds a right-handed perspective projection matrix.


Definition at line 1360 of file matrix4.h.

7.3.4.10 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::buildShadowMatrix


(const core::vector3df & light, core::plane3df plane, f32 point = 1.0f) [inline]

Builds a matrix that flattens geometry into a plane.

Parameters:
light: light source
plane: plane into which the geometry if flattened into
point: value between 0 and 1, describing the light source. If this is 1, it is a point light, if it is 0, it is a
directional light.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


140 Irrlicht Engine Class Documentation

Definition at line 1418 of file matrix4.h.


References irr::core::plane3d< T >::D, irr::core::vector3d< T >::dotProduct(), irr::core::plane3d< T
>::Normal, irr::core::vector3d< T >::normalize(), irr::core::vector3d< T >::X, irr::core::vector3d< T
>::Y, and irr::core::vector3d< T >::Z.

7.3.4.11 template<class T> CMatrix4< T > & irr::core::CMatrix4< T


>::buildTextureTransform (f32 rotateRad, const core::vector2df & rotatecenter, const
core::vector2df & translate, const core::vector2df & scale) [inline]

Set to a texture transformation matrix with the given parameters.


Generate texture coordinates as linear functions so that: u = Ux∗x + Uy∗y + Uz∗z + Uw v = Vx∗x + Vy∗y
+ Vz∗z + Vw The matrix M for this case is: Ux Vx 0 0 Uy Vy 0 0 Uz Vz 0 0 Uw Vw 0 0
Definition at line 1607 of file matrix4.h.

7.3.4.12 template<class T> bool irr::core::CMatrix4< T >::getDefinitelyIdentityMatrix () const


[inline]

Gets if the matrix is definitely identity matrix.


Definition at line 1711 of file matrix4.h.

7.3.4.13 template<class T> bool irr::core::CMatrix4< T >::getInverse (CMatrix4< T > & out)
const [inline]

Gets the inversed matrix of this one.

Parameters:
out: where result matrix is written to.

Returns:
Returns false if there is no inverse matrix.

Definition at line 1066 of file matrix4.h.


References irr::core::CMatrix4< T >::definitelyIdentityMatrix, irr::core::iszero(), and
irr::core::reciprocal().
Referenced by irr::core::CMatrix4< T >::makeInverse().

7.3.4.14 template<class T> bool irr::core::CMatrix4< T >::getInversePrimitive (CMatrix4< T


> & out) const [inline]

Inverts a primitive matrix which only contains a translation and a rotation.

Parameters:
out: where result matrix is written to.

Definition at line 1148 of file matrix4.h.


References irr::core::CMatrix4< T >::definitelyIdentityMatrix, and irr::core::CMatrix4< T >::M.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 141

7.3.4.15 template<class T> core::vector3d< T > irr::core::CMatrix4< T >::getRotationDegrees


() const [inline]

Returns the rotation, as set by setRotation().


This code was orginally written by by Chev.
Definition at line 711 of file matrix4.h.
References irr::core::RADTODEG64, and irr::core::ROUNDING_ERROR_64.

7.3.4.16 template<class T> vector3d< T > irr::core::CMatrix4< T >::getScale () const


[inline]

Get Scale.
Definition at line 662 of file matrix4.h.

7.3.4.17 template<class T> vector3d< T > irr::core::CMatrix4< T >::getTranslation () const


[inline]

Gets the current translation.


Definition at line 625 of file matrix4.h.
Referenced by irr::scene::ISceneNode::getAbsolutePosition().

7.3.4.18 template<class T> void irr::core::CMatrix4< T >::getTransposed (CMatrix4< T > &


dest) const [inline]

Gets transposed matrix.


Definition at line 1553 of file matrix4.h.
References irr::core::CMatrix4< T >::definitelyIdentityMatrix.

7.3.4.19 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::getTransposed () const


[inline]

Gets transposed matrix.


Definition at line 1543 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.
Referenced by irr::core::CMatrix4< T >::CMatrix4().

7.3.4.20 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::interpolate (const


core::CMatrix4< T > & b, f32 time) const [inline]

Creates a new matrix as interpolated matrix from two other ones.

Parameters:
b: other matrix to interpolate with
time: Must be a value between 0 and 1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


142 Irrlicht Engine Class Documentation

Definition at line 1526 of file matrix4.h.


References irr::core::CMatrix4< T >::EM4CONST_NOTHING, and irr::core::CMatrix4< T >::M.

7.3.4.21 template<class T> void irr::core::CMatrix4< T >::inverseRotateVect (vector3df & vect)


const [inline]

Rotate a vector by the inverse of the rotation part of this matrix.


Definition at line 878 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.22 template<class T> void irr::core::CMatrix4< T >::inverseTranslateVect (vector3df &


vect) const [inline]

Translate a vector by the inverse of the translation part of this matrix.


Definition at line 1049 of file matrix4.h.

7.3.4.23 template<class T> bool irr::core::CMatrix4< T >::isIdentity () const [inline]

Returns true if the matrix is the identity matrix.


Definition at line 796 of file matrix4.h.
References irr::core::equals(), and irr::core::iszero().
Referenced by irr::core::CMatrix4< T >::transformBox().

7.3.4.24 template<class T> bool irr::core::CMatrix4< T >::isIdentity_integer_base () const


[inline]

Returns true if the matrix is the identity matrix.


Definition at line 822 of file matrix4.h.
References F32_VALUE_1, and IR.

7.3.4.25 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::makeIdentity ()


[inline]

Set matrix to identity.


Definition at line 782 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::buildNDCToDCMatrix(), and irr::core::CMatrix4< T
>::CMatrix4().

7.3.4.26 template<class T> bool irr::core::CMatrix4< T >::makeInverse () [inline]

Calculates inverse of matrix. Slow.

Returns:
Returns false if there is no inverse matrix.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 143

Definition at line 1176 of file matrix4.h.


References irr::core::CMatrix4< T >::EM4CONST_NOTHING, and irr::core::CMatrix4< T >::get-
Inverse().
Referenced by irr::scene::SViewFrustum::setTransformState().

7.3.4.27 template<class T> void irr::core::CMatrix4< T >::multiplyWith1x4Matrix (T ∗ matrix)


const [inline]

Multiplies this matrix by a 1x4 matrix.


Definition at line 1027 of file matrix4.h.

7.3.4.28 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::operator ∗ (const T &


scalar) const [inline]

Multiply by scalar.
Definition at line 470 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.

7.3.4.29 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::operator ∗ (const


CMatrix4< T > & other) const [inline]

multiply by another matrix


Definition at line 588 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.

7.3.4.30 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator ∗= (const T


& scalar) [inline]

Multiply by scalar.
Definition at line 496 of file matrix4.h.

7.3.4.31 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator ∗= (const


CMatrix4< T > & other) [inline]

Multiply by another matrix.


Definition at line 520 of file matrix4.h.
References irr::core::CMatrix4< T >::setbyproduct_nocheck().

7.3.4.32 template<class T> bool irr::core::CMatrix4< T >::operator!= (const CMatrix4< T > &
other) const [inline]

Returns true if other matrix is not equal to this matrix.


Definition at line 1228 of file matrix4.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


144 Irrlicht Engine Class Documentation

7.3.4.33 template<class T> const T& irr::core::CMatrix4< T >::operator() (const s32 row, const
s32 col) const [inline]

Simple operator for directly accessing every element of the matrix.


Definition at line 51 of file matrix4.h.

7.3.4.34 template<class T> T& irr::core::CMatrix4< T >::operator() (const s32 row, const s32
col) [inline]

Simple operator for directly accessing every element of the matrix.


Definition at line 48 of file matrix4.h.

7.3.4.35 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::operator+ (const


CMatrix4< T > & other) const [inline]

Add another matrix.


Definition at line 370 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.

7.3.4.36 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator+= (const


CMatrix4< T > & other) [inline]

Add another matrix.


Definition at line 396 of file matrix4.h.

7.3.4.37 template<class T> CMatrix4< T > irr::core::CMatrix4< T >::operator- (const


CMatrix4< T > & other) const [inline]

Subtract another matrix.


Definition at line 420 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.

7.3.4.38 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator-= (const


CMatrix4< T > & other) [inline]

Subtract another matrix.


Definition at line 446 of file matrix4.h.

7.3.4.39 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator= (const T &
scalar) [inline]

Sets all elements of this matrix to the value.


Definition at line 1205 of file matrix4.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 145

7.3.4.40 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator= (const


CMatrix4< T > & other) [inline]

Sets this matrix equal to the other matrix.


Definition at line 1194 of file matrix4.h.
References irr::core::CMatrix4< T >::definitelyIdentityMatrix.

7.3.4.41 template<class T> bool irr::core::CMatrix4< T >::operator== (const CMatrix4< T >


& other) const [inline]

Returns true if other matrix is equal to this matrix.


Definition at line 1215 of file matrix4.h.

7.3.4.42 ]

template<class T> const T& irr::core::CMatrix4< T >::operator[ ] (u32 index) const [inline]
Simple operator for linearly accessing every element of the matrix.
Definition at line 57 of file matrix4.h.

7.3.4.43 ]

template<class T> T& irr::core::CMatrix4< T >::operator[ ] (u32 index) [inline]


Simple operator for linearly accessing every element of the matrix.
Definition at line 54 of file matrix4.h.

7.3.4.44 template<class T> T∗ irr::core::CMatrix4< T >::pointer () [inline]

Definition at line 67 of file matrix4.h.

7.3.4.45 template<class T> const T∗ irr::core::CMatrix4< T >::pointer () const [inline]

Returns pointer to internal array.


Definition at line 66 of file matrix4.h.

7.3.4.46 template<class T> void irr::core::CMatrix4< T >::rotateVect (T ∗ out, const


core::vector3df & in) const [inline]

An alternate transform vector method, writing into an array of 3 floats.


Definition at line 870 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


146 Irrlicht Engine Class Documentation

7.3.4.47 template<class T> void irr::core::CMatrix4< T >::rotateVect (core::vector3df & out,


const core::vector3df & in) const [inline]

An alternate transform vector method, writing into a second vector.


Definition at line 861 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.48 template<class T> void irr::core::CMatrix4< T >::rotateVect (vector3df & vect) const
[inline]

Rotate a vector by the rotation part of this matrix.


Definition at line 851 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.49 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setbyproduct (const


CMatrix4< T > & other_a, const CMatrix4< T > & other_b) [inline]

multiply by another matrix


Definition at line 575 of file matrix4.h.
References irr::core::CMatrix4< T >::setbyproduct_nocheck().
Referenced by irr::scene::SViewFrustum::setTransformState().

7.3.4.50 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setbyproduct_nocheck


(const CMatrix4< T > & other_a, const CMatrix4< T > & other_b) [inline]

multiply by another matrix


no optimization used, use it if you know you never have a identity matrix
Definition at line 542 of file matrix4.h.
References irr::core::CMatrix4< T >::M.
Referenced by irr::core::CMatrix4< T >::operator ∗=(), irr::core::CMatrix4< T >::setbyproduct(), and
irr::scene::SViewFrustum::setTransformState().

7.3.4.51 template<class T> void irr::core::CMatrix4< T >::setDefinitelyIdentityMatrix (bool


isDefinitelyIdentityMatrix) [inline]

Sets if the matrix is definitely identity matrix.


Definition at line 1703 of file matrix4.h.

7.3.4.52 template<class T> CMatrix4< T > & irr::core::CMatrix4< T


>::setInverseRotationDegrees (const vector3d< T > & rotation) [inline]

Make an inverted rotation matrix from Euler angles.


The 4th row and column are unmodified.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 147

Definition at line 674 of file matrix4.h.


References irr::core::CMatrix4< T >::setInverseRotationRadians().

7.3.4.53 template<class T> CMatrix4< T > & irr::core::CMatrix4< T


>::setInverseRotationRadians (const vector3d< T > & rotation) [inline]

Make an inverted rotation matrix from Euler angles.


The 4th row and column are unmodified.
Definition at line 751 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::setInverseRotationDegrees().

7.3.4.54 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setInverseTranslation


(const vector3d< T > & translation) [inline]

Set the inverse translation of the current matrix. Will erase any previous values.
Definition at line 642 of file matrix4.h.

7.3.4.55 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setM (const T ∗ data)
[inline]

Sets all matrix data members at once.


Definition at line 1692 of file matrix4.h.

7.3.4.56 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setRotationDegrees


(const vector3d< T > & rotation) [inline]

Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 668 of file matrix4.h.
References irr::core::CMatrix4< T >::setRotationRadians().
Referenced by irr::scene::ISceneNode::getRelativeTransformation().

7.3.4.57 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setRotationRadians


(const vector3d< T > & rotation) [inline]

Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 680 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::setRotationDegrees().

7.3.4.58 template<class T> CMatrix4<T>& irr::core::CMatrix4< T >::setScale (const T scale)


[inline]

Set Scale.
Definition at line 147 of file matrix4.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


148 Irrlicht Engine Class Documentation

References irr::core::CMatrix4< T >::setScale().

7.3.4.59 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setScale (const


vector3d< T > & scale) [inline]

Set Scale.
Definition at line 652 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::scene::ISceneNode::getRelative-
Transformation(), and irr::core::CMatrix4< T >::setScale().

7.3.4.60 template<class T> CMatrix4< T > & irr::core::CMatrix4< T


>::setTextureRotationCenter (f32 radAngle) [inline]

Set texture transformation rotation.


Rotate about z axis, recenter at (0.5,0.5). Doesn’t clear other elements than those affected

Parameters:
radAngle Angle in radians

Returns:
Altered matrix

Definition at line 1641 of file matrix4.h.

7.3.4.61 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setTextureScale (f32


sx, f32 sy) [inline]

Set texture transformation scale.


Doesn’t clear other elements than those affected.

Parameters:
sx Scale factor on x axis
sy Scale factor on y axis

Returns:
Altered matrix.

Definition at line 1669 of file matrix4.h.

7.3.4.62 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setTextureScaleCenter


(f32 sx, f32 sy) [inline]

Set texture transformation scale, and recenter at (0.5,0.5).


Doesn’t clear other elements than those affected.

Parameters:
sx Scale factor on x axis
sy Scale factor on y axis

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 149

Returns:
Altered matrix.

Definition at line 1679 of file matrix4.h.

7.3.4.63 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setTextureTranslate


(f32 x, f32 y) [inline]

Set texture transformation translation.


Doesn’t clear other elements than those affected.

Parameters:
x Offset on x axis
y Offset on y axis

Returns:
Altered matrix

Definition at line 1659 of file matrix4.h.

7.3.4.64 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setTranslation (const


vector3d< T > & translation) [inline]

Set the translation of the current matrix. Will erase any previous values.
Definition at line 632 of file matrix4.h.
Referenced by irr::scene::ISceneNode::getRelativeTransformation().

7.3.4.65 template<class T> void irr::core::CMatrix4< T >::transformBox (core::aabbox3d< f32


> & box) const [inline]

Transforms a axis aligned bounding box.


The result box of this operation may not be very accurate. For accurate results, use transformBoxEx()
Definition at line 961 of file matrix4.h.
References irr::core::CMatrix4< T >::isIdentity(), and irr::core::CMatrix4< T >::transformVect().
Referenced by irr::scene::ISceneNode::getTransformedBoundingBox().

7.3.4.66 template<class T> void irr::core::CMatrix4< T >::transformBoxEx (core::aabbox3d<


f32 > & box) const [inline]

Transforms a axis aligned bounding box more accurately than transformBox().


The result box of this operation should by quite accurate, but this operation is slower than transformBox().
Definition at line 973 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


150 Irrlicht Engine Class Documentation

7.3.4.67 template<class T> void irr::core::CMatrix4< T >::transformPlane (const


core::plane3d< f32 > & in, core::plane3d< f32 > & out) const [inline]

Transforms a plane by this matrix.


Definition at line 953 of file matrix4.h.
References irr::core::CMatrix4< T >::transformPlane().

7.3.4.68 template<class T> void irr::core::CMatrix4< T >::transformPlane (core::plane3d< f32


> & plane) const [inline]

Transforms a plane by this matrix.


Definition at line 921 of file matrix4.h.
References irr::core::vector3d< T >::dotProduct(), and irr::core::CMatrix4< T >::transformVect().
Referenced by irr::scene::SViewFrustum::transform(), and irr::core::CMatrix4< T >::transformPlane().

7.3.4.69 template<class T> void irr::core::CMatrix4< T >::transformPlane_new


(core::plane3d< f32 > & plane) const [inline]

Transforms a plane by this matrix.


Definition at line 936 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.70 template<class T> void irr::core::CMatrix4< T >::transformVect (T ∗ out, const


core::vector3df & in) const [inline]

An alternate transform vector method, writing into an array of 4 floats.


Definition at line 910 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.71 template<class T> void irr::core::CMatrix4< T >::transformVect (vector3df & out,


const vector3df & in) const [inline]

Transforms input vector by this matrix and stores result in output vector.
Definition at line 901 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.

7.3.4.72 template<class T> void irr::core::CMatrix4< T >::transformVect (vector3df & vect)


const [inline]

Transforms the vector by this matrix.


Definition at line 887 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
Referenced by irr::scene::SViewFrustum::transform(), irr::core::CMatrix4< T >::transformBox(), and
irr::core::CMatrix4< T >::transformPlane().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.3 irr::core::CMatrix4< T > Class Template Reference 151

7.3.4.73 template<class T> void irr::core::CMatrix4< T >::translateVect (vector3df & vect)


const [inline]

Translate a vector by the translation part of this matrix.


Definition at line 1057 of file matrix4.h.
The documentation for this class was generated from the following file:

• matrix4.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


152 Irrlicht Engine Class Documentation

7.4 irr::scene::CMeshBuffer< T > Class Template Reference


Template implementation of the IMeshBuffer interface.
#include <CMeshBuffer.h>
Inheritance diagram for irr::scene::CMeshBuffer< T >::

irr::IReferenceCounted

irr::scene::IMeshBuffer

irr::scene::CMeshBuffer< T >

Public Member Functions


• virtual void append (const IMeshBuffer ∗const other)
Append the meshbuffer to the current buffer.

• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
Append the vertices and indices to the current buffer.

• CMeshBuffer ()
Default constructor for empty meshbuffer.

• virtual const core::aabbox3d< f32 > & getBoundingBox () const


Get the axis aligned bounding box.

• virtual u32 getIndexCount () const


Get number of indices.

• virtual u16 ∗ getIndices ()


Get pointer to indices.

• virtual const u16 ∗ getIndices () const


Get pointer to indices.

• virtual video::SMaterial & getMaterial ()


Get material of this meshbuffer.

• virtual const video::SMaterial & getMaterial () const


Get material of this meshbuffer.

• virtual u32 getVertexCount () const


Get number of vertices.

• virtual video::E_VERTEX_TYPE getVertexType () const

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.4 irr::scene::CMeshBuffer< T > Class Template Reference 153

Get type of vertex data stored in this buffer.

• virtual void ∗ getVertices ()


Get pointer to vertices.

• virtual const void ∗ getVertices () const


Get pointer to vertices.

• virtual void recalculateBoundingBox ()


Recalculate the bounding box.

• virtual void setBoundingBox (const core::aabbox3df &box)


set user axis aligned bounding box

Public Attributes

• core::aabbox3d< f32 > BoundingBox


Bounding box of this meshbuffer.

• core::array< u16 > Indices


Indices into the vertices of this buffer.

• video::SMaterial Material
Material for this meshbuffer.

• core::array< T > Vertices


Vertices of this buffer.

7.4.1 Detailed Description

template<class T> class irr::scene::CMeshBuffer< T >

Template implementation of the IMeshBuffer interface.


Definition at line 17 of file CMeshBuffer.h.

7.4.2 Constructor & Destructor Documentation

7.4.2.1 template<class T> irr::scene::CMeshBuffer< T >::CMeshBuffer () [inline]

Default constructor for empty meshbuffer.


Definition at line 21 of file CMeshBuffer.h.
References irr::IReferenceCounted::setDebugName().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


154 Irrlicht Engine Class Documentation

7.4.3 Member Function Documentation

7.4.3.1 template<class T> virtual void irr::scene::CMeshBuffer< T >::append (const


IMeshBuffer ∗const other) [inline, virtual]

Append the meshbuffer to the current buffer.


Only works for compatible types, i.e. either the same type or the main buffer is of standard type. Otherwise,
behavior is undefined.

Parameters:
other Meshbuffer to be appended to this one.

Implements irr::scene::IMeshBuffer.
Definition at line 167 of file CMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalBox(), irr::scene::CMeshBuffer< T >::Bounding-
Box, irr::scene::CMeshBuffer< T >::getIndexCount(), irr::scene::CMeshBuffer< T >::getVertexCount(),
irr::scene::CMeshBuffer< T >::Indices, irr::core::array< T, TAlloc >::push_back(), irr::core::array< T,
TAlloc >::reallocate(), and irr::scene::CMeshBuffer< T >::Vertices.

7.4.3.2 template<class T> virtual void irr::scene::CMeshBuffer< T >::append (const void


∗const vertices, u32 numVertices, const u16 ∗const indices, u32 numIndices) [inline,
virtual]

Append the vertices and indices to the current buffer.


Only works for compatible types, i.e. either the same type or the main buffer is of standard type. Otherwise,
behavior is undefined.
Implements irr::scene::IMeshBuffer.
Definition at line 138 of file CMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), irr::scene::CMeshBuffer< T >::Bounding-
Box, irr::scene::CMeshBuffer< T >::getIndexCount(), irr::scene::CMeshBuffer< T >::getVertexCount(),
irr::scene::CMeshBuffer< T >::getVertices(), irr::scene::CMeshBuffer< T >::Indices, irr::core::array<
T, TAlloc >::push_back(), irr::core::array< T, TAlloc >::reallocate(), and irr::scene::CMeshBuffer< T
>::Vertices.

7.4.3.3 template<class T> virtual const core::aabbox3d<f32>& irr::scene::CMeshBuffer< T


>::getBoundingBox () const [inline, virtual]

Get the axis aligned bounding box.

Returns:
Axis aligned bounding box of this buffer.

Implements irr::scene::IMeshBuffer.
Definition at line 95 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::BoundingBox.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.4 irr::scene::CMeshBuffer< T > Class Template Reference 155

7.4.3.4 template<class T> virtual u32 irr::scene::CMeshBuffer< T >::getIndexCount () const


[inline, virtual]

Get number of indices.

Returns:
Number of indices.

Implements irr::scene::IMeshBuffer.
Definition at line 87 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::size().
Referenced by irr::scene::CMeshBuffer< T >::append().

7.4.3.5 template<class T> virtual u16∗ irr::scene::CMeshBuffer< T >::getIndices () [inline,


virtual]

Get pointer to indices.

Returns:
Pointer to indices.

Implements irr::scene::IMeshBuffer.
Definition at line 79 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::pointer().

7.4.3.6 template<class T> virtual const u16∗ irr::scene::CMeshBuffer< T >::getIndices () const


[inline, virtual]

Get pointer to indices.

Returns:
Pointer to indices.

Implements irr::scene::IMeshBuffer.
Definition at line 71 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Indices.

7.4.3.7 template<class T> virtual video::SMaterial& irr::scene::CMeshBuffer< T


>::getMaterial () [inline, virtual]

Get material of this meshbuffer.

Returns:
Material of this buffer

Implements irr::scene::IMeshBuffer.
Definition at line 39 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Material.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


156 Irrlicht Engine Class Documentation

7.4.3.8 template<class T> virtual const video::SMaterial& irr::scene::CMeshBuffer< T


>::getMaterial () const [inline, virtual]

Get material of this meshbuffer.

Returns:
Material of this buffer

Implements irr::scene::IMeshBuffer.
Definition at line 31 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Material.

7.4.3.9 template<class T> virtual u32 irr::scene::CMeshBuffer< T >::getVertexCount () const


[inline, virtual]

Get number of vertices.

Returns:
Number of vertices.

Implements irr::scene::IMeshBuffer.
Definition at line 63 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::size(), and irr::scene::CMeshBuffer< T >::Vertices.
Referenced by irr::scene::CMeshBuffer< T >::append().

7.4.3.10 template<class T> virtual video::E_VERTEX_TYPE irr::scene::CMeshBuffer< T


>::getVertexType () const [inline, virtual]

Get type of vertex data stored in this buffer.

Returns:
Type of vertex data.

Implements irr::scene::IMeshBuffer.
Definition at line 127 of file CMeshBuffer.h.

7.4.3.11 template<class T> virtual void∗ irr::scene::CMeshBuffer< T >::getVertices ()


[inline, virtual]

Get pointer to vertices.

Returns:
Pointer to vertices.

Implements irr::scene::IMeshBuffer.
Definition at line 55 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::pointer(), and irr::scene::CMeshBuffer< T >::Vertices.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.4 irr::scene::CMeshBuffer< T > Class Template Reference 157

7.4.3.12 template<class T> virtual const void∗ irr::scene::CMeshBuffer< T >::getVertices ()


const [inline, virtual]

Get pointer to vertices.

Returns:
Pointer to vertices.

Implements irr::scene::IMeshBuffer.
Definition at line 47 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Vertices.
Referenced by irr::scene::CMeshBuffer< T >::append().

7.4.3.13 template<class T> virtual void irr::scene::CMeshBuffer< T >::recalculateBoundingBox


() [inline, virtual]

Recalculate the bounding box.


should be called if the mesh changed.
Implements irr::scene::IMeshBuffer.
Definition at line 112 of file CMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), irr::scene::CMeshBuffer< T >::BoundingBox,
irr::core::array< T, TAlloc >::empty(), irr::core::aabbox3d< T >::reset(), irr::core::array< T, TAlloc
>::size(), and irr::scene::CMeshBuffer< T >::Vertices.

7.4.3.14 template<class T> virtual void irr::scene::CMeshBuffer< T >::setBoundingBox (const


core::aabbox3df & box) [inline, virtual]

set user axis aligned bounding box

Parameters:
box New axis aligned bounding box for this buffer.

Implements irr::scene::IMeshBuffer.
Definition at line 104 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::BoundingBox.

7.4.4 Member Data Documentation

7.4.4.1 template<class T> core::aabbox3d<f32> irr::scene::CMeshBuffer< T >::BoundingBox

Bounding box of this meshbuffer.


Definition at line 196 of file CMeshBuffer.h.
Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getBounding-
Box(), irr::scene::CMeshBuffer< T >::recalculateBoundingBox(), and irr::scene::CMeshBuffer< T
>::setBoundingBox().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


158 Irrlicht Engine Class Documentation

7.4.4.2 template<class T> core::array<u16> irr::scene::CMeshBuffer< T >::Indices

Indices into the vertices of this buffer.


Definition at line 194 of file CMeshBuffer.h.
Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getIndex-
Count(), and irr::scene::CMeshBuffer< T >::getIndices().

7.4.4.3 template<class T> video::SMaterial irr::scene::CMeshBuffer< T >::Material

Material for this meshbuffer.


Definition at line 190 of file CMeshBuffer.h.
Referenced by irr::scene::CMeshBuffer< T >::getMaterial().

7.4.4.4 template<class T> core::array<T> irr::scene::CMeshBuffer< T >::Vertices

Vertices of this buffer.


Definition at line 192 of file CMeshBuffer.h.
Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getVertex-
Count(), irr::scene::CMeshBuffer< T >::getVertices(), and irr::scene::CMeshBuffer< T >::recalculate-
BoundingBox().
The documentation for this class was generated from the following file:

• CMeshBuffer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.5 irr::core::dimension2d< T > Class Template Reference 159

7.5 irr::core::dimension2d< T > Class Template Reference


Specifies a 2 dimensional size.
#include <dimension2d.h>

Public Member Functions

• dimension2d (const T &width, const T &height)


Constructor with width and height.

• dimension2d ()
Default constructor for empty dimension.

• T getArea () const
Get area.

• dimension2d< T > operator ∗ (const T &scale) const


Multiply width and height by scalar.

• dimension2d< T > & operator ∗= (const T &scale)


Multiply width and height by scalar.

• bool operator!= (const dimension2d< T > &other) const


Inequality operator.

• dimension2d< T > operator/ (const T &scale) const


Divide width and height by scalar.

• dimension2d< T > & operator/= (const T &scale)


Divide width and height by scalar.

• bool operator== (const dimension2d< T > &other) const


Equality operator.

• dimension2d< T > & set (const T &width, const T &height)


Set to new values.

Public Attributes

• T Height
Height of the dimension.

• T Width
Width of the dimension.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


160 Irrlicht Engine Class Documentation

7.5.1 Detailed Description

template<class T> class irr::core::dimension2d< T >

Specifies a 2 dimensional size.


Definition at line 17 of file dimension2d.h.

7.5.2 Constructor & Destructor Documentation

7.5.2.1 template<class T> irr::core::dimension2d< T >::dimension2d () [inline]

Default constructor for empty dimension.


Definition at line 21 of file dimension2d.h.

7.5.2.2 template<class T> irr::core::dimension2d< T >::dimension2d (const T & width, const T


& height) [inline]

Constructor with width and height.


Definition at line 23 of file dimension2d.h.

7.5.3 Member Function Documentation

7.5.3.1 template<class T> T irr::core::dimension2d< T >::getArea () const [inline]

Get area.
Definition at line 76 of file dimension2d.h.

7.5.3.2 template<class T> dimension2d<T> irr::core::dimension2d< T >::operator ∗ (const T &


scale) const [inline]

Multiply width and height by scalar.


Definition at line 70 of file dimension2d.h.

7.5.3.3 template<class T> dimension2d<T>& irr::core::dimension2d< T >::operator ∗= (const


T & scale) [inline]

Multiply width and height by scalar.


Definition at line 62 of file dimension2d.h.

7.5.3.4 template<class T> bool irr::core::dimension2d< T >::operator!= (const dimension2d< T


> & other) const [inline]

Inequality operator.
Definition at line 33 of file dimension2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.5 irr::core::dimension2d< T > Class Template Reference 161

7.5.3.5 template<class T> dimension2d<T> irr::core::dimension2d< T >::operator/ (const T &


scale) const [inline]

Divide width and height by scalar.


Definition at line 56 of file dimension2d.h.

7.5.3.6 template<class T> dimension2d<T>& irr::core::dimension2d< T >::operator/= (const T


& scale) [inline]

Divide width and height by scalar.


Definition at line 48 of file dimension2d.h.

7.5.3.7 template<class T> bool irr::core::dimension2d< T >::operator== (const dimension2d< T


> & other) const [inline]

Equality operator.
Definition at line 27 of file dimension2d.h.

7.5.3.8 template<class T> dimension2d<T>& irr::core::dimension2d< T >::set (const T &


width, const T & height) [inline]

Set to new values.


Definition at line 40 of file dimension2d.h.

7.5.4 Member Data Documentation

7.5.4.1 template<class T> T irr::core::dimension2d< T >::Height

Height of the dimension.


Definition at line 84 of file dimension2d.h.
Referenced by irr::gui::IGUIElement::serializeAttributes(), irr::gui::IGUIElement::setMinSize(),
irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::updateAbsolutePosition().

7.5.4.2 template<class T> T irr::core::dimension2d< T >::Width

Width of the dimension.


Definition at line 82 of file dimension2d.h.
Referenced by irr::gui::IGUIElement::serializeAttributes(), irr::gui::IGUIElement::setMinSize(),
irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::updateAbsolutePosition().
The documentation for this class was generated from the following file:

• dimension2d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


162 Irrlicht Engine Class Documentation

7.6 irr::scene::IAnimatedMesh Class Reference

Interface for an animated mesh.


#include <IAnimatedMesh.h>
Inheritance diagram for irr::scene::IAnimatedMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::IAnimatedMeshMD2 irr::scene::IAnimatedMeshMD3 irr::scene::IQ3LevelMesh irr::scene::ISkinnedMesh irr::scene::SAnimatedMesh

Public Member Functions

• virtual u32 getFrameCount () const =0


Gets the frame count of the animated mesh.

• virtual IMesh ∗ getMesh (s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrame-
Loop=-1)=0
Returns the IMesh interface for a frame.

• virtual E_ANIMATED_MESH_TYPE getMeshType () const


Returns the type of the animated mesh.

• virtual ∼IAnimatedMesh ()
Destructor.

7.6.1 Detailed Description

Interface for an animated mesh.


There are already simple implementations of this interface available so you don’t have to implement this
interface on your own if you need to: You might want to use irr::scene::SAnimatedMesh, irr::scene::SMesh,
irr::scene::SMeshBuffer etc.
Definition at line 59 of file IAnimatedMesh.h.

7.6.2 Constructor & Destructor Documentation

7.6.2.1 virtual irr::scene::IAnimatedMesh::∼IAnimatedMesh () [inline, virtual]

Destructor.
Definition at line 64 of file IAnimatedMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.6 irr::scene::IAnimatedMesh Class Reference 163

7.6.3 Member Function Documentation

7.6.3.1 virtual u32 irr::scene::IAnimatedMesh::getFrameCount () const [pure virtual]

Gets the frame count of the animated mesh.

Returns:
Returns the amount of frames. If the amount is 1, it is a static, non animated mesh.

Implemented in irr::scene::SAnimatedMesh.

7.6.3.2 virtual IMesh∗ irr::scene::IAnimatedMesh::getMesh (s32 frame, s32 detailLevel = 255, s32
startFrameLoop = -1, s32 endFrameLoop = -1) [pure virtual]

Returns the IMesh interface for a frame.

Parameters:
frame: Frame number as zero based index. The maximum frame number is getFrameCount() - 1;
detailLevel: Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore
the detail level.
startFrameLoop: Because some animated meshes (.MD2) are blended between 2 static frames, and
maybe animated in a loop, the startFrameLoop and the endFrameLoop have to be defined, to
prevent the animation to be blended between frames which are outside of this loop. If start-
FrameLoop and endFrameLoop are both -1, they are ignored.
endFrameLoop: see startFrameLoop.

Returns:
Returns the animated mesh based on a detail level.

Implemented in irr::scene::SAnimatedMesh.

7.6.3.3 virtual E_ANIMATED_MESH_TYPE irr::scene::IAnimatedMesh::getMeshType () const


[inline, virtual]

Returns the type of the animated mesh.


In most cases it is not neccessary to use this method. This is useful for making a safe downcast. For
example, if getMeshType() returns EAMT_MD2 it’s safe to cast the IAnimatedMesh to IAnimatedMesh-
MD2.

Returns:
Type of the mesh.

Reimplemented in irr::scene::SAnimatedMesh.
Definition at line 92 of file IAnimatedMesh.h.
References irr::scene::EAMT_UNKNOWN.
The documentation for this class was generated from the following file:

• IAnimatedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


164 Irrlicht Engine Class Documentation

7.7 irr::scene::IAnimatedMeshMD2 Class Reference

Interface for using some special functions of MD2 meshes.


#include <IAnimatedMeshMD2.h>
Inheritance diagram for irr::scene::IAnimatedMeshMD2::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::IAnimatedMeshMD2

Public Member Functions

• virtual s32 getAnimationCount () const =0


Get amount of md2 animations in this file.

• virtual const c8 ∗ getAnimationName (s32 nr) const =0


Get name of md2 animation.

• virtual bool getFrameLoop (const c8 ∗name, s32 &outBegin, s32 &outEnd, s32 &outFPS) const
=0
Get frame loop data for a special MD2 animation type, identified by name.

• virtual void getFrameLoop (EMD2_ANIMATION_TYPE l, s32 &outBegin, s32 &outEnd, s32


&outFPS) const =0
Get frame loop data for a default MD2 animation type.

7.7.1 Detailed Description

Interface for using some special functions of MD2 meshes.


Definition at line 45 of file IAnimatedMeshMD2.h.

7.7.2 Member Function Documentation

7.7.2.1 virtual s32 irr::scene::IAnimatedMeshMD2::getAnimationCount () const [pure


virtual]

Get amount of md2 animations in this file.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.7 irr::scene::IAnimatedMeshMD2 Class Reference 165

7.7.2.2 virtual const c8∗ irr::scene::IAnimatedMeshMD2::getAnimationName (s32 nr) const


[pure virtual]

Get name of md2 animation.

Parameters:
nr: Zero based index of animation.

7.7.2.3 virtual bool irr::scene::IAnimatedMeshMD2::getFrameLoop (const c8 ∗ name, s32 &


outBegin, s32 & outEnd, s32 & outFPS) const [pure virtual]

Get frame loop data for a special MD2 animation type, identified by name.

Parameters:
name Name of the animation.
outBegin The returned beginning frame for animation type specified.
outEnd The returned ending frame for the animation type specified.
outFPS The number of frames per second, this animation should be played at.

Returns:
beginframe, endframe and frames per second for a special MD2 animation type.

7.7.2.4 virtual void irr::scene::IAnimatedMeshMD2::getFrameLoop (EMD2_-


ANIMATION_TYPE l, s32 & outBegin, s32 & outEnd, s32 & outFPS) const [pure
virtual]

Get frame loop data for a default MD2 animation type.

Parameters:
l The EMD2_ANIMATION_TYPE to get the frames for.
outBegin The returned beginning frame for animation type specified.
outEnd The returned ending frame for the animation type specified.
outFPS The number of frames per second, this animation should be played at.

Returns:
beginframe, endframe and frames per second for a default MD2 animation type.

The documentation for this class was generated from the following file:

• IAnimatedMeshMD2.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


166 Irrlicht Engine Class Documentation

7.8 irr::scene::IAnimatedMeshMD3 Class Reference


Interface for using some special functions of MD3 meshes.
#include <IAnimatedMeshMD3.h>
Inheritance diagram for irr::scene::IAnimatedMeshMD3::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::IAnimatedMeshMD3

Public Member Functions

• virtual SMD3Mesh ∗ getOriginalMesh ()=0


get the original md3 mesh.

• virtual SMD3QuaterionTagList ∗ getTagList (s32 frame, s32 detailLevel, s32 startFrameLoop, s32
endFrameLoop)=0
get the tag list of the mesh.

• virtual void setInterpolationShift (u32 shift, u32 loopMode)=0


tune how many frames you want to render inbetween.

7.8.1 Detailed Description

Interface for using some special functions of MD3 meshes.


Definition at line 246 of file IAnimatedMeshMD3.h.

7.8.2 Member Function Documentation

7.8.2.1 virtual SMD3Mesh∗ irr::scene::IAnimatedMeshMD3::getOriginalMesh () [pure


virtual]

get the original md3 mesh.

7.8.2.2 virtual SMD3QuaterionTagList∗ irr::scene::IAnimatedMeshMD3::getTagList (s32 frame,


s32 detailLevel, s32 startFrameLoop, s32 endFrameLoop) [pure virtual]

get the tag list of the mesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.8 irr::scene::IAnimatedMeshMD3 Class Reference 167

7.8.2.3 virtual void irr::scene::IAnimatedMeshMD3::setInterpolationShift (u32 shift, u32


loopMode) [pure virtual]

tune how many frames you want to render inbetween.


The documentation for this class was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


168 Irrlicht Engine Class Documentation

7.9 irr::scene::IAnimatedMeshSceneNode Class Reference


Scene node capable of displaying an animated mesh and its shadow.
#include <IAnimatedMeshSceneNode.h>
Inheritance diagram for irr::scene::IAnimatedMeshSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IAnimatedMeshSceneNode

Public Member Functions


• virtual IShadowVolumeSceneNode ∗ addShadowVolumeSceneNode (s32 id=-1, bool zfail-
method=true, f32 infinity=10000.0f)=0
Creates shadow volume scene node as child of this node.

• virtual void animateJoints (bool CalculateAbsolutePositions=true)=0


animates the joints in the mesh based on the current frame.

• virtual s32 getEndFrame () const =0


Returns the current end frame number.

• virtual f32 getFrameNr () const =0


Returns the current displayed frame number.

• virtual IBoneSceneNode ∗ getJointNode (u32 jointID)=0


same as getJointNode(const c8∗ jointName), but based on id

• virtual IBoneSceneNode ∗ getJointNode (const c8 ∗jointName)=0


Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).

• virtual const SMD3QuaterionTag & getMD3TagTransformation (const core::stringc &tagname)=0


Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetransfor-
mation if it’s a normal scenenode.

• virtual IAnimatedMesh ∗ getMesh (void)=0


Returns the current mesh.

• virtual ISceneNode ∗ getMS3DJointNode (const c8 ∗jointName)=0


Deprecated command, please use getJointNode.

• virtual s32 getStartFrame () const =0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.9 irr::scene::IAnimatedMeshSceneNode Class Reference 169

Returns the current start frame number.

• virtual ISceneNode ∗ getXJointNode (const c8 ∗jointName)=0


Deprecated command, please use getJointNode.

• IAnimatedMeshSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const


core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rota-
tion=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.

• virtual bool isReadOnlyMaterials () const =0


Returns if the scene node should not copy the materials of the mesh but use them in a read only style.

• virtual void setAnimationEndCallback (IAnimationEndCallBack ∗callback=0)=0


Sets a callback interface which will be called if an animation playback has ended.

• virtual void setAnimationSpeed (f32 framesPerSecond)=0


Sets the speed with witch the animation is played.

• virtual void setCurrentFrame (f32 frame)=0


Sets the current frame number.

• virtual bool setFrameLoop (s32 begin, s32 end)=0


Sets the frame numbers between the animation is looped.

• virtual void setJointMode (E_JOINT_UPDATE_ON_RENDER mode)=0


Set how the joints should be updated on render.

• virtual void setLoopMode (bool playAnimationLooped)=0


Sets looping mode which is on by default.

• virtual bool setMD2Animation (const c8 ∗animationName)=0


Starts a special MD2 animation.

• virtual bool setMD2Animation (EMD2_ANIMATION_TYPE anim)=0


Starts a default MD2 animation.

• virtual void setMesh (IAnimatedMesh ∗mesh)=0


Sets a new mesh.

• virtual void setReadOnlyMaterials (bool readonly)=0


Sets if the scene node should not copy the materials of the mesh but use them in a read only style.

• virtual void setRenderFromIdentity (bool On)=0


render mesh ignoring it’s transformation.

• virtual void setTransitionTime (f32 Time)=0


Sets the transition time in seconds.

• virtual ∼IAnimatedMeshSceneNode ()
Destructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


170 Irrlicht Engine Class Documentation

7.9.1 Detailed Description

Scene node capable of displaying an animated mesh and its shadow.


The shadow is optional: If a shadow should be displayed too, just invoke the IAnimatedMeshScene-
Node::createShadowVolumeSceneNode().
Definition at line 57 of file IAnimatedMeshSceneNode.h.

7.9.2 Constructor & Destructor Documentation

7.9.2.1 irr::scene::IAnimatedMeshSceneNode::IAnimatedMeshSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id, const core::vector3df
& position = core::vector3df(0,0,0), const core::vector3df &
rotation = core::vector3df(0,0,0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [inline]

Constructor.
Definition at line 62 of file IAnimatedMeshSceneNode.h.

7.9.2.2 virtual irr::scene::IAnimatedMeshSceneNode::∼IAnimatedMeshSceneNode ()


[inline, virtual]

Destructor.
Definition at line 69 of file IAnimatedMeshSceneNode.h.

7.9.3 Member Function Documentation

7.9.3.1 virtual IShadowVolumeSceneNode∗ irr::scene::IAnimatedMeshSceneNode::addShadow-


VolumeSceneNode (s32 id = -1, bool zfailmethod = true, f32 infinity = 10000.0f)
[pure virtual]

Creates shadow volume scene node as child of this node.


The shadow can be rendered using the ZPass or the zfail method. ZPass is a little bit faster because the
shadow volume creation is easier, but with this method there occur ugly looking artifacs when the camera
is inside the shadow volume. These error do not occur with the ZFail method.
Parameters:
id: Id of the shadow scene node. This id can be used to identify the node later.
zfailmethod: If set to true, the shadow will use the zfail method, if not, zpass is used.
infinity: Value used by the shadow volume algorithm to scale the shadow volume.

Returns:
Pointer to the created shadow scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.9.3.2 virtual void irr::scene::IAnimatedMeshSceneNode::animateJoints (bool


CalculateAbsolutePositions = true) [pure virtual]

animates the joints in the mesh based on the current frame.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.9 irr::scene::IAnimatedMeshSceneNode Class Reference 171

Also takes in to account transitions.

7.9.3.3 virtual s32 irr::scene::IAnimatedMeshSceneNode::getEndFrame () const [pure


virtual]

Returns the current end frame number.

7.9.3.4 virtual f32 irr::scene::IAnimatedMeshSceneNode::getFrameNr () const [pure


virtual]

Returns the current displayed frame number.

7.9.3.5 virtual IBoneSceneNode∗ irr::scene::IAnimatedMeshSceneNode::getJointNode (u32


jointID) [pure virtual]

same as getJointNode(const c8∗ jointName), but based on id

7.9.3.6 virtual IBoneSceneNode∗ irr::scene::IAnimatedMeshSceneNode::getJointNode (const c8 ∗


jointName) [pure virtual]

Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).
With this method it is possible to attach scene nodes to joints for example possible to attach a weapon to
the left hand of an animated model. This example shows how:

ISceneNode* hand =
yourAnimatedMeshSceneNode->getJointNode("LeftHand");
hand->addChild(weaponSceneNode);

Please note that the joint returned by this method may not exist before this call and the joints in the node
were created by it.

Parameters:
jointName: Name of the joint.

Returns:
Pointer to the scene node which represents the joint with the specified name. Returns 0 if the contained
mesh is not an skinned mesh or the name of the joint could not be found.

7.9.3.7 virtual const SMD3QuaterionTag& irr::scene::IAnimatedMeshScene-


Node::getMD3TagTransformation (const core::stringc & tagname) [pure
virtual]

Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetransfor-
mation if it’s a normal scenenode.

7.9.3.8 virtual IAnimatedMesh∗ irr::scene::IAnimatedMeshSceneNode::getMesh (void) [pure


virtual]

Returns the current mesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


172 Irrlicht Engine Class Documentation

7.9.3.9 virtual ISceneNode∗ irr::scene::IAnimatedMeshSceneNode::getMS3DJointNode (const c8


∗ jointName) [pure virtual]

Deprecated command, please use getJointNode.

7.9.3.10 virtual s32 irr::scene::IAnimatedMeshSceneNode::getStartFrame () const [pure


virtual]

Returns the current start frame number.

7.9.3.11 virtual ISceneNode∗ irr::scene::IAnimatedMeshSceneNode::getXJointNode (const c8 ∗


jointName) [pure virtual]

Deprecated command, please use getJointNode.

7.9.3.12 virtual bool irr::scene::IAnimatedMeshSceneNode::isReadOnlyMaterials () const


[pure virtual]

Returns if the scene node should not copy the materials of the mesh but use them in a read only style.

7.9.3.13 virtual void irr::scene::IAnimatedMeshSceneNode::setAnimationEndCallback


(IAnimationEndCallBack ∗ callback = 0) [pure virtual]

Sets a callback interface which will be called if an animation playback has ended.
Set this to 0 to disable the callback again. Please note that this will only be called when in non looped
mode, see IAnimatedMeshSceneNode::setLoopMode().

7.9.3.14 virtual void irr::scene::IAnimatedMeshSceneNode::setAnimationSpeed (f32


framesPerSecond) [pure virtual]

Sets the speed with witch the animation is played.

Parameters:
framesPerSecond: Frames per second played.

7.9.3.15 virtual void irr::scene::IAnimatedMeshSceneNode::setCurrentFrame (f32 frame)


[pure virtual]

Sets the current frame number.


From now on the animation is played from this frame.

Parameters:
frame: Number of the frame to let the animation be started from. The frame number must be a valid
frame number of the IMesh used by this scene node. Set IAnimatedMesh::getMesh() for details.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.9 irr::scene::IAnimatedMeshSceneNode Class Reference 173

7.9.3.16 virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop (s32 begin, s32 end)


[pure virtual]

Sets the frame numbers between the animation is looped.


The default is 0 - MaximalFrameCount of the mesh.

Parameters:
begin: Start frame number of the loop.
end: End frame number of the loop.

Returns:
True if successful, false if not.

7.9.3.17 virtual void irr::scene::IAnimatedMeshSceneNode::setJointMode


(E_JOINT_UPDATE_ON_RENDER mode) [pure virtual]

Set how the joints should be updated on render.

7.9.3.18 virtual void irr::scene::IAnimatedMeshSceneNode::setLoopMode (bool


playAnimationLooped) [pure virtual]

Sets looping mode which is on by default.


If set to false, animations will not be played looped.

7.9.3.19 virtual bool irr::scene::IAnimatedMeshSceneNode::setMD2Animation (const c8 ∗


animationName) [pure virtual]

Starts a special MD2 animation.


With this method it is easily possible to start a Run, Attack, Die or whatever animation, if the mesh con-
tained in this scene node is an md2 mesh. Otherwise, nothing happens. This method uses a character
string to identify the animation. If the animation is a standard md2 animation, you might want to start this
animation with the EMD2_ANIMATION_TYPE enumeration instead.

Parameters:
animationName: Name of the animation which should be played.

Returns:
Returns true if successful, and false if not, for example if the mesh in the scene node is not an md2
mesh, or no animation with this name could be found.

7.9.3.20 virtual bool irr::scene::IAnimatedMeshSceneNode::setMD2Animation


(EMD2_ANIMATION_TYPE anim) [pure virtual]

Starts a default MD2 animation.


With this method it is easily possible to start a Run, Attack, Die or whatever animation, if the mesh con-
tained in this scene node is an md2 mesh. Otherwise, nothing happens.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


174 Irrlicht Engine Class Documentation

Parameters:
anim: An MD2 animation type, which should be played, for example EMAT_STAND for the standing
animation.

Returns:
True if successful, and false if not, for example if the mesh in the scene node is not a md2 mesh.

7.9.3.21 virtual void irr::scene::IAnimatedMeshSceneNode::setMesh (IAnimatedMesh ∗ mesh)


[pure virtual]

Sets a new mesh.

7.9.3.22 virtual void irr::scene::IAnimatedMeshSceneNode::setReadOnlyMaterials (bool


readonly) [pure virtual]

Sets if the scene node should not copy the materials of the mesh but use them in a read only style.

7.9.3.23 virtual void irr::scene::IAnimatedMeshSceneNode::setRenderFromIdentity (bool On)


[pure virtual]

render mesh ignoring it’s transformation.


Used with ragdolls. Culling is unaffected.

7.9.3.24 virtual void irr::scene::IAnimatedMeshSceneNode::setTransitionTime (f32 Time)


[pure virtual]

Sets the transition time in seconds.


Note: This needs to enable joints, and setJointmode set to EJUOR_CONTROL. You must call animate-
Joints(), or the mesh will not animate.
The documentation for this class was generated from the following file:

• IAnimatedMeshSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.10 irr::scene::IAnimationEndCallBack Class Reference 175

7.10 irr::scene::IAnimationEndCallBack Class Reference


Callback interface for catching events of ended animations.
#include <IAnimatedMeshSceneNode.h>
Inheritance diagram for irr::scene::IAnimationEndCallBack::

irr::IReferenceCounted

irr::scene::IAnimationEndCallBack

Public Member Functions


• virtual void OnAnimationEnd (IAnimatedMeshSceneNode ∗node)=0
Will be called when the animation playback has ended.

7.10.1 Detailed Description

Callback interface for catching events of ended animations.


Implement this interface and use IAnimatedMeshSceneNode::setAnimationEndCallback to be able to be
notified if an animation playback has ended.
Definition at line 43 of file IAnimatedMeshSceneNode.h.

7.10.2 Member Function Documentation

7.10.2.1 virtual void irr::scene::IAnimationEndCallBack::OnAnimationEnd


(IAnimatedMeshSceneNode ∗ node) [pure virtual]

Will be called when the animation playback has ended.


See IAnimatedMeshSceneNode::setAnimationEndCallback for more informations.

Parameters:
node: Node of which the animation has ended.

The documentation for this class was generated from the following file:

• IAnimatedMeshSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


176 Irrlicht Engine Class Documentation

7.11 irr::io::IAttributeExchangingObject Class Reference

An object which is able to serialize and deserialize its attributes into an attributes object.
#include <IAttributeExchangingObject.h>
Inheritance diagram for irr::io::IAttributeExchangingObject::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::gui::IGUIElement irr::gui::IGUISkin irr::scene::IParticleAffector irr::scene::IParticleEmitter irr::scene::ISceneNode irr::scene::ISceneNodeAnimator

irr::gui::IGUIButton irr::scene::IParticleAttractionAffector irr::scene::IParticleAnimatedMeshSceneNodeEmitter irr::scene::IAnimatedMeshSceneNode irr::scene::ISceneNodeAnimatorCollisionResponse

irr::gui::IGUICheckBox irr::scene::IParticleFadeOutAffector irr::scene::IParticleBoxEmitter irr::scene::IBillboardSceneNode

irr::gui::IGUIColorSelectDialog irr::scene::IParticleGravityAffector irr::scene::IParticleCylinderEmitter irr::scene::IBoneSceneNode

irr::gui::IGUIComboBox irr::scene::IParticleRotationAffector irr::scene::IParticleMeshEmitter irr::scene::ICameraSceneNode

irr::gui::IGUIContextMenu irr::scene::IParticleRingEmitter irr::scene::IDummyTransformationSceneNode

irr::gui::IGUIEditBox irr::scene::IParticleSphereEmitter irr::scene::ILightSceneNode

irr::gui::IGUIFileOpenDialog irr::scene::IMeshSceneNode

irr::gui::IGUIImage irr::scene::IParticleSystemSceneNode

irr::gui::IGUIInOutFader irr::scene::IShadowVolumeSceneNode

irr::gui::IGUIListBox irr::scene::ITerrainSceneNode

irr::gui::IGUIMeshViewer irr::scene::ITextSceneNode

irr::gui::IGUIScrollBar

irr::gui::IGUISpinBox

irr::gui::IGUIStaticText

irr::gui::IGUITab

irr::gui::IGUITabControl

irr::gui::IGUIToolBar

irr::gui::IGUIWindow

Public Member Functions

• virtual void deserializeAttributes (io::IAttributes ∗in, io::SAttributeReadWriteOptions ∗options=0)


Reads attributes of the object.

• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)


const
Writes attributes of the object.

7.11.1 Detailed Description

An object which is able to serialize and deserialize its attributes into an attributes object.
Definition at line 51 of file IAttributeExchangingObject.h.

7.11.2 Member Function Documentation

7.11.2.1 virtual void irr::io::IAttributeExchangingObject::deserializeAttributes (io::IAttributes ∗


in, io::SAttributeReadWriteOptions ∗ options = 0) [inline, virtual]

Reads attributes of the object.


Implement this to set the attributes of your scene node animator for scripting languages, editors, debuggers
or xml deserialization purposes.
Reimplemented in irr::gui::IGUIElement, and irr::scene::ISceneNode.
Definition at line 63 of file IAttributeExchangingObject.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.11 irr::io::IAttributeExchangingObject Class Reference 177

7.11.2.2 virtual void irr::io::IAttributeExchangingObject::serializeAttributes (io::IAttributes ∗


out, io::SAttributeReadWriteOptions ∗ options = 0) const [inline, virtual]

Writes attributes of the object.


Implement this to expose the attributes of your scene node animator for scripting languages, editors, de-
buggers or xml serialization purposes.
Reimplemented in irr::gui::IGUIElement, irr::scene::IParticleAffector, irr::scene::IParticleEmitter, and
irr::scene::ISceneNode.
Definition at line 58 of file IAttributeExchangingObject.h.
The documentation for this class was generated from the following file:

• IAttributeExchangingObject.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


178 Irrlicht Engine Class Documentation

7.12 irr::io::IAttributes Class Reference


Provides a generic interface for attributes and their values and the possiblity to serialize them.
#include <IAttributes.h>
Inheritance diagram for irr::io::IAttributes::

irr::IReferenceCounted

irr::io::IAttributes

Public Member Functions


• virtual void addArray (const c8 ∗attributeName, core::array< core::stringw > value)=0
Adds an attribute as wide string array.

• virtual void addBinary (const c8 ∗attributeName, void ∗data, s32 dataSizeInBytes)=0


Adds an attribute as binary data.

• virtual void addBool (const c8 ∗attributeName, bool value)=0


Adds an attribute as bool.

• virtual void addBox3d (const c8 ∗attributeName, core::aabbox3df v)=0


Adds an attribute as axis aligned bounding box.

• virtual void addColor (const c8 ∗attributeName, video::SColor value)=0


Adds an attribute as color.

• virtual void addColorf (const c8 ∗attributeName, video::SColorf value)=0


Adds an attribute as floating point color.

• virtual void addEnum (const c8 ∗attributeName, s32 enumValue, const c8 ∗const ∗enumeration-
Literals)=0
Adds an attribute as enum.

• virtual void addEnum (const c8 ∗attributeName, const c8 ∗enumValue, const c8 ∗const


∗enumerationLiterals)=0
Adds an attribute as enum.

• virtual void addFloat (const c8 ∗attributeName, f32 value)=0


Adds an attribute as float.

• virtual void addInt (const c8 ∗attributeName, s32 value)=0


Adds an attribute as integer.

• virtual void addLine2d (const c8 ∗attributeName, core::line2df v)=0


Adds an attribute as a 2d line.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 179

• virtual void addLine3d (const c8 ∗attributeName, core::line3df v)=0


Adds an attribute as a 3d line.

• virtual void addMatrix (const c8 ∗attributeName, const core::matrix4 &v)=0


Adds an attribute as matrix.

• virtual void addPlane3d (const c8 ∗attributeName, core::plane3df v)=0


Adds an attribute as 3d plane.

• virtual void addPosition2d (const c8 ∗attributeName, core::position2di value)=0


Adds an attribute as 2d position.

• virtual void addQuaternion (const c8 ∗attributeName, core::quaternion v)=0


Adds an attribute as quaternion.

• virtual void addRect (const c8 ∗attributeName, core::rect< s32 > value)=0


Adds an attribute as rectangle.

• virtual void addString (const c8 ∗attributeName, const wchar_t ∗value)=0


Adds an attribute as string.

• virtual void addString (const c8 ∗attributeName, const c8 ∗value)=0


Adds an attribute as string.

• virtual void addTexture (const c8 ∗attributeName, video::ITexture ∗texture)=0


Adds an attribute as texture reference.

• virtual void addTriangle3d (const c8 ∗attributeName, core::triangle3df v)=0


Adds an attribute as 3d triangle.

• virtual void addUserPointer (const c8 ∗attributeName, void ∗userPointer)=0


Adds an attribute as user pointner.

• virtual void addVector3d (const c8 ∗attributeName, core::vector3df value)=0


Adds an attribute as 3d vector.

• virtual void clear ()=0


Removes all attributes.

• virtual bool existsAttribute (const c8 ∗attributeName)=0


Returns if an attribute with a name exists.

• virtual s32 findAttribute (const c8 ∗attributeName)=0


Returns attribute index from name, -1 if not found.

• virtual core::array< core::stringw > getAttributeAsArray (s32 index)=0


• virtual core::array< core::stringw > getAttributeAsArray (const c8 ∗attributeName)=0
• virtual void getAttributeAsBinaryData (s32 index, void ∗outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


180 Irrlicht Engine Class Documentation

• virtual void getAttributeAsBinaryData (const c8 ∗attributeName, void ∗outData, s32 maxSizeIn-


Bytes)=0
Gets an attribute as binary data.

• virtual bool getAttributeAsBool (s32 index)=0


• virtual bool getAttributeAsBool (const c8 ∗attributeName)=0
• virtual core::aabbox3df getAttributeAsBox3d (s32 index)=0
• virtual core::aabbox3df getAttributeAsBox3d (const c8 ∗attributeName)=0
• virtual video::SColor getAttributeAsColor (s32 index)=0
• virtual video::SColor getAttributeAsColor (const c8 ∗attributeName)=0
• virtual video::SColorf getAttributeAsColorf (s32 index)=0
• virtual video::SColorf getAttributeAsColorf (const c8 ∗attributeName)=0
• virtual const c8 ∗ getAttributeAsEnumeration (s32 index)=0
• virtual s32 getAttributeAsEnumeration (s32 index, const c8 ∗const ∗enumerationLiteralsToUse)=0
Gets an attribute as enumeration.

• virtual s32 getAttributeAsEnumeration (const c8 ∗attributeName, const c8 ∗const ∗enumeration-


LiteralsToUse)=0
Gets an attribute as enumeration.

• virtual const c8 ∗ getAttributeAsEnumeration (const c8 ∗attributeName)=0


• virtual f32 getAttributeAsFloat (s32 index)=0
• virtual f32 getAttributeAsFloat (const c8 ∗attributeName)=0
• virtual s32 getAttributeAsInt (s32 index)=0
• virtual s32 getAttributeAsInt (const c8 ∗attributeName)=0
• virtual core::line2df getAttributeAsLine2d (s32 index)=0
• virtual core::line2df getAttributeAsLine2d (const c8 ∗attributeName)=0
• virtual core::line3df getAttributeAsLine3d (s32 index)=0
• virtual core::line3df getAttributeAsLine3d (const c8 ∗attributeName)=0
• virtual core::matrix4 getAttributeAsMatrix (s32 index)=0
• virtual core::matrix4 getAttributeAsMatrix (const c8 ∗attributeName)=0
• virtual core::plane3df getAttributeAsPlane3d (s32 index)=0
• virtual core::plane3df getAttributeAsPlane3d (const c8 ∗attributeName)=0
• virtual core::position2di getAttributeAsPosition2d (s32 index)=0
• virtual core::position2di getAttributeAsPosition2d (const c8 ∗attributeName)=0
• virtual core::quaternion getAttributeAsQuaternion (s32 index)=0
• virtual core::quaternion getAttributeAsQuaternion (const c8 ∗attributeName)=0
• virtual core::rect< s32 > getAttributeAsRect (s32 index)=0
• virtual core::rect< s32 > getAttributeAsRect (const c8 ∗attributeName)=0
• virtual core::stringc getAttributeAsString (s32 index)=0
• virtual void getAttributeAsString (const c8 ∗attributeName, c8 ∗target)=0
• virtual core::stringc getAttributeAsString (const c8 ∗attributeName)=0
• virtual core::stringw getAttributeAsStringW (s32 index)=0
• virtual void getAttributeAsStringW (const c8 ∗attributeName, wchar_t ∗target)=0
• virtual core::stringw getAttributeAsStringW (const c8 ∗attributeName)=0
• virtual video::ITexture ∗ getAttributeAsTexture (s32 index)=0
• virtual video::ITexture ∗ getAttributeAsTexture (const c8 ∗attributeName)=0
• virtual core::triangle3df getAttributeAsTriangle3d (s32 index)=0
• virtual core::triangle3df getAttributeAsTriangle3d (const c8 ∗attributeName)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 181

• virtual void ∗ getAttributeAsUserPointer (s32 index)=0


• virtual void ∗ getAttributeAsUserPointer (const c8 ∗attributeName)=0
• virtual core::vector3df getAttributeAsVector3d (s32 index)=0
• virtual core::vector3df getAttributeAsVector3d (const c8 ∗attributeName)=0
• virtual u32 getAttributeCount () const =0
Returns amount of attributes in this collection of attributes.

• virtual void getAttributeEnumerationLiteralsOfEnumeration (s32 index, core::array< core::stringc


> &outLiterals)=0
• virtual void getAttributeEnumerationLiteralsOfEnumeration (const c8 ∗attributeName, core::array<
core::stringc > &outLiterals)=0
• virtual const c8 ∗ getAttributeName (s32 index)=0
• virtual E_ATTRIBUTE_TYPE getAttributeType (s32 index)=0
• virtual E_ATTRIBUTE_TYPE getAttributeType (const c8 ∗attributeName)=0
• virtual const wchar_t ∗ getAttributeTypeString (s32 index)=0
• virtual const wchar_t ∗ getAttributeTypeString (const c8 ∗attributeName)=0
• virtual bool read (io::IXMLReader ∗reader, bool readCurrentElementOnly=false, const wchar_-
t ∗elementName=0)=0
• virtual void setAttribute (s32 index, void ∗userPointer)=0
Sets an attribute as user pointer.

• virtual void setAttribute (const c8 ∗attributeName, void ∗userPointer)=0


Sets an attribute as user pointer.

• virtual void setAttribute (s32 index, video::ITexture ∗texture)=0


Sets an attribute as texture reference.

• virtual void setAttribute (const c8 ∗attributeName, video::ITexture ∗texture)=0


Sets an attribute as texture reference.

• virtual void setAttribute (s32 index, core::line3df v)=0


Sets an attribute as a 3d line.

• virtual void setAttribute (const c8 ∗attributeName, core::line3df v)=0


Sets an attribute as a 3d line.

• virtual void setAttribute (s32 index, core::line2df v)=0


Sets an attribute as a 2d line.

• virtual void setAttribute (const c8 ∗attributeName, core::line2df v)=0


Sets an attribute as a 2d line.

• virtual void setAttribute (s32 index, core::triangle3df v)=0


Sets an attribute as 3d triangle.

• virtual void setAttribute (const c8 ∗attributeName, core::triangle3df v)=0


Sets an attribute as 3d trianle.

• virtual void setAttribute (s32 index, core::plane3df v)=0


Sets an attribute as 3d plane.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


182 Irrlicht Engine Class Documentation

• virtual void setAttribute (const c8 ∗attributeName, core::plane3df v)=0


Sets an attribute as 3d plane.

• virtual void setAttribute (s32 index, core::aabbox3df v)=0


Sets an attribute as axis aligned bounding box.

• virtual void setAttribute (const c8 ∗attributeName, core::aabbox3df v)=0


Sets an attribute as axis aligned bounding box.

• virtual void setAttribute (s32 index, core::quaternion v)=0


Sets an attribute as quaternion.

• virtual void setAttribute (const c8 ∗attributeName, core::quaternion v)=0


Sets an attribute as quaternion.

• virtual void setAttribute (s32 index, const core::matrix4 &v)=0


Sets an attribute as matrix.

• virtual void setAttribute (const c8 ∗attributeName, const core::matrix4 &v)=0


Sets an attribute as matrix.

• virtual void setAttribute (s32 index, core::rect< s32 > v)=0


Sets an attribute as rectangle.

• virtual void setAttribute (const c8 ∗attributeName, core::rect< s32 > v)=0


Sets an attribute as rectangle.

• virtual void setAttribute (s32 index, core::position2di v)=0


Sets an attribute as 2d position.

• virtual void setAttribute (const c8 ∗attributeName, core::position2di v)=0


Sets a attribute as 2d position.

• virtual void setAttribute (s32 index, core::vector3df v)=0


Sets an attribute as vector.

• virtual void setAttribute (const c8 ∗attributeName, core::vector3df v)=0


Sets a attribute as 3d vector.

• virtual void setAttribute (s32 index, video::SColorf color)=0


Sets an attribute as floating point color.

• virtual void setAttribute (const c8 ∗attributeName, video::SColorf color)=0


Sets a attribute as floating point color.

• virtual void setAttribute (s32 index, video::SColor color)=0


Sets an attribute as color.

• virtual void setAttribute (const c8 ∗attributeName, video::SColor color)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 183

Sets a attribute as color.

• virtual void setAttribute (s32 index, const c8 ∗enumValue, const c8 ∗const ∗enumeration-
Literals)=0
Sets an attribute as enumeration.

• virtual void setAttribute (const c8 ∗attributeName, const c8 ∗enumValue, const c8 ∗const


∗enumerationLiterals)=0
Sets an attribute as enumeration.

• virtual void setAttribute (s32 index, bool value)=0


Sets an attribute as boolean value.

• virtual void setAttribute (const c8 ∗attributeName, bool value)=0


Sets an attribute as boolean value.

• virtual void setAttribute (s32 index, core::array< core::stringw > value)=0


Sets an attribute as an array of wide strings.

• virtual void setAttribute (const c8 ∗attributeName, const core::array< core::stringw > value)=0
• virtual void setAttribute (s32 index, void ∗data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.

• virtual void setAttribute (const c8 ∗attributeName, void ∗data, s32 dataSizeInBytes)=0


Sets an attribute as binary data.

• virtual void setAttribute (s32 index, const wchar_t ∗value)=0


• virtual void setAttribute (const c8 ∗attributeName, const wchar_t ∗value)=0
• virtual void setAttribute (s32 index, const c8 ∗value)=0
• virtual void setAttribute (const c8 ∗attributeName, const c8 ∗value)=0
• virtual void setAttribute (s32 index, f32 value)=0
Sets an attribute as float value.

• virtual void setAttribute (const c8 ∗attributeName, f32 value)=0


Sets a attribute as float value.

• virtual void setAttribute (s32 index, s32 value)=0


Sets an attribute as integer value.

• virtual void setAttribute (const c8 ∗attributeName, s32 value)=0


Sets an attribute as integer value.

• virtual bool write (io::IXMLWriter ∗writer, bool writeXMLHeader=false, const wchar_t ∗element-
Name=0)=0

7.12.1 Detailed Description

Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition at line 120 of file IAttributes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


184 Irrlicht Engine Class Documentation

7.12.2 Member Function Documentation

7.12.2.1 virtual void irr::io::IAttributes::addArray (const c8 ∗ attributeName, core::array<


core::stringw > value) [pure virtual]

Adds an attribute as wide string array.

7.12.2.2 virtual void irr::io::IAttributes::addBinary (const c8 ∗ attributeName, void ∗ data, s32


dataSizeInBytes) [pure virtual]

Adds an attribute as binary data.

7.12.2.3 virtual void irr::io::IAttributes::addBool (const c8 ∗ attributeName, bool value) [pure


virtual]

Adds an attribute as bool.

7.12.2.4 virtual void irr::io::IAttributes::addBox3d (const c8 ∗ attributeName, core::aabbox3df v)


[pure virtual]

Adds an attribute as axis aligned bounding box.

7.12.2.5 virtual void irr::io::IAttributes::addColor (const c8 ∗ attributeName, video::SColor value)


[pure virtual]

Adds an attribute as color.

7.12.2.6 virtual void irr::io::IAttributes::addColorf (const c8 ∗ attributeName, video::SColorf


value) [pure virtual]

Adds an attribute as floating point color.

7.12.2.7 virtual void irr::io::IAttributes::addEnum (const c8 ∗ attributeName, s32 enumValue,


const c8 ∗const ∗ enumerationLiterals) [pure virtual]

Adds an attribute as enum.

7.12.2.8 virtual void irr::io::IAttributes::addEnum (const c8 ∗ attributeName, const c8 ∗


enumValue, const c8 ∗const ∗ enumerationLiterals) [pure virtual]

Adds an attribute as enum.

7.12.2.9 virtual void irr::io::IAttributes::addFloat (const c8 ∗ attributeName, f32 value) [pure


virtual]

Adds an attribute as float.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 185

7.12.2.10 virtual void irr::io::IAttributes::addInt (const c8 ∗ attributeName, s32 value) [pure


virtual]

Adds an attribute as integer.

7.12.2.11 virtual void irr::io::IAttributes::addLine2d (const c8 ∗ attributeName, core::line2df v)


[pure virtual]

Adds an attribute as a 2d line.

7.12.2.12 virtual void irr::io::IAttributes::addLine3d (const c8 ∗ attributeName, core::line3df v)


[pure virtual]

Adds an attribute as a 3d line.

7.12.2.13 virtual void irr::io::IAttributes::addMatrix (const c8 ∗ attributeName, const


core::matrix4 & v) [pure virtual]

Adds an attribute as matrix.

7.12.2.14 virtual void irr::io::IAttributes::addPlane3d (const c8 ∗ attributeName, core::plane3df v)


[pure virtual]

Adds an attribute as 3d plane.

7.12.2.15 virtual void irr::io::IAttributes::addPosition2d (const c8 ∗ attributeName,


core::position2di value) [pure virtual]

Adds an attribute as 2d position.

7.12.2.16 virtual void irr::io::IAttributes::addQuaternion (const c8 ∗ attributeName,


core::quaternion v) [pure virtual]

Adds an attribute as quaternion.

7.12.2.17 virtual void irr::io::IAttributes::addRect (const c8 ∗ attributeName, core::rect< s32 >


value) [pure virtual]

Adds an attribute as rectangle.

7.12.2.18 virtual void irr::io::IAttributes::addString (const c8 ∗ attributeName, const wchar_t ∗


value) [pure virtual]

Adds an attribute as string.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


186 Irrlicht Engine Class Documentation

7.12.2.19 virtual void irr::io::IAttributes::addString (const c8 ∗ attributeName, const c8 ∗ value)


[pure virtual]

Adds an attribute as string.

7.12.2.20 virtual void irr::io::IAttributes::addTexture (const c8 ∗ attributeName, video::ITexture ∗


texture) [pure virtual]

Adds an attribute as texture reference.

7.12.2.21 virtual void irr::io::IAttributes::addTriangle3d (const c8 ∗ attributeName,


core::triangle3df v) [pure virtual]

Adds an attribute as 3d triangle.

7.12.2.22 virtual void irr::io::IAttributes::addUserPointer (const c8 ∗ attributeName, void ∗


userPointer) [pure virtual]

Adds an attribute as user pointner.

7.12.2.23 virtual void irr::io::IAttributes::addVector3d (const c8 ∗ attributeName, core::vector3df


value) [pure virtual]

Adds an attribute as 3d vector.

7.12.2.24 virtual void irr::io::IAttributes::clear () [pure virtual]

Removes all attributes.

7.12.2.25 virtual bool irr::io::IAttributes::existsAttribute (const c8 ∗ attributeName) [pure


virtual]

Returns if an attribute with a name exists.

7.12.2.26 virtual s32 irr::io::IAttributes::findAttribute (const c8 ∗ attributeName) [pure


virtual]

Returns attribute index from name, -1 if not found.

7.12.2.27 virtual core::array<core::stringw> irr::io::IAttributes::getAttributeAsArray (s32


index) [pure virtual]

Returns attribute value as an array of wide strings by index.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 187

7.12.2.28 virtual core::array<core::stringw> irr::io::IAttributes::getAttributeAsArray (const c8


∗ attributeName) [pure virtual]

Gets an attribute as an array of wide strings.

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.

7.12.2.29 virtual void irr::io::IAttributes::getAttributeAsBinaryData (s32 index, void ∗ outData,


s32 maxSizeInBytes) [pure virtual]

Gets an attribute as binary data.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
outData Pointer to buffer where data shall be stored.
maxSizeInBytes Maximum number of bytes to write into outData.

7.12.2.30 virtual void irr::io::IAttributes::getAttributeAsBinaryData (const c8 ∗ attributeName,


void ∗ outData, s32 maxSizeInBytes) [pure virtual]

Gets an attribute as binary data.

Parameters:
attributeName: Name of the attribute to get.
outData Pointer to buffer where data shall be stored.
maxSizeInBytes Maximum number of bytes to write into outData.

7.12.2.31 virtual bool irr::io::IAttributes::getAttributeAsBool (s32 index) [pure virtual]

Gets an attribute as boolean value


Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.32 virtual bool irr::io::IAttributes::getAttributeAsBool (const c8 ∗ attributeName) [pure


virtual]

Gets an attribute as boolean value


Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


188 Irrlicht Engine Class Documentation

7.12.2.33 virtual core::aabbox3df irr::io::IAttributes::getAttributeAsBox3d (s32 index) [pure


virtual]

Gets an attribute as axis aligned bounding box

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.34 virtual core::aabbox3df irr::io::IAttributes::getAttributeAsBox3d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a axis aligned bounding box

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.35 virtual video::SColor irr::io::IAttributes::getAttributeAsColor (s32 index) [pure


virtual]

Gets an attribute as color

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.36 virtual video::SColor irr::io::IAttributes::getAttributeAsColor (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as color

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.37 virtual video::SColorf irr::io::IAttributes::getAttributeAsColorf (s32 index) [pure


virtual]

Gets an attribute as floating point color

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 189

7.12.2.38 virtual video::SColorf irr::io::IAttributes::getAttributeAsColorf (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as floating point color

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.39 virtual const c8∗ irr::io::IAttributes::getAttributeAsEnumeration (s32 index) [pure


virtual]

Gets an attribute as enumeration

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.40 virtual s32 irr::io::IAttributes::getAttributeAsEnumeration (s32 index, const c8 ∗const ∗


enumerationLiteralsToUse) [pure virtual]

Gets an attribute as enumeration.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
enumerationLiteralsToUse: Use these enumeration literals to get the index value instead of the set
ones. This is useful when the attribute list maybe was read from an xml file, and only contains
the enumeration string, but no information about its index.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.41 virtual s32 irr::io::IAttributes::getAttributeAsEnumeration (const c8 ∗ attributeName,


const c8 ∗const ∗ enumerationLiteralsToUse) [pure virtual]

Gets an attribute as enumeration.

Parameters:
attributeName: Name of the attribute to get.
enumerationLiteralsToUse: Use these enumeration literals to get the index value instead of the set
ones. This is useful when the attribute list maybe was read from an xml file, and only contains
the enumeration string, but no information about its index.

Returns:
Returns value of the attribute previously set by setAttribute()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


190 Irrlicht Engine Class Documentation

7.12.2.42 virtual const c8∗ irr::io::IAttributes::getAttributeAsEnumeration (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as enumeration

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.43 virtual f32 irr::io::IAttributes::getAttributeAsFloat (s32 index) [pure virtual]

Gets an attribute as float value

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.44 virtual f32 irr::io::IAttributes::getAttributeAsFloat (const c8 ∗ attributeName) [pure


virtual]

Gets an attribute as float value

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.45 virtual s32 irr::io::IAttributes::getAttributeAsInt (s32 index) [pure virtual]

Gets an attribute as integer value

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.46 virtual s32 irr::io::IAttributes::getAttributeAsInt (const c8 ∗ attributeName) [pure


virtual]

Gets an attribute as integer value

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 191

7.12.2.47 virtual core::line2df irr::io::IAttributes::getAttributeAsLine2d (s32 index) [pure


virtual]

Gets an attribute as a 2d line

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.48 virtual core::line2df irr::io::IAttributes::getAttributeAsLine2d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a 2d line

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.49 virtual core::line3df irr::io::IAttributes::getAttributeAsLine3d (s32 index) [pure


virtual]

Gets an attribute as a 3d line

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.50 virtual core::line3df irr::io::IAttributes::getAttributeAsLine3d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a 3d line

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.51 virtual core::matrix4 irr::io::IAttributes::getAttributeAsMatrix (s32 index) [pure


virtual]

Gets an attribute as matrix

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


192 Irrlicht Engine Class Documentation

7.12.2.52 virtual core::matrix4 irr::io::IAttributes::getAttributeAsMatrix (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a matrix4

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.53 virtual core::plane3df irr::io::IAttributes::getAttributeAsPlane3d (s32 index) [pure


virtual]

Gets an attribute as 3d plane

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.54 virtual core::plane3df irr::io::IAttributes::getAttributeAsPlane3d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a 3d plane

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.55 virtual core::position2di irr::io::IAttributes::getAttributeAsPosition2d (s32 index)


[pure virtual]

Gets an attribute as position

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.56 virtual core::position2di irr::io::IAttributes::getAttributeAsPosition2d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as position

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 193

7.12.2.57 virtual core::quaternion irr::io::IAttributes::getAttributeAsQuaternion (s32 index)


[pure virtual]

Gets an attribute as quaternion

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.58 virtual core::quaternion irr::io::IAttributes::getAttributeAsQuaternion (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a quaternion

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.59 virtual core::rect<s32> irr::io::IAttributes::getAttributeAsRect (s32 index) [pure


virtual]

Gets an attribute as rectangle

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.60 virtual core::rect<s32> irr::io::IAttributes::getAttributeAsRect (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as rectangle

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.61 virtual core::stringc irr::io::IAttributes::getAttributeAsString (s32 index) [pure


virtual]

Returns attribute value as string by index.

Parameters:
index Index value, must be between 0 and getAttributeCount()-1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


194 Irrlicht Engine Class Documentation

7.12.2.62 virtual void irr::io::IAttributes::getAttributeAsString (const c8 ∗ attributeName, c8 ∗


target) [pure virtual]

Gets an attribute as string.

Parameters:
attributeName Name of the attribute to get.
target Buffer where the string is copied to.

7.12.2.63 virtual core::stringc irr::io::IAttributes::getAttributeAsString (const c8 ∗ attributeName)


[pure virtual]

Gets an attribute as string.

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.

7.12.2.64 virtual core::stringw irr::io::IAttributes::getAttributeAsStringW (s32 index) [pure


virtual]

Returns attribute value as string by index.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.65 virtual void irr::io::IAttributes::getAttributeAsStringW (const c8 ∗ attributeName,


wchar_t ∗ target) [pure virtual]

Gets an attribute as string.

Parameters:
attributeName: Name of the attribute to get.
target: Buffer where the string is copied to.

7.12.2.66 virtual core::stringw irr::io::IAttributes::getAttributeAsStringW (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as string.

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 195

7.12.2.67 virtual video::ITexture∗ irr::io::IAttributes::getAttributeAsTexture (s32 index) [pure


virtual]

Gets an attribute as texture reference


Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.68 virtual video::ITexture∗ irr::io::IAttributes::getAttributeAsTexture (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as texture reference


Parameters:
attributeName: Name of the attribute to get.

7.12.2.69 virtual core::triangle3df irr::io::IAttributes::getAttributeAsTriangle3d (s32 index)


[pure virtual]

Gets an attribute as 3d triangle

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.70 virtual core::triangle3df irr::io::IAttributes::getAttributeAsTriangle3d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as a 3d triangle

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.71 virtual void∗ irr::io::IAttributes::getAttributeAsUserPointer (s32 index) [pure


virtual]

Gets an attribute as user pointer

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.72 virtual void∗ irr::io::IAttributes::getAttributeAsUserPointer (const c8 ∗ attributeName)


[pure virtual]

Gets an attribute as user pointer

Parameters:
attributeName: Name of the attribute to get.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


196 Irrlicht Engine Class Documentation

7.12.2.73 virtual core::vector3df irr::io::IAttributes::getAttributeAsVector3d (s32 index) [pure


virtual]

Gets an attribute as 3d vector

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.74 virtual core::vector3df irr::io::IAttributes::getAttributeAsVector3d (const c8 ∗


attributeName) [pure virtual]

Gets an attribute as 3d vector

Parameters:
attributeName: Name of the attribute to get.

Returns:
Returns value of the attribute previously set by setAttribute()

7.12.2.75 virtual u32 irr::io::IAttributes::getAttributeCount () const [pure virtual]

Returns amount of attributes in this collection of attributes.

7.12.2.76 virtual void irr::io::IAttributes::getAttributeEnumerationLiteralsOfEnumeration (s32


index, core::array< core::stringc > & outLiterals) [pure virtual]

Gets the list of enumeration literals of an enumeration attribute

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
outLiterals Set of strings to choose the enum name from.

7.12.2.77 virtual void irr::io::IAttributes::getAttributeEnumerationLiteralsOfEnumeration (const


c8 ∗ attributeName, core::array< core::stringc > & outLiterals) [pure virtual]

Gets the list of enumeration literals of an enumeration attribute

Parameters:
attributeName Name of the attribute to get.
outLiterals Set of strings to choose the enum name from.

7.12.2.78 virtual const c8∗ irr::io::IAttributes::getAttributeName (s32 index) [pure


virtual]

Returns attribute name by index.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 197

7.12.2.79 virtual E_ATTRIBUTE_TYPE irr::io::IAttributes::getAttributeType (s32 index)


[pure virtual]

Returns attribute type by index.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.80 virtual E_ATTRIBUTE_TYPE irr::io::IAttributes::getAttributeType (const c8 ∗


attributeName) [pure virtual]

Returns the type of an attribute

Parameters:
attributeName: Name for the attribute

7.12.2.81 virtual const wchar_t∗ irr::io::IAttributes::getAttributeTypeString (s32 index) [pure


virtual]

Returns the type string of the attribute by index.

Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.

7.12.2.82 virtual const wchar_t∗ irr::io::IAttributes::getAttributeTypeString (const c8 ∗


attributeName) [pure virtual]

Returns the type string of the attribute

Parameters:
attributeName: String for the attribute type

7.12.2.83 virtual bool irr::io::IAttributes::read (io::IXMLReader ∗ reader, bool


readCurrentElementOnly = false, const wchar_t ∗ elementName = 0) [pure
virtual]

Reads attributes from a xml file.


Parameters:
reader The XML reader to read from
readCurrentElementOnly If set to true, reading only works if current element has the name ’at-
tributes’ or the name specified using elementName.
elementName The surrounding element name. If it is null, the default one, "attributes" will be taken.
If set to false, the first appearing list of attributes are read.

7.12.2.84 virtual void irr::io::IAttributes::setAttribute (s32 index, void ∗ userPointer) [pure


virtual]

Sets an attribute as user pointer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


198 Irrlicht Engine Class Documentation

7.12.2.85 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, void ∗


userPointer) [pure virtual]

Sets an attribute as user pointer.

7.12.2.86 virtual void irr::io::IAttributes::setAttribute (s32 index, video::ITexture ∗ texture)


[pure virtual]

Sets an attribute as texture reference.

7.12.2.87 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, video::ITexture


∗ texture) [pure virtual]

Sets an attribute as texture reference.

7.12.2.88 virtual void irr::io::IAttributes::setAttribute (s32 index, core::line3df v) [pure


virtual]

Sets an attribute as a 3d line.

7.12.2.89 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::line3df v)


[pure virtual]

Sets an attribute as a 3d line.

7.12.2.90 virtual void irr::io::IAttributes::setAttribute (s32 index, core::line2df v) [pure


virtual]

Sets an attribute as a 2d line.

7.12.2.91 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::line2df v)


[pure virtual]

Sets an attribute as a 2d line.

7.12.2.92 virtual void irr::io::IAttributes::setAttribute (s32 index, core::triangle3df v) [pure


virtual]

Sets an attribute as 3d triangle.

7.12.2.93 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::triangle3df


v) [pure virtual]

Sets an attribute as 3d trianle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 199

7.12.2.94 virtual void irr::io::IAttributes::setAttribute (s32 index, core::plane3df v) [pure


virtual]

Sets an attribute as 3d plane.

7.12.2.95 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::plane3df v)


[pure virtual]

Sets an attribute as 3d plane.

7.12.2.96 virtual void irr::io::IAttributes::setAttribute (s32 index, core::aabbox3df v) [pure


virtual]

Sets an attribute as axis aligned bounding box.

7.12.2.97 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::aabbox3df


v) [pure virtual]

Sets an attribute as axis aligned bounding box.

7.12.2.98 virtual void irr::io::IAttributes::setAttribute (s32 index, core::quaternion v) [pure


virtual]

Sets an attribute as quaternion.

7.12.2.99 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::quaternion


v) [pure virtual]

Sets an attribute as quaternion.

7.12.2.100 virtual void irr::io::IAttributes::setAttribute (s32 index, const core::matrix4 & v)


[pure virtual]

Sets an attribute as matrix.

7.12.2.101 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, const


core::matrix4 & v) [pure virtual]

Sets an attribute as matrix.

7.12.2.102 virtual void irr::io::IAttributes::setAttribute (s32 index, core::rect< s32 > v) [pure
virtual]

Sets an attribute as rectangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


200 Irrlicht Engine Class Documentation

7.12.2.103 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::rect< s32


> v) [pure virtual]

Sets an attribute as rectangle.

7.12.2.104 virtual void irr::io::IAttributes::setAttribute (s32 index, core::position2di v) [pure


virtual]

Sets an attribute as 2d position.

7.12.2.105 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName,


core::position2di v) [pure virtual]

Sets a attribute as 2d position.

7.12.2.106 virtual void irr::io::IAttributes::setAttribute (s32 index, core::vector3df v) [pure


virtual]

Sets an attribute as vector.

7.12.2.107 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, core::vector3df


v) [pure virtual]

Sets a attribute as 3d vector.

7.12.2.108 virtual void irr::io::IAttributes::setAttribute (s32 index, video::SColorf color) [pure


virtual]

Sets an attribute as floating point color.

7.12.2.109 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, video::SColorf


color) [pure virtual]

Sets a attribute as floating point color.

7.12.2.110 virtual void irr::io::IAttributes::setAttribute (s32 index, video::SColor color) [pure


virtual]

Sets an attribute as color.

7.12.2.111 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, video::SColor


color) [pure virtual]

Sets a attribute as color.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 201

7.12.2.112 virtual void irr::io::IAttributes::setAttribute (s32 index, const c8 ∗ enumValue, const c8


∗const ∗ enumerationLiterals) [pure virtual]

Sets an attribute as enumeration.

7.12.2.113 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, const c8 ∗


enumValue, const c8 ∗const ∗ enumerationLiterals) [pure virtual]

Sets an attribute as enumeration.

7.12.2.114 virtual void irr::io::IAttributes::setAttribute (s32 index, bool value) [pure


virtual]

Sets an attribute as boolean value.

7.12.2.115 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, bool value)


[pure virtual]

Sets an attribute as boolean value.

7.12.2.116 virtual void irr::io::IAttributes::setAttribute (s32 index, core::array< core::stringw >


value) [pure virtual]

Sets an attribute as an array of wide strings.

7.12.2.117 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, const


core::array< core::stringw > value) [pure virtual]

Sets an attribute value as a wide string array.

Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute

7.12.2.118 virtual void irr::io::IAttributes::setAttribute (s32 index, void ∗ data, s32


dataSizeInBytes) [pure virtual]

Sets an attribute as binary data.

7.12.2.119 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, void ∗ data, s32


dataSizeInBytes) [pure virtual]

Sets an attribute as binary data.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


202 Irrlicht Engine Class Documentation

7.12.2.120 virtual void irr::io::IAttributes::setAttribute (s32 index, const wchar_t ∗ value)


[pure virtual]

Sets an attribute value as string.

Parameters:
index Index value, must be between 0 and getAttributeCount()-1.
value String to which the attribute is set.

7.12.2.121 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, const wchar_t ∗


value) [pure virtual]

Sets an attribute value as string.

Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute

7.12.2.122 virtual void irr::io::IAttributes::setAttribute (s32 index, const c8 ∗ value) [pure


virtual]

Sets an attribute value as string.

Parameters:
index Index value, must be between 0 and getAttributeCount()-1.
value String to which the attribute is set.

7.12.2.123 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, const c8 ∗


value) [pure virtual]

Sets an attribute value as string.

Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute

7.12.2.124 virtual void irr::io::IAttributes::setAttribute (s32 index, f32 value) [pure


virtual]

Sets an attribute as float value.

7.12.2.125 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, f32 value)


[pure virtual]

Sets a attribute as float value.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.12 irr::io::IAttributes Class Reference 203

7.12.2.126 virtual void irr::io::IAttributes::setAttribute (s32 index, s32 value) [pure


virtual]

Sets an attribute as integer value.

7.12.2.127 virtual void irr::io::IAttributes::setAttribute (const c8 ∗ attributeName, s32 value)


[pure virtual]

Sets an attribute as integer value.

7.12.2.128 virtual bool irr::io::IAttributes::write (io::IXMLWriter ∗ writer, bool writeXMLHeader


= false, const wchar_t ∗ elementName = 0) [pure virtual]

Write these attributes into a xml file

Parameters:
writer: The XML writer to write to
writeXMLHeader: Writes a header to the XML file, required if at the beginning of the file
elementName: The surrounding element name. If it is null, the default one, "attributes" will be taken.

The documentation for this class was generated from the following file:

• IAttributes.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


204 Irrlicht Engine Class Documentation

7.13 irr::scene::IBillboardSceneNode Class Reference

A billboard scene node.


#include <IBillboardSceneNode.h>
Inheritance diagram for irr::scene::IBillboardSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IBillboardSceneNode

Public Member Functions

• virtual void getColor (video::SColor &topColor, video::SColor &bottomColor) const =0


Gets the color of the top and bottom vertices of the billboard.

• virtual const core::dimension2d< f32 > & getSize () const =0


Returns the size of the billboard.

• IBillboardSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df


&position=core::vector3df(0, 0, 0))
Constructor.

• virtual void setColor (const video::SColor &topColor, const video::SColor &bottomColor)=0


Set the color of the top and bottom vertices of the billboard.

• virtual void setColor (const video::SColor &overallColor)=0


Set the color of all vertices of the billboard.

• virtual void setSize (const core::dimension2d< f32 > &size)=0


Sets the size of the billboard.

7.13.1 Detailed Description

A billboard scene node.


A billboard is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for
explosions, fire, lensflares, particles and things like that.
Definition at line 20 of file IBillboardSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.13 irr::scene::IBillboardSceneNode Class Reference 205

7.13.2 Constructor & Destructor Documentation

7.13.2.1 irr::scene::IBillboardSceneNode::IBillboardSceneNode (ISceneNode ∗


parent, ISceneManager ∗ mgr, s32 id, const core::vector3df & position =
core::vector3df(0,0,0)) [inline]

Constructor.
Definition at line 25 of file IBillboardSceneNode.h.

7.13.3 Member Function Documentation

7.13.3.1 virtual void irr::scene::IBillboardSceneNode::getColor (video::SColor & topColor,


video::SColor & bottomColor) const [pure virtual]

Gets the color of the top and bottom vertices of the billboard.

Parameters:
topColor: stores the color of the top vertices
bottomColor: stores the color of the bottom vertices

7.13.3.2 virtual const core::dimension2d<f32>& irr::scene::IBillboardSceneNode::getSize ()


const [pure virtual]

Returns the size of the billboard.

7.13.3.3 virtual void irr::scene::IBillboardSceneNode::setColor (const video::SColor & topColor,


const video::SColor & bottomColor) [pure virtual]

Set the color of the top and bottom vertices of the billboard.

Parameters:
topColor: the color to set the top vertices
bottomColor: the color to set the bottom vertices

7.13.3.4 virtual void irr::scene::IBillboardSceneNode::setColor (const video::SColor &


overallColor) [pure virtual]

Set the color of all vertices of the billboard.

Parameters:
overallColor: the color to set

7.13.3.5 virtual void irr::scene::IBillboardSceneNode::setSize (const core::dimension2d< f32 > &


size) [pure virtual]

Sets the size of the billboard.


The documentation for this class was generated from the following file:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


206 Irrlicht Engine Class Documentation

• IBillboardSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.14 irr::scene::IBoneSceneNode Class Reference 207

7.14 irr::scene::IBoneSceneNode Class Reference


Interface for bones used for skeletal animation.
#include <IBoneSceneNode.h>
Inheritance diagram for irr::scene::IBoneSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IBoneSceneNode

Public Member Functions


• virtual E_BONE_ANIMATION_MODE getAnimationMode () const =0
Gets the current animation mode of the bone.

• virtual u32 getBoneIndex () const =0


Get the index of the bone.

• virtual const c8 ∗ getBoneName () const =0


Get the name of the bone.

• virtual const core::aabbox3d< f32 > & getBoundingBox () const =0


Get the axis aligned bounding box of this node.

• virtual E_BONE_SKINNING_SPACE getSkinningSpace ()=0


How the relative transformation of the bone is used.

• IBoneSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id=-1)


• virtual void OnAnimate (u32 timeMs)=0
The animation method.

• virtual void render ()


The render method.

• virtual bool setAnimationMode (E_BONE_ANIMATION_MODE mode)=0


Sets the animation mode of the bone.

• virtual void setSkinningSpace (E_BONE_SKINNING_SPACE space)=0


How the relative transformation of the bone is used.

• virtual void updateAbsolutePositionOfAllChildren ()=0


Updates the absolute position based on the relative and the parents position.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


208 Irrlicht Engine Class Documentation

Public Attributes
• s32 positionHint
• s32 rotationHint
• s32 scaleHint

7.14.1 Detailed Description

Interface for bones used for skeletal animation.


Used with ISkinnedMesh and IAnimatedMeshSceneNode.
Definition at line 55 of file IBoneSceneNode.h.

7.14.2 Constructor & Destructor Documentation

7.14.2.1 irr::scene::IBoneSceneNode::IBoneSceneNode (ISceneNode ∗ parent, ISceneManager ∗


mgr, s32 id = -1) [inline]

Definition at line 59 of file IBoneSceneNode.h.


References positionHint, rotationHint, and scaleHint.

7.14.3 Member Function Documentation

7.14.3.1 virtual E_BONE_ANIMATION_MODE irr::scene::IBoneSceneNode::getAnimation-


Mode () const [pure virtual]

Gets the current animation mode of the bone.

7.14.3.2 virtual u32 irr::scene::IBoneSceneNode::getBoneIndex () const [pure virtual]

Get the index of the bone.

7.14.3.3 virtual const c8∗ irr::scene::IBoneSceneNode::getBoneName () const [pure


virtual]

Get the name of the bone.

7.14.3.4 virtual const core::aabbox3d<f32>& irr::scene::IBoneSceneNode::getBoundingBox ()


const [pure virtual]

Get the axis aligned bounding box of this node.


Implements irr::scene::ISceneNode.

7.14.3.5 virtual E_BONE_SKINNING_SPACE irr::scene::IBoneSceneNode::getSkinningSpace ()


[pure virtual]

How the relative transformation of the bone is used.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.14 irr::scene::IBoneSceneNode Class Reference 209

7.14.3.6 virtual void irr::scene::IBoneSceneNode::OnAnimate (u32 timeMs) [pure virtual]

The animation method.


Reimplemented from irr::scene::ISceneNode.

7.14.3.7 virtual void irr::scene::IBoneSceneNode::render () [inline, virtual]

The render method.


Does nothing as bones are not visible.
Implements irr::scene::ISceneNode.
Definition at line 86 of file IBoneSceneNode.h.

7.14.3.8 virtual bool irr::scene::IBoneSceneNode::setAnimationMode


(E_BONE_ANIMATION_MODE mode) [pure virtual]

Sets the animation mode of the bone.

Returns:
True if successful. (Unused)

7.14.3.9 virtual void irr::scene::IBoneSceneNode::setSkinningSpace


(E_BONE_SKINNING_SPACE space) [pure virtual]

How the relative transformation of the bone is used.

7.14.3.10 virtual void irr::scene::IBoneSceneNode::updateAbsolutePositionOfAllChildren ()


[pure virtual]

Updates the absolute position based on the relative and the parents position.

7.14.4 Member Data Documentation

7.14.4.1 s32 irr::scene::IBoneSceneNode::positionHint

Definition at line 97 of file IBoneSceneNode.h.


Referenced by IBoneSceneNode().

7.14.4.2 s32 irr::scene::IBoneSceneNode::rotationHint

Definition at line 99 of file IBoneSceneNode.h.


Referenced by IBoneSceneNode().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


210 Irrlicht Engine Class Documentation

7.14.4.3 s32 irr::scene::IBoneSceneNode::scaleHint

Definition at line 98 of file IBoneSceneNode.h.


Referenced by IBoneSceneNode().
The documentation for this class was generated from the following file:

• IBoneSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.15 irr::scene::ICameraSceneNode Class Reference 211

7.15 irr::scene::ICameraSceneNode Class Reference


Scene Node which is a (controlable) camera.
#include <ICameraSceneNode.h>
Inheritance diagram for irr::scene::ICameraSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode irr::IEventReceiver

irr::scene::ICameraSceneNode

Public Member Functions


• virtual f32 getAspectRatio () const =0
Gets the aspect ratio of the camera.

• virtual f32 getFarValue () const =0


Gets the value of the far plane of the camera.

• virtual f32 getFOV () const =0


Gets the field of view of the camera.

• virtual f32 getNearValue () const =0


Gets the value of the near plane of the camera.

• virtual const core::matrix4 & getProjectionMatrix () const =0


Gets the current projection matrix of the camera.

• virtual core::vector3df getTarget () const =0


Gets the current look at target of the camera.

• virtual core::vector3df getUpVector () const =0


Gets the up vector of the camera.

• virtual const SViewFrustum ∗ getViewFrustum () const =0


Returns the view frustum.

• virtual const core::matrix4 & getViewMatrix () const =0


Gets the current view matrix of the camera.

• ICameraSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &po-
sition=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const
core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


212 Irrlicht Engine Class Documentation

Constructor.

• virtual bool isInputReceiverEnabled () const =0


Returns if the input receiver of the camera is currently enabled.

• virtual bool isOrthogonal () const


Returns if a camera is orthogonal.

• virtual bool OnEvent (const SEvent &event)=0


It is possible to send mouse and key events to the camera.

• virtual void setAspectRatio (f32 aspect)=0


Sets the aspect ratio (default: 4.0f / 3.0f).

• virtual void setFarValue (f32 zf)=0


Sets the value of the far clipping plane (default: 2000.0f).

• virtual void setFOV (f32 fovy)=0


Sets the field of view (Default: PI / 2.5f).

• virtual void setInputReceiverEnabled (bool enabled)=0


Disables or enables the camera to get key or mouse inputs.

• void setIsOrthogonal (bool orthogonal)


Sets if this camera should return that it is orthogonal.

• virtual void setNearValue (f32 zn)=0


Sets the value of the near clipping plane. (default: 1.0f).

• virtual void setProjectionMatrix (const core::matrix4 &projection)=0


Sets the projection matrix of the camera.

• virtual void setTarget (const core::vector3df &pos)=0


Sets the look at target of the camera.

• virtual void setUpVector (const core::vector3df &pos)=0


Sets the up vector of the camera.

• virtual ∼ICameraSceneNode ()
Destructor.

7.15.1 Detailed Description

Scene Node which is a (controlable) camera.


The whole scene will be rendered from the cameras point of view. Because the ICameraScenNode is a
SceneNode, it can be attached to any other scene node, and will follow its parents movement, rotation and
so on.
Definition at line 23 of file ICameraSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.15 irr::scene::ICameraSceneNode Class Reference 213

7.15.2 Constructor & Destructor Documentation

7.15.2.1 irr::scene::ICameraSceneNode::ICameraSceneNode (ISceneNode ∗ parent, IScene-


Manager ∗ mgr, s32 id, const core::vector3df & position = core::vector3df(0,0,0),
const core::vector3df & rotation = core::vector3df(0,0,0), const core::vector3df
& scale = core::vector3df(1.0f,1.0f,1.0f)) [inline]

Constructor.
Definition at line 28 of file ICameraSceneNode.h.

7.15.2.2 virtual irr::scene::ICameraSceneNode::∼ICameraSceneNode () [inline,


virtual]

Destructor.
Definition at line 35 of file ICameraSceneNode.h.

7.15.3 Member Function Documentation

7.15.3.1 virtual f32 irr::scene::ICameraSceneNode::getAspectRatio () const [pure virtual]

Gets the aspect ratio of the camera.

Returns:
Returns the aspect ratio of the camera.

7.15.3.2 virtual f32 irr::scene::ICameraSceneNode::getFarValue () const [pure virtual]

Gets the value of the far plane of the camera.

Returns:
Returns the value of the far plane of the camera.

7.15.3.3 virtual f32 irr::scene::ICameraSceneNode::getFOV () const [pure virtual]

Gets the field of view of the camera.

Returns:
Returns the field of view of the camera in radiants.

7.15.3.4 virtual f32 irr::scene::ICameraSceneNode::getNearValue () const [pure virtual]

Gets the value of the near plane of the camera.

Returns:
Returns the value of the near plane of the camera.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


214 Irrlicht Engine Class Documentation

7.15.3.5 virtual const core::matrix4& irr::scene::ICameraSceneNode::getProjectionMatrix ()


const [pure virtual]

Gets the current projection matrix of the camera.

Returns:
Returns the current projection matrix of the camera.

7.15.3.6 virtual core::vector3df irr::scene::ICameraSceneNode::getTarget () const [pure


virtual]

Gets the current look at target of the camera.

Returns:
Returns the current look at target of the camera

7.15.3.7 virtual core::vector3df irr::scene::ICameraSceneNode::getUpVector () const [pure


virtual]

Gets the up vector of the camera.

Returns:
Returns the up vector of the camera.

7.15.3.8 virtual const SViewFrustum∗ irr::scene::ICameraSceneNode::getViewFrustum () const


[pure virtual]

Returns the view frustum.


Needed sometimes by bspTree or LOD render nodes.

Returns:
Returns the current view frustum.

7.15.3.9 virtual const core::matrix4& irr::scene::ICameraSceneNode::getViewMatrix () const


[pure virtual]

Gets the current view matrix of the camera.

Returns:
Returns the current view matrix of the camera.

7.15.3.10 virtual bool irr::scene::ICameraSceneNode::isInputReceiverEnabled () const [pure


virtual]

Returns if the input receiver of the camera is currently enabled.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.15 irr::scene::ICameraSceneNode Class Reference 215

7.15.3.11 virtual bool irr::scene::ICameraSceneNode::isOrthogonal () const [inline,


virtual]

Returns if a camera is orthogonal.


Definition at line 123 of file ICameraSceneNode.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.

7.15.3.12 virtual bool irr::scene::ICameraSceneNode::OnEvent (const SEvent & event) [pure


virtual]

It is possible to send mouse and key events to the camera.


Most cameras may ignore this input, but camera scene nodes which are created for example with IScene-
Manager::addMayaCameraSceneNode or ISceneManager::addMeshViewerCameraSceneNode, may want
to get this input for changing their position, look at target or whatever.
Implements irr::IEventReceiver.

7.15.3.13 virtual void irr::scene::ICameraSceneNode::setAspectRatio (f32 aspect) [pure


virtual]

Sets the aspect ratio (default: 4.0f / 3.0f).

Parameters:
aspect: New aspect ratio.

7.15.3.14 virtual void irr::scene::ICameraSceneNode::setFarValue (f32 zf) [pure virtual]

Sets the value of the far clipping plane (default: 2000.0f).

Parameters:
zf: New z far value.

7.15.3.15 virtual void irr::scene::ICameraSceneNode::setFOV (f32 fovy) [pure virtual]

Sets the field of view (Default: PI / 2.5f).

Parameters:
fovy: New field of view in radiants.

7.15.3.16 virtual void irr::scene::ICameraSceneNode::setInputReceiverEnabled (bool enabled)


[pure virtual]

Disables or enables the camera to get key or mouse inputs.


If this is set to true, the camera will respond to key inputs otherwise not.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


216 Irrlicht Engine Class Documentation

7.15.3.17 void irr::scene::ICameraSceneNode::setIsOrthogonal (bool orthogonal) [inline]

Sets if this camera should return that it is orthogonal.


This setting does not change anything of the view or projection matrix. However, the kind of camera
influences how collision detection and picking is done and thus can be useful to query.
Definition at line 135 of file ICameraSceneNode.h.

7.15.3.18 virtual void irr::scene::ICameraSceneNode::setNearValue (f32 zn) [pure virtual]

Sets the value of the near clipping plane. (default: 1.0f).

Parameters:
zn: New z near value.

7.15.3.19 virtual void irr::scene::ICameraSceneNode::setProjectionMatrix (const core::matrix4 &


projection) [pure virtual]

Sets the projection matrix of the camera.


The core::matrix4 class has some methods to build a projection matrix. e.g: core::matrix4::buildProjection-
MatrixPerspectiveFovLH. Note that the matrix will only stay as set by this method until one of the following
Methods are called: setNearValue, setFarValue, setAspectRatio, setFOV.

Parameters:
projection: The new projection matrix of the camera.

7.15.3.20 virtual void irr::scene::ICameraSceneNode::setTarget (const core::vector3df & pos)


[pure virtual]

Sets the look at target of the camera.

Parameters:
pos: Look at target of the camera.

7.15.3.21 virtual void irr::scene::ICameraSceneNode::setUpVector (const core::vector3df & pos)


[pure virtual]

Sets the up vector of the camera.

Parameters:
pos: New upvector of the camera.

The documentation for this class was generated from the following file:

• ICameraSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.16 irr::gui::ICursorControl Class Reference 217

7.16 irr::gui::ICursorControl Class Reference


Interface to manipulate the mouse cursor.
#include <ICursorControl.h>
Inheritance diagram for irr::gui::ICursorControl::

irr::IReferenceCounted

irr::gui::ICursorControl

Public Member Functions


• virtual core::position2d< s32 > getPosition ()=0
Returns the current position of the mouse cursor.

• virtual core::position2d< f32 > getRelativePosition ()=0


Returns the current position of the mouse cursor.

• virtual bool isVisible () const =0


Returns if the cursor is currently visible.

• virtual void setPosition (s32 x, s32 y)=0


Sets the new position of the cursor.

• virtual void setPosition (const core::position2d< s32 > &pos)=0


Sets the new position of the cursor.

• virtual void setPosition (f32 x, f32 y)=0


Sets the new position of the cursor.

• virtual void setPosition (const core::position2d< f32 > &pos)=0


Sets the new position of the cursor.

• virtual void setReferenceRect (core::rect< s32 > ∗rect=0)=0


Sets an absolute reference rect for setting and retrieving the cursor position.

• virtual void setVisible (bool visible)=0


Changes the visible state of the mouse cursor.

7.16.1 Detailed Description

Interface to manipulate the mouse cursor.


Definition at line 18 of file ICursorControl.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


218 Irrlicht Engine Class Documentation

7.16.2 Member Function Documentation

7.16.2.1 virtual core::position2d<s32> irr::gui::ICursorControl::getPosition () [pure


virtual]

Returns the current position of the mouse cursor.

Returns:
Returns the current position of the cursor. The returned position is the position of the mouse cursor in
pixel units.

7.16.2.2 virtual core::position2d<f32> irr::gui::ICursorControl::getRelativePosition () [pure


virtual]

Returns the current position of the mouse cursor.

Returns:
Returns the current position of the cursor. The returned position is a value between (0.0f, 0.0f) and
(1.0f, 1.0f), where (0.0f, 0.0f) is the top left corner and (1.0f, 1.0f) is the bottom right corner of the
render window.

7.16.2.3 virtual bool irr::gui::ICursorControl::isVisible () const [pure virtual]

Returns if the cursor is currently visible.

Returns:
True if the cursor is visible, false if not.

7.16.2.4 virtual void irr::gui::ICursorControl::setPosition (s32 x, s32 y) [pure virtual]

Sets the new position of the cursor.

Parameters:
x New x-coord of the cursor. The coordinates are pixel units.
y New y-coord of the cursor. The coordinates are pixel units.

7.16.2.5 virtual void irr::gui::ICursorControl::setPosition (const core::position2d< s32 > & pos)
[pure virtual]

Sets the new position of the cursor.

Parameters:
pos: New position of the cursor. The coordinates are pixel units.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.16 irr::gui::ICursorControl Class Reference 219

7.16.2.6 virtual void irr::gui::ICursorControl::setPosition (f32 x, f32 y) [pure virtual]

Sets the new position of the cursor.


The position must be between (0.0f, 0.0f) and (1.0f, 1.0f), where (0.0f, 0.0f) is the top left corner and (1.0f,
1.0f) is the bottom right corner of the render window.

Parameters:
x New x-coord of the cursor.
y New x-coord of the cursor.

7.16.2.7 virtual void irr::gui::ICursorControl::setPosition (const core::position2d< f32 > & pos)
[pure virtual]

Sets the new position of the cursor.


The position must be between (0.0f, 0.0f) and (1.0f, 1.0f), where (0.0f, 0.0f) is the top left corner and (1.0f,
1.0f) is the bottom right corner of the render window.

Parameters:
pos New position of the cursor.

7.16.2.8 virtual void irr::gui::ICursorControl::setReferenceRect (core::rect< s32 > ∗ rect = 0)


[pure virtual]

Sets an absolute reference rect for setting and retrieving the cursor position.
If this rect is set, the cursor position is not being calculated relative to the rendering window but to this
rect. You can set the rect pointer to 0 to disable this feature again. This feature is useful when rendering
into parts of foreign windows for example in an editor.

Parameters:
rect: A pointer to an reference rectangle or 0 to disable the reference rectangle.

7.16.2.9 virtual void irr::gui::ICursorControl::setVisible (bool visible) [pure virtual]

Changes the visible state of the mouse cursor.

Parameters:
visible: The new visible state. If true, the cursor will be visible, if false, it will be invisible.

The documentation for this class was generated from the following file:

• ICursorControl.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


220 Irrlicht Engine Class Documentation

7.17 irr::scene::IDummyTransformationSceneNode Class Refer-


ence

Dummy scene node for adding additional transformations to the scene graph.
#include <IDummyTransformationSceneNode.h>
Inheritance diagram for irr::scene::IDummyTransformationSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IDummyTransformationSceneNode

Public Member Functions

• virtual core::matrix4 & getRelativeTransformationMatrix ()=0


Returns a reference to the current relative transformation matrix.

• IDummyTransformationSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id)


Constructor.

7.17.1 Detailed Description

Dummy scene node for adding additional transformations to the scene graph.
This scene node does not render itself, and does not respond to set/getPosition, set/getRotation and set/get-
Scale. Its just a simple scene node that takes a matrix as relative transformation, making it possible to
insert any transformation anywhere into the scene graph. This scene node is for example used by the
IAnimatedMeshSceneNode for emulating joint scene nodes when playing skeletal animations.
Definition at line 23 of file IDummyTransformationSceneNode.h.

7.17.2 Constructor & Destructor Documentation

7.17.2.1 irr::scene::IDummyTransformationSceneNode::IDummyTransformationSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id) [inline]

Constructor.
Definition at line 28 of file IDummyTransformationSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.17 irr::scene::IDummyTransformationSceneNode Class Reference 221

7.17.3 Member Function Documentation

7.17.3.1 virtual core::matrix4& irr::scene::IDummyTransformationSceneNode::getRelative-


TransformationMatrix () [pure virtual]

Returns a reference to the current relative transformation matrix.


This is the matrix, this scene node uses instead of scale, translation and rotation.
The documentation for this class was generated from the following file:

• IDummyTransformationSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


222 Irrlicht Engine Class Documentation

7.18 irr::IEventReceiver Class Reference


Interface of an object which can receive events.
#include <IEventReceiver.h>
Inheritance diagram for irr::IEventReceiver::
irr::IEventReceiver

irr::gui::IGUIElement irr::scene::ICameraSceneNode

irr::gui::IGUIButton

irr::gui::IGUICheckBox

irr::gui::IGUIColorSelectDialog

irr::gui::IGUIComboBox

irr::gui::IGUIContextMenu

irr::gui::IGUIEditBox

irr::gui::IGUIFileOpenDialog

irr::gui::IGUIImage

irr::gui::IGUIInOutFader

irr::gui::IGUIListBox

irr::gui::IGUIMeshViewer

irr::gui::IGUIScrollBar

irr::gui::IGUISpinBox

irr::gui::IGUIStaticText

irr::gui::IGUITab

irr::gui::IGUITabControl

irr::gui::IGUIToolBar

irr::gui::IGUIWindow

Public Member Functions


• virtual bool OnEvent (const SEvent &event)=0
Called if an event happened.

• virtual ∼IEventReceiver ()
Destructor.

7.18.1 Detailed Description

Interface of an object which can receive events.


Many of the engine’s classes inherit IEventReceiver so they are able to process events. Events usually start
at a postEventFromUser function and are passed down through a chain of event receivers until OnEvent

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.18 irr::IEventReceiver Class Reference 223

returns true. See irr::EEVENT_TYPE for a description of where each type of event starts, and the path it
takes through the system.
Definition at line 253 of file IEventReceiver.h.

7.18.2 Constructor & Destructor Documentation

7.18.2.1 virtual irr::IEventReceiver::∼IEventReceiver () [inline, virtual]

Destructor.
Definition at line 258 of file IEventReceiver.h.

7.18.3 Member Function Documentation

7.18.3.1 virtual bool irr::IEventReceiver::OnEvent (const SEvent & event) [pure virtual]

Called if an event happened.

Returns:
True if the event was processed.

Implemented in irr::scene::ICameraSceneNode, and irr::gui::IGUIElement.


The documentation for this class was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


224 Irrlicht Engine Class Documentation

7.19 irr::io::IFileList Class Reference


The Filelist lists all files in a directory.
#include <IFileList.h>
Inheritance diagram for irr::io::IFileList::

irr::IReferenceCounted

irr::io::IFileList

Public Member Functions


• virtual u32 getFileCount () const =0
Get the number of files in the filelist.

• virtual const c8 ∗ getFileName (u32 index) const =0


Gets the name of a file in the list, based on an index.

• virtual const c8 ∗ getFullFileName (u32 index)=0


Gets the full name of a file in the list, path included, based on an index.

• virtual bool isDirectory (u32 index) const =0


Returns of the file is a directory.

• virtual ∼IFileList ()
Destructor.

7.19.1 Detailed Description

The Filelist lists all files in a directory.


Definition at line 16 of file IFileList.h.

7.19.2 Constructor & Destructor Documentation

7.19.2.1 virtual irr::io::IFileList::∼IFileList () [inline, virtual]

Destructor.
Definition at line 21 of file IFileList.h.

7.19.3 Member Function Documentation

7.19.3.1 virtual u32 irr::io::IFileList::getFileCount () const [pure virtual]

Get the number of files in the filelist.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.19 irr::io::IFileList Class Reference 225

Returns:
Amount of files and directories in the file list.

7.19.3.2 virtual const c8∗ irr::io::IFileList::getFileName (u32 index) const [pure virtual]

Gets the name of a file in the list, based on an index.


The path is not included in this name. Use getFullFileName for this.

Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.

Returns:
File name of the file. Returns 0, if an error occured.

7.19.3.3 virtual const c8∗ irr::io::IFileList::getFullFileName (u32 index) [pure virtual]

Gets the full name of a file in the list, path included, based on an index.

Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.

Returns:
File name of the file. Returns 0, if an error occured.

7.19.3.4 virtual bool irr::io::IFileList::isDirectory (u32 index) const [pure virtual]

Returns of the file is a directory.

Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.

Returns:
True, if the file is a directory, and false, if it is not. If an error occurs, the result is undefined.

The documentation for this class was generated from the following file:

• IFileList.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


226 Irrlicht Engine Class Documentation

7.20 irr::io::IFileReadCallBack Class Reference


Callback class for file read abstraction.
#include <irrXML.h>

Public Member Functions


• virtual long getSize () const =0
Returns size of file in bytes.

• virtual int read (void ∗buffer, int sizeToRead)=0


Reads an amount of bytes from the file.

• virtual ∼IFileReadCallBack ()
Destructor.

7.20.1 Detailed Description

Callback class for file read abstraction.


With this, it is possible to make the xml parser read in other things than just files. The Irrlicht engine
is using this for example to read xml from compressed .zip files. To make the parser read in any other
data, derive a class from this interface, implement the two methods to read your data and give a pointer to
an instance of your implementation when calling createIrrXMLReader(), createIrrXMLReaderUTF16() or
createIrrXMLReaderUTF32()
Definition at line 213 of file irrXML.h.

7.20.2 Constructor & Destructor Documentation

7.20.2.1 virtual irr::io::IFileReadCallBack::∼IFileReadCallBack () [inline, virtual]

Destructor.
Definition at line 218 of file irrXML.h.

7.20.3 Member Function Documentation

7.20.3.1 virtual long irr::io::IFileReadCallBack::getSize () const [pure virtual]

Returns size of file in bytes.

7.20.3.2 virtual int irr::io::IFileReadCallBack::read (void ∗ buffer, int sizeToRead) [pure


virtual]

Reads an amount of bytes from the file.

Parameters:
buffer: Pointer to buffer where to read bytes will be written to.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.20 irr::io::IFileReadCallBack Class Reference 227

sizeToRead: Amount of bytes to read from the file.

Returns:
Returns how much bytes were read.

The documentation for this class was generated from the following file:

• irrXML.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


228 Irrlicht Engine Class Documentation

7.21 irr::io::IFileSystem Class Reference


The FileSystem manages files and archives and provides access to them.
#include <IFileSystem.h>
Inheritance diagram for irr::io::IFileSystem::

irr::IReferenceCounted

irr::io::IFileSystem

Public Member Functions


• virtual bool addFolderFileArchive (const c8 ∗filename, bool ignoreCase=true, bool ignore-
Paths=true)=0
Adds an unzipped archive ( or basedirectory with subdirectories..) to the file system.

• virtual bool addPakFileArchive (const c8 ∗filename, bool ignoreCase=true, bool ignore-


Paths=true)=0
Adds an pak archive to the file system.

• virtual bool addZipFileArchive (const c8 ∗filename, bool ignoreCase=true, bool ignore-


Paths=true)=0
Adds an zip archive to the file system.

• virtual bool changeWorkingDirectoryTo (const c8 ∗newDirectory)=0


Changes the current working directory.

• virtual IReadFile ∗ createAndOpenFile (const c8 ∗filename)=0


Opens a file for read access.

• virtual IWriteFile ∗ createAndWriteFile (const c8 ∗filename, bool append=false)=0


Opens a file for write access.

• virtual IAttributes ∗ createEmptyAttributes (video::IVideoDriver ∗driver=0)=0


Creates a new empty collection of attributes, usable for serialization and more.

• virtual IFileList ∗ createFileList () const =0


Creates a list of files and directories in the current working directory and returns it.

• virtual IReadFile ∗ createMemoryReadFile (void ∗memory, s32 len, const c8 ∗fileName, bool delete-
MemoryWhenDropped=false)=0
Creates an IReadFile interface for accessing memory like a file.

• virtual IXMLReader ∗ createXMLReader (IReadFile ∗file)=0


Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).

• virtual IXMLReader ∗ createXMLReader (const c8 ∗filename)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.21 irr::io::IFileSystem Class Reference 229

Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).

• virtual IXMLReaderUTF8 ∗ createXMLReaderUTF8 (IReadFile ∗file)=0


Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).

• virtual IXMLReaderUTF8 ∗ createXMLReaderUTF8 (const c8 ∗filename)=0


Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).

• virtual IXMLWriter ∗ createXMLWriter (IWriteFile ∗file)=0


Creates a XML Writer from a file.

• virtual IXMLWriter ∗ createXMLWriter (const c8 ∗filename)=0


Creates a XML Writer from a file.

• virtual bool existFile (const c8 ∗filename) const =0


Determines if a file exists and could be opened.

• virtual core::stringc getAbsolutePath (const core::stringc &filename) const =0


Converts a relative path to an absolute (unique) path, resolving symbolic links if required.

• virtual core::stringc getFileDir (const core::stringc &filename) const =0


Returns the directory a file is located in.

• virtual const c8 ∗ getWorkingDirectory ()=0


Get the current working directory.

• virtual ∼IFileSystem ()
Destructor.

7.21.1 Detailed Description

The FileSystem manages files and archives and provides access to them.
It manages where files are, so that modules which use the the IO do not need to know where every file is
located. A file could be in a .zip-Archive or as file on disk, using the IFileSystem makes no difference to
this.
Definition at line 31 of file IFileSystem.h.

7.21.2 Constructor & Destructor Documentation

7.21.2.1 virtual irr::io::IFileSystem::∼IFileSystem () [inline, virtual]

Destructor.
Definition at line 36 of file IFileSystem.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


230 Irrlicht Engine Class Documentation

7.21.3 Member Function Documentation

7.21.3.1 virtual bool irr::io::IFileSystem::addFolderFileArchive (const c8 ∗ filename, bool


ignoreCase = true, bool ignorePaths = true) [pure virtual]

Adds an unzipped archive ( or basedirectory with subdirectories..) to the file system.


Useful for handling data which will be in a zip file

Parameters:
filename: Filename of the unzipped zip archive base directory to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.
ignorePaths: If set to true, files in the added archive can be accessed without its complete path.

Returns:
Returns true if the archive was added successful, false if not.

7.21.3.2 virtual bool irr::io::IFileSystem::addPakFileArchive (const c8 ∗ filename, bool ignoreCase


= true, bool ignorePaths = true) [pure virtual]

Adds an pak archive to the file system.


After calling this, the Irrlicht Engine will search and open files directly from this archive too. This is useful
for hiding data from the end user, speeding up file access and making it possible to access for example
Quake2/KingPin/Hexen2 .pak files

Parameters:
filename: Filename of the pak archive to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.
ignorePaths: If set to true, files in the added archive can be accessed without its complete path.(should
not use with Quake2 paks

Returns:
Returns true if the archive was added successful, false if not.

7.21.3.3 virtual bool irr::io::IFileSystem::addZipFileArchive (const c8 ∗ filename, bool ignoreCase


= true, bool ignorePaths = true) [pure virtual]

Adds an zip archive to the file system.


After calling this, the Irrlicht Engine will search and open files directly from this archive too. This is useful
for hiding data from the end user, speeding up file access and making it possible to access for example
Quake3 .pk3 files, which are nothing different than .zip files.

Parameters:
filename: Filename of the zip archive to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.21 irr::io::IFileSystem Class Reference 231

ignorePaths: If set to true, files in the added archive can be accessed without its complete path.

Returns:
Returns true if the archive was added successful, false if not.

7.21.3.4 virtual bool irr::io::IFileSystem::changeWorkingDirectoryTo (const c8 ∗ newDirectory)


[pure virtual]

Changes the current working directory.

Parameters:
newDirectory: A string specifying the new working directory. The string is operating system depen-
dent. Under Windows it has the form "<drive>:<directory><sudirectory><..>". An example
would be: "C:\Windows\"

Returns:
True if successful, otherwise false.

7.21.3.5 virtual IReadFile∗ irr::io::IFileSystem::createAndOpenFile (const c8 ∗ filename) [pure


virtual]

Opens a file for read access.

Parameters:
filename: Name of file to open.

Returns:
Returns a pointer to the created file interface. The returned pointer should be dropped when no longer
needed. See IReferenceCounted::drop() for more information.

7.21.3.6 virtual IWriteFile∗ irr::io::IFileSystem::createAndWriteFile (const c8 ∗ filename, bool


append = false) [pure virtual]

Opens a file for write access.

Parameters:
filename: Name of file to open.
append: If the file already exist, all write operations are appended to the file.

Returns:
Returns a pointer to the created file interface. 0 is returned, if the file could not created or opened
for writing. The returned pointer should be dropped when no longer needed. See IReference-
Counted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


232 Irrlicht Engine Class Documentation

7.21.3.7 virtual IAttributes∗ irr::io::IFileSystem::createEmptyAttributes (video::IVideoDriver ∗


driver = 0) [pure virtual]

Creates a new empty collection of attributes, usable for serialization and more.

Parameters:
driver: Video driver to be used to load textures when specified as attribute values. Can be null to
prevent automatic texture loading by attributes.

Returns:
Returns a pointer to the created object. If you no longer need the object, you should call IAt-
tributes::drop(). See IReferenceCounted::drop() for more information.

7.21.3.8 virtual IFileList∗ irr::io::IFileSystem::createFileList () const [pure virtual]

Creates a list of files and directories in the current working directory and returns it.

Returns:
a Pointer to the created IFileList is returned. After the list has been used it has to be deleted using its
IFileList::drop() method. See IReferenceCounted::drop() for more information.

7.21.3.9 virtual IReadFile∗ irr::io::IFileSystem::createMemoryReadFile (void ∗ memory, s32 len,


const c8 ∗ fileName, bool deleteMemoryWhenDropped = false) [pure virtual]

Creates an IReadFile interface for accessing memory like a file.


This allows you to use a pointer to memory where an IReadFile is requested.

Parameters:
memory: A pointer to the start of the file in memory
len: The length of the memory in bytes
fileName: The name given to this file
deleteMemoryWhenDropped: True if the memory should be deleted along with the IReadFile when
it is dropped.

Returns:
Returns a pointer to the created file interface. The returned pointer should be dropped when no longer
needed. See IReferenceCounted::drop() for more information.

7.21.3.10 virtual IXMLReader∗ irr::io::IFileSystem::createXMLReader (IReadFile ∗ file)


[pure virtual]

Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).
Use createXMLReaderUTF8() if you prefer char∗ instead of wchar_t∗. See IIrrXMLReader for more
information on how to use the parser.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use,
the reader has to be deleted using its IXMLReader::drop() method. See IReferenceCounted::drop() for
more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.21 irr::io::IFileSystem Class Reference 233

7.21.3.11 virtual IXMLReader∗ irr::io::IFileSystem::createXMLReader (const c8 ∗ filename)


[pure virtual]

Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).
Use createXMLReaderUTF8() if you prefer char∗ instead of wchar_t∗. See IIrrXMLReader for more
information on how to use the parser.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use,
the reader has to be deleted using its IXMLReader::drop() method. See IReferenceCounted::drop() for
more information.

7.21.3.12 virtual IXMLReaderUTF8∗ irr::io::IFileSystem::createXMLReaderUTF8 (IReadFile ∗


file) [pure virtual]

Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).
Use createXMLReader() if you prefer wchar_t∗ instead of char∗. See IIrrXMLReader for more information
on how to use the parser.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use, the
reader has to be deleted using its IXMLReaderUTF8::drop() method. See IReferenceCounted::drop()
for more information.

7.21.3.13 virtual IXMLReaderUTF8∗ irr::io::IFileSystem::createXMLReaderUTF8 (const c8 ∗


filename) [pure virtual]

Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).
Use createXMLReader() if you prefer wchar_t∗ instead of char∗. See IIrrXMLReader for more information
on how to use the parser.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use, the
reader has to be deleted using its IXMLReaderUTF8::drop() method. See IReferenceCounted::drop()
for more information.

7.21.3.14 virtual IXMLWriter∗ irr::io::IFileSystem::createXMLWriter (IWriteFile ∗ file) [pure


virtual]

Creates a XML Writer from a file.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLWriter is returned. After use,
the reader has to be deleted using its IXMLWriter::drop() method. See IReferenceCounted::drop() for
more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


234 Irrlicht Engine Class Documentation

7.21.3.15 virtual IXMLWriter∗ irr::io::IFileSystem::createXMLWriter (const c8 ∗ filename)


[pure virtual]

Creates a XML Writer from a file.

Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLWriter is returned. After use,
the reader has to be deleted using its IXMLWriter::drop() method. See IReferenceCounted::drop() for
more information.

7.21.3.16 virtual bool irr::io::IFileSystem::existFile (const c8 ∗ filename) const [pure


virtual]

Determines if a file exists and could be opened.

Parameters:
filename is the string identifying the file which should be tested for existence.

Returns:
Returns true if file exists, and false if it does not exist or an error occured.

7.21.3.17 virtual core::stringc irr::io::IFileSystem::getAbsolutePath (const core::stringc &


filename) const [pure virtual]

Converts a relative path to an absolute (unique) path, resolving symbolic links if required.

Parameters:
filename Possibly relative filename begin queried.

Returns:
Absolute filename which points to the same file.

7.21.3.18 virtual core::stringc irr::io::IFileSystem::getFileDir (const core::stringc & filename)


const [pure virtual]

Returns the directory a file is located in.

Parameters:
filename: The file to get the directory from.

Returns:
String containing the directory of the file.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.21 irr::io::IFileSystem Class Reference 235

7.21.3.19 virtual const c8∗ irr::io::IFileSystem::getWorkingDirectory () [pure virtual]

Get the current working directory.

Returns:
Current working directory as a string.

The documentation for this class was generated from the following file:

• IFileSystem.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


236 Irrlicht Engine Class Documentation

7.22 irr::video::IGPUProgrammingServices Class Reference


Interface making it possible to create and use programs running on the GPU.
#include <IGPUProgrammingServices.h>

Public Member Functions


• virtual s32 addHighLevelShaderMaterial (const c8 ∗vertexShaderProgram, const c8 ∗vertex-
ShaderEntryPointName="main", E_VERTEX_SHADER_TYPE vsCompileTarget=EVST_VS_1_-
1, const c8 ∗pixelShaderProgram=0, const c8 ∗pixelShaderEntryPointName="main", E_PIXEL_-
SHADER_TYPE psCompileTarget=EPST_PS_1_1, IShaderConstantSetCallBack ∗callback=0, E_-
MATERIAL_TYPE baseMaterial=video::EMT_SOLID, s32 userData=0)=0
Adds a new high-level shading material renderer to the VideoDriver.

• virtual s32 addHighLevelShaderMaterialFromFiles (io::IReadFile ∗vertexShaderProgram, const c8


∗vertexShaderEntryPointName="main", E_VERTEX_SHADER_TYPE vsCompileTarget=EVST_-
VS_1_1, io::IReadFile ∗pixelShaderProgram=0, const c8 ∗pixelShaderEntryPointName="main",
E_PIXEL_SHADER_TYPE psCompileTarget=EPST_PS_1_1, IShaderConstantSetCallBack
∗callback=0, E_MATERIAL_TYPE baseMaterial=video::EMT_SOLID, s32 userData=0)=0
Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

• virtual s32 addHighLevelShaderMaterialFromFiles (const c8 ∗vertexShaderProgram, const c8


∗vertexShaderEntryPointName="main", E_VERTEX_SHADER_TYPE vsCompileTarget=EVST_-
VS_1_1, const c8 ∗pixelShaderProgram=0, const c8 ∗pixelShaderEntryPointName="main",
E_PIXEL_SHADER_TYPE psCompileTarget=EPST_PS_1_1, IShaderConstantSetCallBack
∗callback=0, E_MATERIAL_TYPE baseMaterial=video::EMT_SOLID, s32 userData=0)=0
Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

• virtual s32 addShaderMaterial (const c8 ∗vertexShaderProgram=0, const c8 ∗pixel-


ShaderProgram=0, IShaderConstantSetCallBack ∗callback=0, E_MATERIAL_TYPE base-
Material=video::EMT_SOLID, s32 userData=0)=0
Adds a new ASM shader material renderer to the VideoDriver.

• virtual s32 addShaderMaterialFromFiles (const c8 ∗vertexShaderProgramFileName, const c8 ∗pixel-


ShaderProgramFileName, IShaderConstantSetCallBack ∗callback=0, E_MATERIAL_TYPE base-
Material=video::EMT_SOLID, s32 userData=0)=0
Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

• virtual s32 addShaderMaterialFromFiles (io::IReadFile ∗vertexShaderProgram, io::IReadFile


∗pixelShaderProgram, IShaderConstantSetCallBack ∗callback=0, E_MATERIAL_TYPE base-
Material=video::EMT_SOLID, s32 userData=0)=0
Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

• virtual ∼IGPUProgrammingServices ()
Destructor.

7.22.1 Detailed Description

Interface making it possible to create and use programs running on the GPU.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.22 irr::video::IGPUProgrammingServices Class Reference 237

Definition at line 74 of file IGPUProgrammingServices.h.

7.22.2 Constructor & Destructor Documentation

7.22.2.1 virtual irr::video::IGPUProgrammingServices::∼IGPUProgrammingServices ()


[inline, virtual]

Destructor.
Definition at line 79 of file IGPUProgrammingServices.h.

7.22.3 Member Function Documentation

7.22.3.1 virtual s32 irr::video::IGPUProgrammingServices::addHighLevelShaderMaterial


(const c8 ∗ vertexShaderProgram, const c8 ∗ vertexShaderEntryPointName =
"main", E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1,
const c8 ∗ pixelShaderProgram = 0, const c8 ∗ pixelShaderEntryPointName
= "main", E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Adds a new high-level shading material renderer to the VideoDriver.


Currently only HLSL/D3D9 and GLSL/OpenGL are supported.

Parameters:
vertexShaderProgram: String containing the source of the vertex shader program. This can be 0 if no
vertex program shall be used.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if no
pixel shader shall be used.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


238 Irrlicht Engine Class Documentation

7.22.3.2 virtual s32 irr::video::IGPUProgrammingServices::addHighLevelShaderMaterialFrom-


Files (io::IReadFile ∗ vertexShaderProgram, const c8 ∗ vertexShaderEntryPointName
= "main", E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1,
io::IReadFile ∗ pixelShaderProgram = 0, const c8 ∗ pixelShaderEntryPointName
= "main", E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

Parameters:
vertexShaderProgram: Text file handle containing the source of the vertex shader program. Set to 0
if no shader shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: Text file containing the source of the pixel shader program. Set to
pixelShaderProgram: Text file handle containing the source of the pixel shader program. Set to 0 if
no shader shall be created.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.

7.22.3.3 virtual s32 irr::video::IGPUProgrammingServices::addHighLevelShaderMaterial-


FromFiles (const c8 ∗ vertexShaderProgram, const c8 ∗ vertexShaderEntryPointName
= "main", E_VERTEX_SHADER_TYPE vsCompileTarget = EVST_VS_1_1,
const c8 ∗ pixelShaderProgram = 0, const c8 ∗ pixelShaderEntryPointName
= "main", E_PIXEL_SHADER_TYPE psCompileTarget = EPST_PS_1_1,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

Parameters:
vertexShaderProgram: Text file containing the source of the vertex shader program. Set to 0 if no
shader shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.22 irr::video::IGPUProgrammingServices Class Reference 239

pixelShaderProgram: Text file containing the source of the pixel shader program. Set to 0 if no shader
shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if no
pixel shader shall be used.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.

7.22.3.4 virtual s32 irr::video::IGPUProgrammingServices::addShaderMaterial


(const c8 ∗ vertexShaderProgram = 0, const c8 ∗ pixelShaderProgram = 0,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Adds a new ASM shader material renderer to the VideoDriver.


Note that it is a good idea to call IVideoDriver::queryFeature() in advance to check if the IVideoDriver
supports the vertex and/or pixel shader version your are using.
The material is added to the VideoDriver like with IVideoDriver::addMaterialRenderer() and can be used
like it had been added with that method.
Parameters:
vertexShaderProgram: String containing the source of the vertex shader program. This can be 0 if no
vertex program shall be used.

For DX8 programs, the will always input registers look like this: v0: position, v1: normal, v2: color, v3:
texture cooridnates, v4: texture coordinates 2 if available.
For DX9 programs, you can manually set the registers using the dcl_ statements.

Parameters:
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if you
don’t want to use a pixel shader.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


240 Irrlicht Engine Class Documentation

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.

7.22.3.5 virtual s32 irr::video::IGPUProgrammingServices::addShaderMaterialFromFiles


(const c8 ∗ vertexShaderProgramFileName, const c8 ∗ pixelShaderProgramFileName,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

Parameters:
vertexShaderProgramFileName: Text file name containing the source of the vertex shader program.
Set to 0 if no shader shall be created.
pixelShaderProgramFileName: Text file name containing the source of the pixel shader program. Set
to 0 if no shader shall be created.
callback: Pointer to an IShaderConstantSetCallback object on which the OnSetConstants function is
called.
baseMaterial: baseMaterial
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.

7.22.3.6 virtual s32 irr::video::IGPUProgrammingServices::addShaderMaterialFromFiles


(io::IReadFile ∗ vertexShaderProgram, io::IReadFile ∗ pixelShaderProgram,
IShaderConstantSetCallBack ∗ callback = 0, E_MATERIAL_TYPE baseMaterial =
video::EMT_SOLID, s32 userData = 0) [pure virtual]

Like IGPUProgrammingServices::addShaderMaterial(), but loads from files.

Parameters:
vertexShaderProgram: Text file containing the source of the vertex shader program. Set to 0 if no
shader shall be created.
pixelShaderProgram: Text file containing the source of the pixel shader program. Set to 0 if no shader
shall be created.
callback: Pointer to an IShaderConstantSetCallback object to which the OnSetConstants function is
called.
baseMaterial: baseMaterial
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.22 irr::video::IGPUProgrammingServices Class Reference 241

Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.

The documentation for this class was generated from the following file:

• IGPUProgrammingServices.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


242 Irrlicht Engine Class Documentation

7.23 irr::gui::IGUIButton Class Reference


GUI Button interface.
#include <IGUIButton.h>
Inheritance diagram for irr::gui::IGUIButton::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIButton

Public Member Functions


• IGUIButton (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 > rect-
angle)
constructor

• virtual bool isAlphaChannelUsed () const =0


Returns if the alpha channel should be used for drawing background images on the button.

• virtual bool isDrawingBorder () const =0


Returns if the border and button face are being drawn using the skin.

• virtual bool isPressed () const =0


Returns if the button is currently pressed.

• virtual bool isPushButton () const =0


Returns whether the button is a push button.

• virtual void setDrawBorder (bool border)=0


Sets if the button should use the skin to draw its border and button face (default is true).

• virtual void setImage (video::ITexture ∗image, const core::rect< s32 > &pos)=0
Sets a background image for the button when it is in normal state.

• virtual void setImage (video::ITexture ∗image)=0


Sets an image which should be displayed on the button when it is in normal state.

• virtual void setIsPushButton (bool isPushButton)=0


Sets if the button should behave like a push button.

• virtual void setOverrideFont (IGUIFont ∗font=0)=0


Sets another skin independent font.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.23 irr::gui::IGUIButton Class Reference 243

• virtual void setPressed (bool pressed)=0


Sets the pressed state of the button if this is a pushbutton.

• virtual void setPressedImage (video::ITexture ∗image, const core::rect< s32 > &pos)=0
Sets an image which should be displayed on the button when it is in pressed state.

• virtual void setPressedImage (video::ITexture ∗image)=0


Sets a background image for the button when it is in pressed state.

• virtual void setSprite (EGUI_BUTTON_STATE state, s32 index, video::SColor


color=video::SColor(255, 255, 255, 255), bool loop=false)=0
Sets the animated sprite for a specific button state.

• virtual void setSpriteBank (IGUISpriteBank ∗bank)=0


Sets the sprite bank used by the button.

• virtual void setUseAlphaChannel (bool useAlphaChannel)=0


Sets if the alpha channel should be used for drawing background images on the button (default is false).

• virtual ∼IGUIButton ()
destructor

7.23.1 Detailed Description

GUI Button interface.


Definition at line 55 of file IGUIButton.h.

7.23.2 Constructor & Destructor Documentation

7.23.2.1 irr::gui::IGUIButton::IGUIButton (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 60 of file IGUIButton.h.
References irr::gui::EGUIET_BUTTON.

7.23.2.2 virtual irr::gui::IGUIButton::∼IGUIButton () [inline, virtual]

destructor
Definition at line 64 of file IGUIButton.h.

7.23.3 Member Function Documentation

7.23.3.1 virtual bool irr::gui::IGUIButton::isAlphaChannelUsed () const [pure virtual]

Returns if the alpha channel should be used for drawing background images on the button.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


244 Irrlicht Engine Class Documentation

7.23.3.2 virtual bool irr::gui::IGUIButton::isDrawingBorder () const [pure virtual]

Returns if the border and button face are being drawn using the skin.

7.23.3.3 virtual bool irr::gui::IGUIButton::isPressed () const [pure virtual]

Returns if the button is currently pressed.

7.23.3.4 virtual bool irr::gui::IGUIButton::isPushButton () const [pure virtual]

Returns whether the button is a push button.

7.23.3.5 virtual void irr::gui::IGUIButton::setDrawBorder (bool border) [pure virtual]

Sets if the button should use the skin to draw its border and button face (default is true).

7.23.3.6 virtual void irr::gui::IGUIButton::setImage (video::ITexture ∗ image, const core::rect<


s32 > & pos) [pure virtual]

Sets a background image for the button when it is in normal state.

Parameters:
image: Texture containing the image to be displayed
pos: Position in the texture, where the image is located

7.23.3.7 virtual void irr::gui::IGUIButton::setImage (video::ITexture ∗ image) [pure


virtual]

Sets an image which should be displayed on the button when it is in normal state.

Parameters:
image: Image to be displayed

7.23.3.8 virtual void irr::gui::IGUIButton::setIsPushButton (bool isPushButton) [pure


virtual]

Sets if the button should behave like a push button.


Which means it can be in two states: Normal or Pressed. With a click on the button, the user can change
the state of the button.

7.23.3.9 virtual void irr::gui::IGUIButton::setOverrideFont (IGUIFont ∗ font = 0) [pure


virtual]

Sets another skin independent font.


If this is set to zero, the button uses the font of the skin.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.23 irr::gui::IGUIButton Class Reference 245

Parameters:
font: New font to set.

7.23.3.10 virtual void irr::gui::IGUIButton::setPressed (bool pressed) [pure virtual]

Sets the pressed state of the button if this is a pushbutton.

7.23.3.11 virtual void irr::gui::IGUIButton::setPressedImage (video::ITexture ∗ image, const


core::rect< s32 > & pos) [pure virtual]

Sets an image which should be displayed on the button when it is in pressed state.

Parameters:
image: Texture containing the image to be displayed
pos: Position in the texture, where the image is located

7.23.3.12 virtual void irr::gui::IGUIButton::setPressedImage (video::ITexture ∗ image) [pure


virtual]

Sets a background image for the button when it is in pressed state.


If no images is specified for the pressed state via setPressedImage(), this image is also drawn in pressed
state.

Parameters:
image: Image to be displayed

7.23.3.13 virtual void irr::gui::IGUIButton::setSprite (EGUI_BUTTON_STATE state, s32 index,


video::SColor color = video::SColor(255, 255, 255, 255), bool loop =
false) [pure virtual]

Sets the animated sprite for a specific button state.

Parameters:
index: Number of the sprite within the sprite bank, use -1 for no sprite
state: State of the button to set the sprite for
index: The sprite number from the current sprite bank
color: The color of the sprite
loop: True if the animation should loop, false if not

7.23.3.14 virtual void irr::gui::IGUIButton::setSpriteBank (IGUISpriteBank ∗ bank) [pure


virtual]

Sets the sprite bank used by the button.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


246 Irrlicht Engine Class Documentation

7.23.3.15 virtual void irr::gui::IGUIButton::setUseAlphaChannel (bool useAlphaChannel)


[pure virtual]

Sets if the alpha channel should be used for drawing background images on the button (default is false).
The documentation for this class was generated from the following file:

• IGUIButton.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.24 irr::gui::IGUICheckBox Class Reference 247

7.24 irr::gui::IGUICheckBox Class Reference


GUI Check box interface.
#include <IGUICheckBox.h>
Inheritance diagram for irr::gui::IGUICheckBox::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUICheckBox

Public Member Functions


• IGUICheckBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual bool isChecked () const =0


Returns true if box is checked.

• virtual void setChecked (bool checked)=0


Set if box is checked.

• virtual ∼IGUICheckBox ()
destructor

7.24.1 Detailed Description

GUI Check box interface.


Definition at line 16 of file IGUICheckBox.h.

7.24.2 Constructor & Destructor Documentation

7.24.2.1 irr::gui::IGUICheckBox::IGUICheckBox (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUICheckBox.h.
References irr::gui::EGUIET_CHECK_BOX.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


248 Irrlicht Engine Class Documentation

7.24.2.2 virtual irr::gui::IGUICheckBox::∼IGUICheckBox () [inline, virtual]

destructor
Definition at line 25 of file IGUICheckBox.h.

7.24.3 Member Function Documentation

7.24.3.1 virtual bool irr::gui::IGUICheckBox::isChecked () const [pure virtual]

Returns true if box is checked.

7.24.3.2 virtual void irr::gui::IGUICheckBox::setChecked (bool checked) [pure virtual]

Set if box is checked.


The documentation for this class was generated from the following file:

• IGUICheckBox.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.25 irr::gui::IGUIColorSelectDialog Class Reference 249

7.25 irr::gui::IGUIColorSelectDialog Class Reference


Standard file chooser dialog.
#include <IGUIColorSelectDialog.h>
Inheritance diagram for irr::gui::IGUIColorSelectDialog::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIColorSelectDialog

Public Member Functions


• IGUIColorSelectDialog (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id,
core::rect< s32 > rectangle)
constructor

• virtual ∼IGUIColorSelectDialog ()
destructor

7.25.1 Detailed Description

Standard file chooser dialog.


Definition at line 16 of file IGUIColorSelectDialog.h.

7.25.2 Constructor & Destructor Documentation

7.25.2.1 irr::gui::IGUIColorSelectDialog::IGUIColorSelectDialog (IGUIEnvironment ∗


environment, IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUIColorSelectDialog.h.
References irr::gui::EGUIET_COLOR_SELECT_DIALOG.

7.25.2.2 virtual irr::gui::IGUIColorSelectDialog::∼IGUIColorSelectDialog () [inline,


virtual]

destructor
Definition at line 25 of file IGUIColorSelectDialog.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


250 Irrlicht Engine Class Documentation

The documentation for this class was generated from the following file:

• IGUIColorSelectDialog.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.26 irr::gui::IGUIComboBox Class Reference 251

7.26 irr::gui::IGUIComboBox Class Reference


Combobox widget.
#include <IGUIComboBox.h>
Inheritance diagram for irr::gui::IGUIComboBox::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIComboBox

Public Member Functions

• virtual u32 addItem (const wchar_t ∗text)=0


Adds an item and returns the index of it.

• virtual void clear ()=0


Deletes all items in the combo box.

• virtual const wchar_t ∗ getItem (u32 idx) const =0


Returns string of an item. the idx may be a value from 0 to itemCount-1.

• virtual u32 getItemCount () const =0


Returns amount of items in box.

• virtual s32 getSelected () const =0


Returns id of selected item. returns -1 if no item is selected.

• IGUIComboBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual void removeItem (u32 idx)=0


Removes an item from the combo box.

• virtual void setSelected (s32 idx)=0


Sets the selected item. Set this to -1 if no item should be selected.

• virtual ∼IGUIComboBox ()
destructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


252 Irrlicht Engine Class Documentation

7.26.1 Detailed Description

Combobox widget.
Definition at line 16 of file IGUIComboBox.h.

7.26.2 Constructor & Destructor Documentation

7.26.2.1 irr::gui::IGUIComboBox::IGUIComboBox (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUIComboBox.h.
References irr::gui::EGUIET_COMBO_BOX.

7.26.2.2 virtual irr::gui::IGUIComboBox::∼IGUIComboBox () [inline, virtual]

destructor
Definition at line 25 of file IGUIComboBox.h.

7.26.3 Member Function Documentation

7.26.3.1 virtual u32 irr::gui::IGUIComboBox::addItem (const wchar_t ∗ text) [pure


virtual]

Adds an item and returns the index of it.

7.26.3.2 virtual void irr::gui::IGUIComboBox::clear () [pure virtual]

Deletes all items in the combo box.

7.26.3.3 virtual const wchar_t∗ irr::gui::IGUIComboBox::getItem (u32 idx) const [pure


virtual]

Returns string of an item. the idx may be a value from 0 to itemCount-1.

7.26.3.4 virtual u32 irr::gui::IGUIComboBox::getItemCount () const [pure virtual]

Returns amount of items in box.

7.26.3.5 virtual s32 irr::gui::IGUIComboBox::getSelected () const [pure virtual]

Returns id of selected item. returns -1 if no item is selected.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.26 irr::gui::IGUIComboBox Class Reference 253

7.26.3.6 virtual void irr::gui::IGUIComboBox::removeItem (u32 idx) [pure virtual]

Removes an item from the combo box.


Warning. This will change the index of all following items

7.26.3.7 virtual void irr::gui::IGUIComboBox::setSelected (s32 idx) [pure virtual]

Sets the selected item. Set this to -1 if no item should be selected.


The documentation for this class was generated from the following file:

• IGUIComboBox.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


254 Irrlicht Engine Class Documentation

7.27 irr::gui::IGUIContextMenu Class Reference


GUI Context menu interface.
#include <IGUIContextMenu.h>
Inheritance diagram for irr::gui::IGUIContextMenu::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIContextMenu

Public Member Functions


• virtual u32 addItem (const wchar_t ∗text, s32 commandId=-1, bool enabled=true, bool hasSub-
Menu=false, bool checked=false)=0
Adds a menu item.

• virtual void addSeparator ()=0


Adds a separator item to the menu.

• virtual s32 getItemCommandId (u32 idx) const =0


Get the command id of a menu item.

• virtual u32 getItemCount () const =0


Get amount of menu items.

• virtual const wchar_t ∗ getItemText (u32 idx) const =0


Get text of the menu item.

• virtual s32 getSelectedItem () const =0


Get the selected item in the menu.

• virtual IGUIContextMenu ∗ getSubMenu (u32 idx) const =0


Get a pointer to the submenu of an item.

• IGUIContextMenu (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32


> rectangle)
constructor

• virtual bool isItemChecked (u32 idx) const =0


Check if a menu item is checked.

• virtual bool isItemEnabled (u32 idx) const =0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.27 irr::gui::IGUIContextMenu Class Reference 255

Check if a menu item is enabled.

• virtual void removeAllItems ()=0


Removes all menu items.

• virtual void removeItem (u32 idx)=0


Removes a menu item.

• virtual void setItemChecked (u32 idx, bool enabled)=0


Sets if the menu item should be checked.

• virtual void setItemCommandId (u32 idx, s32 id)=0


Sets the command id of a menu item.

• virtual void setItemEnabled (u32 idx, bool enabled)=0


Sets if the menu item should be enabled.

• virtual void setItemText (u32 idx, const wchar_t ∗text)=0


Sets text of the menu item.

• virtual ∼IGUIContextMenu ()
destructor

7.27.1 Detailed Description

GUI Context menu interface.


Definition at line 16 of file IGUIContextMenu.h.

7.27.2 Constructor & Destructor Documentation

7.27.2.1 irr::gui::IGUIContextMenu::IGUIContextMenu (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUIContextMenu.h.
References irr::gui::EGUIET_CONTEXT_MENU.

7.27.2.2 virtual irr::gui::IGUIContextMenu::∼IGUIContextMenu () [inline, virtual]

destructor
Definition at line 25 of file IGUIContextMenu.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


256 Irrlicht Engine Class Documentation

7.27.3 Member Function Documentation

7.27.3.1 virtual u32 irr::gui::IGUIContextMenu::addItem (const wchar_t ∗ text, s32 commandId =


-1, bool enabled = true, bool hasSubMenu = false, bool checked = false) [pure
virtual]

Adds a menu item.

Parameters:
text: Text of menu item. Set this to 0 to create an separator instead of a real item, which is the same
like calling addSeparator();
commandId: Command id of menu item, a simple id you may set to whatever you want.
enabled: Specifies if the menu item should be enabled.
hasSubMenu: Set this to true if there should be a submenu at this item. You can acess this submenu
via getSubMenu().
checked: Specifies if the menu item should be initially checked.

Returns:
Returns the index of the new item

7.27.3.2 virtual void irr::gui::IGUIContextMenu::addSeparator () [pure virtual]

Adds a separator item to the menu.

7.27.3.3 virtual s32 irr::gui::IGUIContextMenu::getItemCommandId (u32 idx) const [pure


virtual]

Get the command id of a menu item.

Parameters:
idx: Zero based index of the menu item

7.27.3.4 virtual u32 irr::gui::IGUIContextMenu::getItemCount () const [pure virtual]

Get amount of menu items.

7.27.3.5 virtual const wchar_t∗ irr::gui::IGUIContextMenu::getItemText (u32 idx) const [pure


virtual]

Get text of the menu item.

Parameters:
idx: Zero based index of the menu item

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.27 irr::gui::IGUIContextMenu Class Reference 257

7.27.3.6 virtual s32 irr::gui::IGUIContextMenu::getSelectedItem () const [pure virtual]

Get the selected item in the menu.

Returns:
Index of the selected item, -1 if none selected.

7.27.3.7 virtual IGUIContextMenu∗ irr::gui::IGUIContextMenu::getSubMenu (u32 idx) const


[pure virtual]

Get a pointer to the submenu of an item.


0 is returned if there is no submenu

Parameters:
idx: Zero based index of the menu item

Returns:
Returns a pointer to the submenu of an item.

7.27.3.8 virtual bool irr::gui::IGUIContextMenu::isItemChecked (u32 idx) const [pure


virtual]

Check if a menu item is checked.

Parameters:
idx: Zero based index of the menu item

7.27.3.9 virtual bool irr::gui::IGUIContextMenu::isItemEnabled (u32 idx) const [pure


virtual]

Check if a menu item is enabled.

Parameters:
idx: Zero based index of the menu item

7.27.3.10 virtual void irr::gui::IGUIContextMenu::removeAllItems () [pure virtual]

Removes all menu items.

7.27.3.11 virtual void irr::gui::IGUIContextMenu::removeItem (u32 idx) [pure virtual]

Removes a menu item.

Parameters:
idx: Zero based index of the menu item

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


258 Irrlicht Engine Class Documentation

7.27.3.12 virtual void irr::gui::IGUIContextMenu::setItemChecked (u32 idx, bool enabled)


[pure virtual]

Sets if the menu item should be checked.

Parameters:
idx: Zero based index of the menu item
enabled: True if it is enabled, otherwise false.

7.27.3.13 virtual void irr::gui::IGUIContextMenu::setItemCommandId (u32 idx, s32 id) [pure


virtual]

Sets the command id of a menu item.

Parameters:
idx: Zero based index of the menu item
id: Command id of menu item, a simple id you may set to whatever you want.

7.27.3.14 virtual void irr::gui::IGUIContextMenu::setItemEnabled (u32 idx, bool enabled)


[pure virtual]

Sets if the menu item should be enabled.

Parameters:
idx: Zero based index of the menu item
enabled: True if it is enabled, otherwise false.

7.27.3.15 virtual void irr::gui::IGUIContextMenu::setItemText (u32 idx, const wchar_t ∗ text)


[pure virtual]

Sets text of the menu item.

Parameters:
idx: Zero based index of the menu item
text: New text of the item.

The documentation for this class was generated from the following file:

• IGUIContextMenu.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.28 irr::gui::IGUIEditBox Class Reference 259

7.28 irr::gui::IGUIEditBox Class Reference


Single line edit box for editing simple text.
#include <IGUIEditBox.h>
Inheritance diagram for irr::gui::IGUIEditBox::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIEditBox

Public Member Functions


• virtual void enableOverrideColor (bool enable)=0
Sets if the text should use the overide color or the color in the gui skin.

• virtual u32 getMax () const =0


Returns maximum amount of characters, previously set by setMax();.

• virtual core::dimension2di getTextDimension ()=0


• IGUIEditBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual bool isAutoScrollEnabled () const =0


• virtual bool isMultiLineEnabled () const =0
• virtual bool isPasswordBox () const =0
Returns true if the edit box is currently a password box.

• virtual bool isWordWrapEnabled () const =0


• virtual void setAutoScroll (bool enable)=0
• virtual void setDrawBorder (bool border)=0
Turns the border on or off.

• virtual void setMax (u32 max)=0


Sets the maximum amount of characters which may be entered in the box.

• virtual void setMultiLine (bool enable)=0


Enables or disables newlines.

• virtual void setOverrideColor (video::SColor color)=0


Sets another color for the text.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


260 Irrlicht Engine Class Documentation

• virtual void setOverrideFont (IGUIFont ∗font=0)=0


Sets another skin independent font.

• virtual void setPasswordBox (bool passwordBox, wchar_t passwordChar=L’∗’)=0


Sets whether the edit box is a password box. Setting this to true will.

• virtual void setTextAlignment (EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT verti-


cal)=0
Sets text justification mode.

• virtual void setWordWrap (bool enable)=0


Enables or disables word wrap.

• virtual ∼IGUIEditBox ()
destructor

7.28.1 Detailed Description

Single line edit box for editing simple text.


Definition at line 18 of file IGUIEditBox.h.

7.28.2 Constructor & Destructor Documentation

7.28.2.1 irr::gui::IGUIEditBox::IGUIEditBox (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 23 of file IGUIEditBox.h.
References irr::gui::EGUIET_EDIT_BOX.

7.28.2.2 virtual irr::gui::IGUIEditBox::∼IGUIEditBox () [inline, virtual]

destructor
Definition at line 27 of file IGUIEditBox.h.

7.28.3 Member Function Documentation

7.28.3.1 virtual void irr::gui::IGUIEditBox::enableOverrideColor (bool enable) [pure


virtual]

Sets if the text should use the overide color or the color in the gui skin.

Parameters:
enable: If set to true, the override color, which can be set with IGUIEditBox::setOverrideColor is
used, otherwise the EGDC_BUTTON_TEXT color of the skin.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.28 irr::gui::IGUIEditBox Class Reference 261

7.28.3.2 virtual u32 irr::gui::IGUIEditBox::getMax () const [pure virtual]

Returns maximum amount of characters, previously set by setMax();.

7.28.3.3 virtual core::dimension2di irr::gui::IGUIEditBox::getTextDimension () [pure


virtual]

Gets the size area of the text in the edit box

Returns:
Returns the size in pixels of the text

7.28.3.4 virtual bool irr::gui::IGUIEditBox::isAutoScrollEnabled () const [pure virtual]

Checks to see if automatic scrolling is enabled

Returns:
true if automatic scrolling is enabled, false if not

7.28.3.5 virtual bool irr::gui::IGUIEditBox::isMultiLineEnabled () const [pure virtual]

Checks if multi line editing is enabled

Returns:
true if mult-line is enabled, false otherwise

7.28.3.6 virtual bool irr::gui::IGUIEditBox::isPasswordBox () const [pure virtual]

Returns true if the edit box is currently a password box.

7.28.3.7 virtual bool irr::gui::IGUIEditBox::isWordWrapEnabled () const [pure virtual]

Checks if word wrap is enabled

Returns:
true if word wrap is enabled, false otherwise

7.28.3.8 virtual void irr::gui::IGUIEditBox::setAutoScroll (bool enable) [pure virtual]

Enables or disables automatic scrolling with cursor position

Parameters:
enable: If set to true, the text will move around with the cursor position

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


262 Irrlicht Engine Class Documentation

7.28.3.9 virtual void irr::gui::IGUIEditBox::setDrawBorder (bool border) [pure virtual]

Turns the border on or off.

Parameters:
border: true if you want the border to be drawn, false if not

7.28.3.10 virtual void irr::gui::IGUIEditBox::setMax (u32 max) [pure virtual]

Sets the maximum amount of characters which may be entered in the box.

Parameters:
max: Maximum amount of characters. If 0, the character amount is infinity.

7.28.3.11 virtual void irr::gui::IGUIEditBox::setMultiLine (bool enable) [pure virtual]

Enables or disables newlines.

Parameters:
enable: If set to true, the EGET_EDITBOX_ENTER event will not be fired, instead a newline char-
acter will be inserted.

7.28.3.12 virtual void irr::gui::IGUIEditBox::setOverrideColor (video::SColor color) [pure


virtual]

Sets another color for the text.


If set, the edit box does not use the EGDC_BUTTON_TEXT color defined in the skin, but the set color
instead. You don’t need to call IGUIEditBox::enableOverrrideColor(true) after this, this is done by this
function. If you set a color, and you want the text displayed with the color of the skin again, call IGUIEdit-
Box::enableOverrideColor(false);

Parameters:
color: New color of the text.

7.28.3.13 virtual void irr::gui::IGUIEditBox::setOverrideFont (IGUIFont ∗ font = 0) [pure


virtual]

Sets another skin independent font.


If this is set to zero, the button uses the font of the skin.

Parameters:
font: New font to set.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.28 irr::gui::IGUIEditBox Class Reference 263

7.28.3.14 virtual void irr::gui::IGUIEditBox::setPasswordBox (bool passwordBox, wchar_t


passwordChar = L’∗’) [pure virtual]

Sets whether the edit box is a password box. Setting this to true will.
disable MultiLine, WordWrap and the ability to copy with ctrl+c or ctrl+x

Parameters:
passwordBox: true to enable password, false to disable
passwordChar: the character that is displayed instead of letters

7.28.3.15 virtual void irr::gui::IGUIEditBox::setTextAlignment (EGUI_ALIGNMENT horizontal,


EGUI_ALIGNMENT vertical) [pure virtual]

Sets text justification mode.

Parameters:
horizontal: EGUIA_UPPERLEFT for left justified (default), EGUIA_LOWEERRIGHT for right jus-
tified, or EGUIA_CENTER for centered text.
vertical: EGUIA_UPPERLEFT to align with top edge, EGUIA_LOWEERRIGHT for bottom edge,
or EGUIA_CENTER for centered text (default).

7.28.3.16 virtual void irr::gui::IGUIEditBox::setWordWrap (bool enable) [pure virtual]

Enables or disables word wrap.

Parameters:
enable: If set to true, words going over one line are broken to the next line.

The documentation for this class was generated from the following file:

• IGUIEditBox.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


264 Irrlicht Engine Class Documentation

7.29 irr::gui::IGUIElement Class Reference


Base class of all GUI elements.
#include <IGUIElement.h>
Inheritance diagram for irr::gui::IGUIElement::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIButton

irr::gui::IGUICheckBox

irr::gui::IGUIColorSelectDialog

irr::gui::IGUIComboBox

irr::gui::IGUIContextMenu

irr::gui::IGUIEditBox

irr::gui::IGUIFileOpenDialog

irr::gui::IGUIImage

irr::gui::IGUIInOutFader

irr::gui::IGUIListBox

irr::gui::IGUIMeshViewer

irr::gui::IGUIScrollBar

irr::gui::IGUISpinBox

irr::gui::IGUIStaticText

irr::gui::IGUITab

irr::gui::IGUITabControl

irr::gui::IGUIToolBar

irr::gui::IGUIWindow

Public Member Functions


• virtual void addChild (IGUIElement ∗child)
Adds a GUI element as new child of this element.

• virtual bool bringToFront (IGUIElement ∗element)


Brings a child to front.

• virtual void deserializeAttributes (io::IAttributes ∗in, io::SAttributeReadWriteOptions ∗options=0)


• virtual void draw ()
Draws the element and its children.

• core::rect< s32 > getAbsoluteClippingRect () const


Returns the visible area of the element.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 265

• core::rect< s32 > getAbsolutePosition () const


Returns the absolute rectangle of element.

• virtual const core::list< IGUIElement ∗ > & getChildren () const


Returns list with children of this element.

• virtual IGUIElement ∗ getElementFromId (s32 id, bool searchchildren=false) const


Finds the first element with the given id.

• IGUIElement ∗ getElementFromPoint (const core::position2d< s32 > &point)


Returns the child element, which is at the position of the point.

• virtual s32 getID () const


Returns id. Can be used to identify the element.

• bool getNextElement (s32 startOrder, bool reverse, bool group, IGUIElement ∗&first, IGUIElement
∗&closest, bool includeInvisible=false) const
• IGUIElement ∗ getParent () const
Returns parent of this element.

• core::rect< s32 > getRelativePosition () const


Returns the relative rectangle of this element.

• IGUIElement ∗ getTabGroup ()
• s32 getTabOrder () const
Returns the number in the tab order sequence.

• virtual const wchar_t ∗ getText () const


Returns caption of this element.

• virtual const core::stringw & getToolTipText () const


Returns caption of this element.

• EGUI_ELEMENT_TYPE getType () const


Returns the type of the gui element.

• virtual const c8 ∗ getTypeName () const


Returns the type name of the gui element.

• IGUIElement (EGUI_ELEMENT_TYPE type, IGUIEnvironment ∗environment, IGUIElement


∗parent, s32 id, core::rect< s32 > rectangle)
Constructor.

• virtual bool isEnabled () const


Returns true if element is enabled.

• bool isMyChild (IGUIElement ∗child) const


• bool isNotClipped () const
Gets whether the element will ignore its parent’s clipping rectangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


266 Irrlicht Engine Class Documentation

• virtual bool isPointInside (const core::position2d< s32 > &point) const


• virtual bool isSubElement () const
Returns true if this element was created as part of its parent control.

• bool isTabGroup () const


Returns true if this element is a tab group.

• bool isTabStop () const


Returns true if this element can be focused by navigating with the tab key.

• virtual bool isVisible () const


Returns true if element is visible.

• virtual void move (core::position2d< s32 > absoluteMovement)


Moves this element.

• virtual bool OnEvent (const SEvent &event)


Called if an event happened.

• virtual void OnPostRender (u32 timeMs)


animate the element and its children.

• virtual void remove ()


Removes this element from its parent.

• virtual void removeChild (IGUIElement ∗child)


Removes a child.

• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)


const
• void setAlignment (EGUI_ALIGNMENT left, EGUI_ALIGNMENT right, EGUI_ALIGNMENT
top, EGUI_ALIGNMENT bottom)
• virtual void setEnabled (bool enabled)
Sets the enabled state of this element.

• virtual void setID (s32 id)


Sets the id of this element.

• void setMaxSize (core::dimension2di size)


Sets the maximum size allowed for this element.

• void setMinSize (core::dimension2di size)


Sets the minimum size allowed for this element.

• void setNotClipped (bool noClip)


Sets whether the element will ignore its parent’s clipping rectangle.

• void setRelativePosition (const core::rect< f32 > &r)


Sets the relative rectangle of this element.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 267

• void setRelativePosition (const core::rect< s32 > &r)


Sets the relative rectangle of this element.

• virtual void setSubElement (bool subElement)


• void setTabGroup (bool isGroup)
• void setTabOrder (s32 index)
• void setTabStop (bool enable)
• virtual void setText (const wchar_t ∗text)
Sets the new caption of this element.

• virtual void setToolTipText (const wchar_t ∗text)


Sets the new caption of this element.

• virtual void setVisible (bool visible)


Sets the visible state of this element.

• virtual void updateAbsolutePosition ()


Updates the absolute position.

• virtual ∼IGUIElement ()
Destructor.

Protected Attributes
• core::rect< s32 > AbsoluteClippingRect
absolute clipping rect of element

• core::rect< s32 > AbsoluteRect


absolute rect of element

• EGUI_ALIGNMENT AlignBottom
tells the element how to act when its parent is resized

• EGUI_ALIGNMENT AlignLeft
tells the element how to act when its parent is resized

• EGUI_ALIGNMENT AlignRight
tells the element how to act when its parent is resized

• EGUI_ALIGNMENT AlignTop
tells the element how to act when its parent is resized

• core::list< IGUIElement ∗ > Children


List of all children of this element.

• core::rect< s32 > DesiredRect


• IGUIEnvironment ∗ Environment

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


268 Irrlicht Engine Class Documentation

GUI Environment.

• s32 ID
id

• bool IsEnabled
is enabled?

• bool IsSubElement
is a part of a larger whole and should not be serialized?

• bool IsTabGroup
tab groups are containers like windows, use ctrl+tab to navigate

• bool IsTabStop
tab stop like in windows

• bool IsVisible
is visible?

• core::rect< s32 > LastParentRect


for calculating the difference when resizing parent

• core::dimension2di MaxSize
maximum and minimum size of the element

• core::dimension2di MinSize
maximum and minimum size of the element

• bool NoClip
does this element ignore its parent’s clipping rectangle?

• IGUIElement ∗ Parent
Pointer to the parent.

• core::rect< s32 > RelativeRect


relative rect of element

• core::rect< f32 > ScaleRect


relative scale of the element inside its parent

• s32 TabOrder
tab order

• core::stringw Text
caption

• core::stringw ToolTipText
tooltip

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 269

• EGUI_ELEMENT_TYPE Type
type of element

7.29.1 Detailed Description

Base class of all GUI elements.


Definition at line 46 of file IGUIElement.h.

7.29.2 Constructor & Destructor Documentation

7.29.2.1 irr::gui::IGUIElement::IGUIElement (EGUI_ELEMENT_TYPE type, IGUIEnvironment


∗ environment, IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

Constructor.
Definition at line 51 of file IGUIElement.h.
References AbsoluteClippingRect, AbsoluteRect, AlignBottom, AlignLeft, AlignRight, AlignTop,
irr::core::rect< T >::clipAgainst(), DesiredRect, irr::gui::EGUIA_UPPERLEFT, Environment, get-
AbsolutePosition(), ID, IsEnabled, IsSubElement, IsTabGroup, IsTabStop, IsVisible, LastParentRect, Max-
Size, MinSize, NoClip, Parent, RelativeRect, irr::IReferenceCounted::setDebugName(), TabOrder, Type,
and irr::core::rect< T >::UpperLeftCorner.

7.29.2.2 virtual irr::gui::IGUIElement::∼IGUIElement () [inline, virtual]

Destructor.
Definition at line 80 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, and irr::core::list< T >::end().

7.29.3 Member Function Documentation

7.29.3.1 virtual void irr::gui::IGUIElement::addChild (IGUIElement ∗ child) [inline,


virtual]

Adds a GUI element as new child of this element.


Definition at line 390 of file IGUIElement.h.
References Children, getAbsolutePosition(), and irr::core::list< T >::push_back().

7.29.3.2 virtual bool irr::gui::IGUIElement::bringToFront (IGUIElement ∗ element) [inline,


virtual]

Brings a child to front.

Returns:
Returns true if successful, false if not.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


270 Irrlicht Engine Class Documentation

Definition at line 640 of file IGUIElement.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, irr::core::list< T >::begin(),
Children, irr::core::list< T >::end(), irr::core::list< T >::erase(), and irr::core::list< T >::push_back().

7.29.3.3 virtual void irr::gui::IGUIElement::deserializeAttributes (io::IAttributes ∗ in,


io::SAttributeReadWriteOptions ∗ options = 0) [inline, virtual]

Reads attributes of the scene node. Implement this to set the attributes of your scene node for scripting
languages, editors, debuggers or xml deserialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 840 of file IGUIElement.h.
References irr::gui::GUIAlignmentNames, IsTabGroup, IsTabStop, setAlignment(), setEnabled(), set-
ID(), setMaxSize(), setMinSize(), setNotClipped(), setRelativePosition(), setText(), setVisible(), TabOrder,
irr::core::position2d< T >::X, and irr::core::position2d< T >::Y.

7.29.3.4 virtual void irr::gui::IGUIElement::draw () [inline, virtual]

Draws the element and its children.


Definition at line 427 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), and IsVisible.

7.29.3.5 core::rect<s32> irr::gui::IGUIElement::getAbsoluteClippingRect () const [inline]

Returns the visible area of the element.


Definition at line 158 of file IGUIElement.h.
References AbsoluteClippingRect.

7.29.3.6 core::rect<s32> irr::gui::IGUIElement::getAbsolutePosition () const [inline]

Returns the absolute rectangle of element.


Definition at line 151 of file IGUIElement.h.
References AbsoluteRect.
Referenced by addChild(), IGUIElement(), setAlignment(), and setRelativePosition().

7.29.3.7 virtual const core::list<IGUIElement∗>& irr::gui::IGUIElement::getChildren () const


[inline, virtual]

Returns list with children of this element.


Definition at line 659 of file IGUIElement.h.
References Children.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 271

7.29.3.8 virtual IGUIElement∗ irr::gui::IGUIElement::getElementFromId (s32 id, bool


searchchildren = false) const [inline, virtual]

Finds the first element with the given id.

Parameters:
id: Id to search for.
searchchildren: Set this to true, if also children of this element may contain the element with the
searched id and they should be searched too.

Returns:
Returns the first element with the given id. If no element with this id was found, 0 is returned.

Definition at line 672 of file IGUIElement.h.


References irr::core::list< T >::begin(), Children, and irr::core::list< T >::end().

7.29.3.9 IGUIElement∗ irr::gui::IGUIElement::getElementFromPoint (const core::position2d<


s32 > & point) [inline]

Returns the child element, which is at the position of the point.


Definition at line 355 of file IGUIElement.h.
References Children, irr::core::list< T >::end(), irr::core::list< T >::getLast(), isPointInside(), and Is-
Visible.

7.29.3.10 virtual s32 irr::gui::IGUIElement::getID () const [inline, virtual]

Returns id. Can be used to identify the element.


Definition at line 618 of file IGUIElement.h.
References ID.

7.29.3.11 bool irr::gui::IGUIElement::getNextElement (s32 startOrder, bool reverse, bool group,


IGUIElement ∗& first, IGUIElement ∗& closest, bool includeInvisible = false) const
[inline]

searches elements to find the closest next element to tab to

Parameters:
startOrder: The TabOrder of the current element, -1 if none
reverse: true if searching for a lower number
group: true if searching for a higher one
first: element with the highest/lowest known tab order depending on search direction
closest: the closest match, depending on tab order and direction
includeInvisible: includes invisible elements in the search (default=false)

Returns:
true if successfully found an element, false to continue searching/fail

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


272 Irrlicht Engine Class Documentation

Definition at line 719 of file IGUIElement.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, irr::core::list< T >::begin(),
Children, and irr::core::list< T >::end().
Referenced by setTabOrder().

7.29.3.12 IGUIElement∗ irr::gui::IGUIElement::getParent () const [inline]

Returns parent of this element.


Definition at line 93 of file IGUIElement.h.
References Parent.
Referenced by getTabGroup().

7.29.3.13 core::rect<s32> irr::gui::IGUIElement::getRelativePosition () const [inline]

Returns the relative rectangle of this element.


Definition at line 100 of file IGUIElement.h.
References RelativeRect.

7.29.3.14 IGUIElement∗ irr::gui::IGUIElement::getTabGroup () [inline]

Returns the container element which holds all elements in this element’s tab group.
Definition at line 563 of file IGUIElement.h.
References getParent(), and isTabGroup().
Referenced by setTabOrder().

7.29.3.15 s32 irr::gui::IGUIElement::getTabOrder () const [inline]

Returns the number in the tab order sequence.


Definition at line 538 of file IGUIElement.h.
References TabOrder.
Referenced by setTabOrder().

7.29.3.16 virtual const wchar_t∗ irr::gui::IGUIElement::getText () const [inline, virtual]

Returns caption of this element.


Definition at line 597 of file IGUIElement.h.
References irr::core::string< T, TAlloc >::c_str(), and Text.
Referenced by serializeAttributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 273

7.29.3.17 virtual const core::stringw& irr::gui::IGUIElement::getToolTipText () const


[inline, virtual]

Returns caption of this element.


Definition at line 611 of file IGUIElement.h.
References ToolTipText.

7.29.3.18 EGUI_ELEMENT_TYPE irr::gui::IGUIElement::getType () const [inline]

Returns the type of the gui element.


This is needed for the .NET wrapper but will be used later for serializing and deserializing. If you wrote
your own GUIElements, you need to set the type for your element as first parameter in the constructor of
IGUIElement. For own (=unknown) elements, simply use EGUIET_ELEMENT as type
Definition at line 799 of file IGUIElement.h.
References Type.

7.29.3.19 virtual const c8∗ irr::gui::IGUIElement::getTypeName () const [inline,


virtual]

Returns the type name of the gui element.


This is needed serializing elements. For serializing your own elements, override this function and return
your own type name which is created by your IGUIElementFactory
Definition at line 808 of file IGUIElement.h.
References irr::gui::GUIElementTypeNames, and Type.

7.29.3.20 virtual bool irr::gui::IGUIElement::isEnabled () const [inline, virtual]

Returns true if element is enabled.


Definition at line 575 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsEnabled.

7.29.3.21 bool irr::gui::IGUIElement::isMyChild (IGUIElement ∗ child) const [inline]

returns true if the given element is a child of this one.

Parameters:
child: The child element to check

Definition at line 695 of file IGUIElement.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and Parent.

7.29.3.22 bool irr::gui::IGUIElement::isNotClipped () const [inline]

Gets whether the element will ignore its parent’s clipping rectangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


274 Irrlicht Engine Class Documentation

Definition at line 172 of file IGUIElement.h.


References NoClip.

7.29.3.23 virtual bool irr::gui::IGUIElement::isPointInside (const core::position2d< s32 > &


point) const [inline, virtual]

Returns true if a point is within this element. Elements with a shape other than a rectangle will override
this method
Definition at line 383 of file IGUIElement.h.
References AbsoluteClippingRect, and irr::core::rect< T >::isPointInside().
Referenced by getElementFromPoint().

7.29.3.24 virtual bool irr::gui::IGUIElement::isSubElement () const [inline, virtual]

Returns true if this element was created as part of its parent control.
Definition at line 473 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsSubElement.

7.29.3.25 bool irr::gui::IGUIElement::isTabGroup () const [inline]

Returns true if this element is a tab group.


Definition at line 554 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsTabGroup.
Referenced by getTabGroup().

7.29.3.26 bool irr::gui::IGUIElement::isTabStop () const [inline]

Returns true if this element can be focused by navigating with the tab key.
Definition at line 500 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsTabStop.

7.29.3.27 virtual bool irr::gui::IGUIElement::isVisible () const [inline, virtual]

Returns true if element is visible.


Definition at line 458 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsVisible.

7.29.3.28 virtual void irr::gui::IGUIElement::move (core::position2d< s32 > absoluteMovement)


[inline, virtual]

Moves this element.


Definition at line 451 of file IGUIElement.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 275

References DesiredRect, and setRelativePosition().

7.29.3.29 virtual bool irr::gui::IGUIElement::OnEvent (const SEvent & event) [inline,


virtual]

Called if an event happened.


Implements irr::IEventReceiver.
Definition at line 632 of file IGUIElement.h.
References Parent.

7.29.3.30 virtual void irr::gui::IGUIElement::OnPostRender (u32 timeMs) [inline,


virtual]

animate the element and its children.


Definition at line 439 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), and IsVisible.

7.29.3.31 virtual void irr::gui::IGUIElement::remove () [inline, virtual]

Removes this element from its parent.


Definition at line 419 of file IGUIElement.h.
References Parent, and removeChild().

7.29.3.32 virtual void irr::gui::IGUIElement::removeChild (IGUIElement ∗ child) [inline,


virtual]

Removes a child.
Definition at line 404 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), and irr::core::list< T
>::erase().
Referenced by remove().

7.29.3.33 virtual void irr::gui::IGUIElement::serializeAttributes (io::IAttributes ∗ out,


io::SAttributeReadWriteOptions ∗ options = 0) const [inline, virtual]

Writes attributes of the scene node. Implement this to expose the attributes of your scene node for scripting
languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 817 of file IGUIElement.h.
References AlignBottom, AlignLeft, AlignRight, AlignTop, DesiredRect, getText(),
irr::gui::GUIAlignmentNames, irr::core::dimension2d< T >::Height, ID, IsEnabled, IsTabGroup,
IsTabStop, IsVisible, MaxSize, MinSize, NoClip, TabOrder, and irr::core::dimension2d< T >::Width.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


276 Irrlicht Engine Class Documentation

7.29.3.34 void irr::gui::IGUIElement::setAlignment (EGUI_ALIGNMENT left,


EGUI_ALIGNMENT right, EGUI_ALIGNMENT top, EGUI_ALIGNMENT bottom)
[inline]

Definition at line 199 of file IGUIElement.h.


References AlignBottom, AlignLeft, AlignRight, AlignTop, DesiredRect, irr::gui::EGUIA_SCALE, get-
AbsolutePosition(), irr::core::rect< T >::LowerRightCorner, Parent, ScaleRect, and irr::core::rect< T
>::UpperLeftCorner.
Referenced by deserializeAttributes().

7.29.3.35 virtual void irr::gui::IGUIElement::setEnabled (bool enabled) [inline, virtual]

Sets the enabled state of this element.


Definition at line 583 of file IGUIElement.h.
References IsEnabled.
Referenced by deserializeAttributes().

7.29.3.36 virtual void irr::gui::IGUIElement::setID (s32 id) [inline, virtual]

Sets the id of this element.


Definition at line 625 of file IGUIElement.h.
References ID.
Referenced by deserializeAttributes().

7.29.3.37 void irr::gui::IGUIElement::setMaxSize (core::dimension2di size) [inline]

Sets the maximum size allowed for this element.


If set to 0,0, there is no maximum size
Definition at line 180 of file IGUIElement.h.
References MaxSize, and updateAbsolutePosition().
Referenced by deserializeAttributes().

7.29.3.38 void irr::gui::IGUIElement::setMinSize (core::dimension2di size) [inline]

Sets the minimum size allowed for this element.


Definition at line 188 of file IGUIElement.h.
References irr::core::dimension2d< T >::Height, MinSize, updateAbsolutePosition(), and
irr::core::dimension2d< T >::Width.
Referenced by deserializeAttributes().

7.29.3.39 void irr::gui::IGUIElement::setNotClipped (bool noClip) [inline]

Sets whether the element will ignore its parent’s clipping rectangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 277

Definition at line 165 of file IGUIElement.h.


References NoClip.
Referenced by deserializeAttributes().

7.29.3.40 void irr::gui::IGUIElement::setRelativePosition (const core::rect< f32 > & r)


[inline]

Sets the relative rectangle of this element.


Definition at line 131 of file IGUIElement.h.
References DesiredRect, irr::core::floor32(), getAbsolutePosition(), irr::core::rect< T >::get-
Size(), irr::core::dimension2d< T >::Height, Parent, ScaleRect, updateAbsolutePosition(), and
irr::core::dimension2d< T >::Width.

7.29.3.41 void irr::gui::IGUIElement::setRelativePosition (const core::rect< s32 > & r)


[inline]

Sets the relative rectangle of this element.


Definition at line 107 of file IGUIElement.h.
References AlignBottom, AlignLeft, AlignRight, AlignTop, DesiredRect, irr::gui::EGUIA_SCALE, get-
AbsolutePosition(), irr::core::rect< T >::getSize(), irr::core::rect< T >::LowerRightCorner, Parent, Scale-
Rect, updateAbsolutePosition(), and irr::core::rect< T >::UpperLeftCorner.
Referenced by deserializeAttributes(), and move().

7.29.3.42 virtual void irr::gui::IGUIElement::setSubElement (bool subElement) [inline,


virtual]

Sets whether this control was created as part of its parent, for example when a scrollbar is part of a listbox.
SubElements are not saved to disk when calling guiEnvironment->saveGUI()
Definition at line 483 of file IGUIElement.h.
References IsSubElement.

7.29.3.43 void irr::gui::IGUIElement::setTabGroup (bool isGroup) [inline]

Sets whether this element is a container for a group of elements which can be navigated using the tab key.
For example, windows are tab groups. Groups can be navigated using ctrl+tab, providing isTabStop is true.
Definition at line 547 of file IGUIElement.h.
References IsTabGroup.

7.29.3.44 void irr::gui::IGUIElement::setTabOrder (s32 index) [inline]

Sets the priority of focus when using the tab key to navigate between a group of elements. See setTab-
Group, isTabGroup and getTabGroup for information on tab groups. Elements with a lower number are
focused first
Definition at line 510 of file IGUIElement.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


278 Irrlicht Engine Class Documentation

References getNextElement(), getTabGroup(), getTabOrder(), IsTabGroup, Parent, and TabOrder.

7.29.3.45 void irr::gui::IGUIElement::setTabStop (bool enable) [inline]

If set to true, the focus will visit this element when using the tab key to cycle through elements. If this
element is a tab group (see isTabGroup/setTabGroup) then ctrl+tab will be used instead.
Definition at line 493 of file IGUIElement.h.
References IsTabStop.

7.29.3.46 virtual void irr::gui::IGUIElement::setText (const wchar_t ∗ text) [inline,


virtual]

Sets the new caption of this element.


Definition at line 590 of file IGUIElement.h.
References Text.
Referenced by deserializeAttributes().

7.29.3.47 virtual void irr::gui::IGUIElement::setToolTipText (const wchar_t ∗ text) [inline,


virtual]

Sets the new caption of this element.


Definition at line 604 of file IGUIElement.h.
References ToolTipText.

7.29.3.48 virtual void irr::gui::IGUIElement::setVisible (bool visible) [inline, virtual]

Sets the visible state of this element.


Definition at line 466 of file IGUIElement.h.
References IsVisible.
Referenced by deserializeAttributes().

7.29.3.49 virtual void irr::gui::IGUIElement::updateAbsolutePosition () [inline, virtual]

Updates the absolute position.


Definition at line 225 of file IGUIElement.h.
References AbsoluteClippingRect, AbsoluteRect, AlignBottom, AlignLeft, AlignRight, AlignTop,
irr::core::list< T >::begin(), Children, irr::core::rect< T >::clipAgainst(), DesiredRect, irr::gui::EGUIA_-
CENTER, irr::gui::EGUIA_LOWERRIGHT, irr::gui::EGUIA_SCALE, irr::gui::EGUIA_UPPERLEFT,
irr::core::list< T >::end(), irr::core::rect< T >::getHeight(), irr::core::rect< T >::getWidth(),
irr::core::dimension2d< T >::Height, LastParentRect, irr::core::rect< T >::LowerRightCorner, Max-
Size, MinSize, NoClip, Parent, RelativeRect, irr::core::rect< T >::repair(), ScaleRect, irr::core::rect< T
>::UpperLeftCorner, and irr::core::dimension2d< T >::Width.
Referenced by setMaxSize(), setMinSize(), and setRelativePosition().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 279

7.29.4 Member Data Documentation

7.29.4.1 core::rect<s32> irr::gui::IGUIElement::AbsoluteClippingRect [protected]

absolute clipping rect of element


Definition at line 880 of file IGUIElement.h.
Referenced by getAbsoluteClippingRect(), IGUIElement(), isPointInside(), and updateAbsolute-
Position().

7.29.4.2 core::rect<s32> irr::gui::IGUIElement::AbsoluteRect [protected]

absolute rect of element


Definition at line 877 of file IGUIElement.h.
Referenced by getAbsolutePosition(), IGUIElement(), and updateAbsolutePosition().

7.29.4.3 EGUI_ALIGNMENT irr::gui::IGUIElement::AlignBottom [protected]

tells the element how to act when its parent is resized


Definition at line 926 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setAlignment(), setRelativePosition(), and update-
AbsolutePosition().

7.29.4.4 EGUI_ALIGNMENT irr::gui::IGUIElement::AlignLeft [protected]

tells the element how to act when its parent is resized


Definition at line 926 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setAlignment(), setRelativePosition(), and update-
AbsolutePosition().

7.29.4.5 EGUI_ALIGNMENT irr::gui::IGUIElement::AlignRight [protected]

tells the element how to act when its parent is resized


Definition at line 926 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setAlignment(), setRelativePosition(), and update-
AbsolutePosition().

7.29.4.6 EGUI_ALIGNMENT irr::gui::IGUIElement::AlignTop [protected]

tells the element how to act when its parent is resized


Definition at line 926 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setAlignment(), setRelativePosition(), and update-
AbsolutePosition().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


280 Irrlicht Engine Class Documentation

7.29.4.7 core::list<IGUIElement∗> irr::gui::IGUIElement::Children [protected]

List of all children of this element.


Definition at line 868 of file IGUIElement.h.
Referenced by addChild(), bringToFront(), draw(), getChildren(), getElementFromId(), getElement-
FromPoint(), getNextElement(), OnPostRender(), removeChild(), updateAbsolutePosition(), and
∼IGUIElement().

7.29.4.8 core::rect<s32> irr::gui::IGUIElement::DesiredRect [protected]

the rectangle the element would prefer to be, if it was not constrained by parent or max/min size
Definition at line 884 of file IGUIElement.h.
Referenced by IGUIElement(), move(), serializeAttributes(), setAlignment(), setRelativePosition(), and
updateAbsolutePosition().

7.29.4.9 IGUIEnvironment∗ irr::gui::IGUIElement::Environment [protected]

GUI Environment.
Definition at line 929 of file IGUIElement.h.
Referenced by IGUIElement().

7.29.4.10 s32 irr::gui::IGUIElement::ID [protected]

id
Definition at line 914 of file IGUIElement.h.
Referenced by getID(), IGUIElement(), serializeAttributes(), and setID().

7.29.4.11 bool irr::gui::IGUIElement::IsEnabled [protected]

is enabled?
Definition at line 899 of file IGUIElement.h.
Referenced by IGUIElement(), isEnabled(), serializeAttributes(), and setEnabled().

7.29.4.12 bool irr::gui::IGUIElement::IsSubElement [protected]

is a part of a larger whole and should not be serialized?


Definition at line 902 of file IGUIElement.h.
Referenced by IGUIElement(), isSubElement(), and setSubElement().

7.29.4.13 bool irr::gui::IGUIElement::IsTabGroup [protected]

tab groups are containers like windows, use ctrl+tab to navigate


Definition at line 923 of file IGUIElement.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 281

Referenced by deserializeAttributes(), IGUIElement(), isTabGroup(), serializeAttributes(), setTabGroup(),


and setTabOrder().

7.29.4.14 bool irr::gui::IGUIElement::IsTabStop [protected]

tab stop like in windows


Definition at line 917 of file IGUIElement.h.
Referenced by deserializeAttributes(), IGUIElement(), isTabStop(), serializeAttributes(), and setTab-
Stop().

7.29.4.15 bool irr::gui::IGUIElement::IsVisible [protected]

is visible?
Definition at line 896 of file IGUIElement.h.
Referenced by draw(), getElementFromPoint(), IGUIElement(), isVisible(), OnPostRender(), serialize-
Attributes(), and setVisible().

7.29.4.16 core::rect<s32> irr::gui::IGUIElement::LastParentRect [protected]

for calculating the difference when resizing parent


Definition at line 887 of file IGUIElement.h.
Referenced by IGUIElement(), and updateAbsolutePosition().

7.29.4.17 core::dimension2di irr::gui::IGUIElement::MaxSize [protected]

maximum and minimum size of the element


Definition at line 893 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setMaxSize(), and updateAbsolutePosition().

7.29.4.18 core::dimension2di irr::gui::IGUIElement::MinSize [protected]

maximum and minimum size of the element


Definition at line 893 of file IGUIElement.h.
Referenced by IGUIElement(), serializeAttributes(), setMinSize(), and updateAbsolutePosition().

7.29.4.19 bool irr::gui::IGUIElement::NoClip [protected]

does this element ignore its parent’s clipping rectangle?


Definition at line 905 of file IGUIElement.h.
Referenced by IGUIElement(), isNotClipped(), serializeAttributes(), setNotClipped(), and update-
AbsolutePosition().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


282 Irrlicht Engine Class Documentation

7.29.4.20 IGUIElement∗ irr::gui::IGUIElement::Parent [protected]

Pointer to the parent.


Definition at line 871 of file IGUIElement.h.
Referenced by getParent(), IGUIElement(), isMyChild(), OnEvent(), remove(), setAlignment(), set-
RelativePosition(), setTabOrder(), and updateAbsolutePosition().

7.29.4.21 core::rect<s32> irr::gui::IGUIElement::RelativeRect [protected]

relative rect of element


Definition at line 874 of file IGUIElement.h.
Referenced by getRelativePosition(), IGUIElement(), and updateAbsolutePosition().

7.29.4.22 core::rect<f32> irr::gui::IGUIElement::ScaleRect [protected]

relative scale of the element inside its parent


Definition at line 890 of file IGUIElement.h.
Referenced by setAlignment(), setRelativePosition(), and updateAbsolutePosition().

7.29.4.23 s32 irr::gui::IGUIElement::TabOrder [protected]

tab order
Definition at line 920 of file IGUIElement.h.
Referenced by deserializeAttributes(), getTabOrder(), IGUIElement(), serializeAttributes(), and setTab-
Order().

7.29.4.24 core::stringw irr::gui::IGUIElement::Text [protected]

caption
Definition at line 908 of file IGUIElement.h.
Referenced by getText(), and setText().

7.29.4.25 core::stringw irr::gui::IGUIElement::ToolTipText [protected]

tooltip
Definition at line 911 of file IGUIElement.h.
Referenced by getToolTipText(), and setToolTipText().

7.29.4.26 EGUI_ELEMENT_TYPE irr::gui::IGUIElement::Type [protected]

type of element
Definition at line 932 of file IGUIElement.h.
Referenced by getType(), getTypeName(), and IGUIElement().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.29 irr::gui::IGUIElement Class Reference 283

The documentation for this class was generated from the following file:

• IGUIElement.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


284 Irrlicht Engine Class Documentation

7.30 irr::gui::IGUIElementFactory Class Reference

Interface making it possible to dynamicly create GUI elements.


#include <IGUIElementFactory.h>
Inheritance diagram for irr::gui::IGUIElementFactory::

irr::IReferenceCounted

irr::gui::IGUIElementFactory

Public Member Functions

• virtual IGUIElement ∗ addGUIElement (const c8 ∗typeName, IGUIElement ∗parent=0)=0


adds a GUI element to the GUI Environment based on its type name

• virtual IGUIElement ∗ addGUIElement (EGUI_ELEMENT_TYPE type, IGUIElement


∗parent=0)=0
adds an element to the gui environment based on its type id

• virtual s32 getCreatableGUIElementTypeCount () const =0


returns amount of GUI element types this factory is able to create

• virtual EGUI_ELEMENT_TYPE getCreateableGUIElementType (s32 idx) const =0


returns type of a createable element type

• virtual const c8 ∗ getCreateableGUIElementTypeName (EGUI_ELEMENT_TYPE type) const =0


returns type name of a createable GUI element

• virtual const c8 ∗ getCreateableGUIElementTypeName (s32 idx) const =0


returns type name of a createable GUI element type by index

• virtual ∼IGUIElementFactory ()

7.30.1 Detailed Description

Interface making it possible to dynamicly create GUI elements.


To be able to add custom elements to Irrlicht and to make it possible for the scene manager to
save and load them, simply implement this interface and register it in your gui environment via
IGUIEnvironment::registerGUIElementFactory. Note: When implementing your own element factory,
don’t call IGUIEnvironment::grab() to increase the reference counter of the environment. This is not nec-
essary because the it will grab() the factory anyway, and otherwise cyclic references will be created.
Definition at line 26 of file IGUIElementFactory.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.30 irr::gui::IGUIElementFactory Class Reference 285

7.30.2 Constructor & Destructor Documentation

7.30.2.1 virtual irr::gui::IGUIElementFactory::∼IGUIElementFactory () [inline,


virtual]

Definition at line 31 of file IGUIElementFactory.h.

7.30.3 Member Function Documentation

7.30.3.1 virtual IGUIElement∗ irr::gui::IGUIElementFactory::addGUIElement (const c8 ∗


typeName, IGUIElement ∗ parent = 0) [pure virtual]

adds a GUI element to the GUI Environment based on its type name

Parameters:
typeName: Type name of the element to add.
parent: Parent scene node of the new element, can be null to add it to the root.

Returns:
Returns pointer to the new element or null if not successful.

7.30.3.2 virtual IGUIElement∗ irr::gui::IGUIElementFactory::addGUIElement


(EGUI_ELEMENT_TYPE type, IGUIElement ∗ parent = 0) [pure virtual]

adds an element to the gui environment based on its type id

Parameters:
type: Type of the element to add.
parent: Parent scene node of the new element, can be null to add to the root.

Returns:
Returns pointer to the new element or null if not successful.

7.30.3.3 virtual s32 irr::gui::IGUIElementFactory::getCreatableGUIElementTypeCount () const


[pure virtual]

returns amount of GUI element types this factory is able to create

7.30.3.4 virtual EGUI_ELEMENT_TYPE irr::gui::IGUIElementFactory::getCreateable-


GUIElementType (s32 idx) const [pure virtual]

returns type of a createable element type

Parameters:
idx: Index of the element type in this factory. Must be a value between 0 and getCreatable-
GUIElementTypeCount()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


286 Irrlicht Engine Class Documentation

7.30.3.5 virtual const c8∗ irr::gui::IGUIElementFactory::getCreateableGUIElementTypeName


(EGUI_ELEMENT_TYPE type) const [pure virtual]

returns type name of a createable GUI element

Parameters:
type: Type of GUI element.

Returns:
: Returns name of the type if this factory can create the type, otherwise 0.

7.30.3.6 virtual const c8∗ irr::gui::IGUIElementFactory::getCreateableGUIElementTypeName


(s32 idx) const [pure virtual]

returns type name of a createable GUI element type by index

Parameters:
idx: Index of the type in this factory. Must be a value between 0 and getCreatableGUIElementType-
Count()

The documentation for this class was generated from the following file:

• IGUIElementFactory.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 287

7.31 irr::gui::IGUIEnvironment Class Reference


GUI Environment. Used as factory and manager of all other GUI elements.
#include <IGUIEnvironment.h>
Inheritance diagram for irr::gui::IGUIEnvironment::

irr::IReferenceCounted

irr::gui::IGUIEnvironment

Public Member Functions


• virtual IGUIButton ∗ addButton (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0, s32
id=-1, const wchar_t ∗text=0, const wchar_t ∗tooltiptext=0)=0
Adds a button element.

• virtual IGUICheckBox ∗ addCheckBox (bool checked, const core::rect< s32 > &rectangle, IGU-
IElement ∗parent=0, s32 id=-1, const wchar_t ∗text=0)=0
Adds a checkbox element.

• virtual IGUIColorSelectDialog ∗ addColorSelectDialog (const wchar_t ∗title=0, bool modal=true,


IGUIElement ∗parent=0, s32 id=-1)=0
Adds a color select dialog.

• virtual IGUIComboBox ∗ addComboBox (const core::rect< s32 > &rectangle, IGUIElement


∗parent=0, s32 id=-1)=0
Adds a combo box to the environment.

• virtual IGUIContextMenu ∗ addContextMenu (const core::rect< s32 > &rectangle, IGUIElement


∗parent=0, s32 id=-1)=0
Adds a context menu to the environment.

• virtual IGUIEditBox ∗ addEditBox (const wchar_t ∗text, const core::rect< s32 > &rectangle, bool
border=true, IGUIElement ∗parent=0, s32 id=-1)=0
Adds an edit box.

• virtual IGUISpriteBank ∗ addEmptySpriteBank (const c8 ∗name)=0


Adds an empty sprite bank to the manager.

• virtual IGUIFileOpenDialog ∗ addFileOpenDialog (const wchar_t ∗title=0, bool modal=true, IGU-


IElement ∗parent=0, s32 id=-1)=0
Adds a file open dialog.

• virtual IGUIElement ∗ addGUIElement (const c8 ∗elementName, IGUIElement ∗parent=0)=0


Adds a GUI Element by its name.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


288 Irrlicht Engine Class Documentation

• virtual IGUIImage ∗ addImage (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0, s32
id=-1, const wchar_t ∗text=0)=0
Adds an image element.

• virtual IGUIImage ∗ addImage (video::ITexture ∗image, core::position2d< s32 > pos, bool use-
AlphaChannel=true, IGUIElement ∗parent=0, s32 id=-1, const wchar_t ∗text=0)=0
Adds an image element.

• virtual IGUIInOutFader ∗ addInOutFader (const core::rect< s32 > ∗rectangle=0, IGUIElement


∗parent=0, s32 id=-1)=0
Adds an element for fading in or out.

• virtual IGUIListBox ∗ addListBox (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0,
s32 id=-1, bool drawBackground=false)=0
Adds a list box element.

• virtual IGUIContextMenu ∗ addMenu (IGUIElement ∗parent=0, s32 id=-1)=0


Adds a menu to the environment.

• virtual IGUIMeshViewer ∗ addMeshViewer (const core::rect< s32 > &rectangle, IGUIElement


∗parent=0, s32 id=-1, const wchar_t ∗text=0)=0
Adds a mesh viewer. Not 100% implemented yet.

• virtual IGUIWindow ∗ addMessageBox (const wchar_t ∗caption, const wchar_t ∗text=0, bool
modal=true, s32 flags=EMBF_OK, IGUIElement ∗parent=0, s32 id=-1)=0
Adds a message box.

• virtual IGUIElement ∗ addModalScreen (IGUIElement ∗parent)=0


• virtual IGUIScrollBar ∗ addScrollBar (bool horizontal, const core::rect< s32 > &rectangle, IGU-
IElement ∗parent=0, s32 id=-1)=0
Adds a scrollbar.

• virtual IGUISpinBox ∗ addSpinBox (const wchar_t ∗text, const core::rect< s32 > &rectangle, IGU-
IElement ∗parent=0, s32 id=-1)=0
Adds a spin box.

• virtual IGUIStaticText ∗ addStaticText (const wchar_t ∗text, const core::rect< s32 > &rect-
angle, bool border=false, bool wordWrap=true, IGUIElement ∗parent=0, s32 id=-1, bool fill-
Background=false)=0
Adds a static text.

• virtual IGUITab ∗ addTab (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0, s32 id=-
1)=0
Adds tab to the environment.

• virtual IGUITabControl ∗ addTabControl (const core::rect< s32 > &rectangle, IGUIElement


∗parent=0, bool fillbackground=false, bool border=true, s32 id=-1)=0
Adds a tab control to the environment.

• virtual IGUIToolBar ∗ addToolBar (IGUIElement ∗parent=0, s32 id=-1)=0


Adds a toolbar to the environment.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 289

• virtual IGUIWindow ∗ addWindow (const core::rect< s32 > &rectangle, bool modal=false, const
wchar_t ∗text=0, IGUIElement ∗parent=0, s32 id=-1)=0
Adds an empty window element.

• virtual void clear ()=0


Removes all elements from the environment.

• virtual IGUISkin ∗ createSkin (EGUI_SKIN_TYPE type)=0


Creates a new GUI Skin based on a template.

• virtual void deserializeAttributes (io::IAttributes ∗in, io::SAttributeReadWriteOptions


∗options=0)=0
Reads attributes of the gui environment.

• virtual void drawAll ()=0


• virtual IGUIFont ∗ getBuiltInFont () const =0
Returns the default built-in font.

• virtual IGUIElementFactory ∗ getDefaultGUIElementFactory () const =0


Returns the default element factory which can create all built in elements.

• virtual io::IFileSystem ∗ getFileSystem () const =0


• virtual IGUIElement ∗ getFocus () const =0
• virtual IGUIFont ∗ getFont (const c8 ∗filename)=0
Returns pointer to the font with the specified filename.

• virtual IGUIElementFactory ∗ getGUIElementFactory (u32 index) const =0


Returns a gui element factory by index.

• virtual IOSOperator ∗ getOSOperator () const =0


• virtual u32 getRegisteredGUIElementFactoryCount () const =0
• virtual IGUIElement ∗ getRootGUIElement ()=0
Returns the root gui element.

• virtual IGUISkin ∗ getSkin () const =0


• virtual IGUISpriteBank ∗ getSpriteBank (const c8 ∗filename)=0
Returns pointer to the sprite bank with the specified file name.

• virtual video::IVideoDriver ∗ getVideoDriver () const =0


• virtual bool hasFocus (IGUIElement ∗element) const =0
Returns whether the element has focus.

• virtual bool loadGUI (io::IReadFile ∗file, IGUIElement ∗parent=0)=0


• virtual bool loadGUI (const c8 ∗filename, IGUIElement ∗parent=0)=0
• virtual bool postEventFromUser (const SEvent &event)=0
Posts an input event to the environment.

• virtual void readGUIElement (io::IXMLReader ∗reader, IGUIElement ∗parent)=0


reads an element

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


290 Irrlicht Engine Class Documentation

• virtual void registerGUIElementFactory (IGUIElementFactory ∗factoryToAdd)=0


Adds an element factory to the gui environment.

• virtual bool removeFocus (IGUIElement ∗element)=0


Removes the focus from an element.

• virtual bool saveGUI (io::IWriteFile ∗file, IGUIElement ∗start=0)=0


• virtual bool saveGUI (const c8 ∗filename, IGUIElement ∗start=0)=0
• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)
const =0
Writes attributes of the gui environment.

• virtual bool setFocus (IGUIElement ∗element)=0


Sets the focus to an element.

• virtual void setSkin (IGUISkin ∗skin)=0


Sets a new GUI Skin.

• virtual void setUserEventReceiver (IEventReceiver ∗evr)=0


This sets a new event receiver for gui events.

• virtual void writeGUIElement (io::IXMLWriter ∗writer, IGUIElement ∗node)=0


writes an element

• virtual ∼IGUIEnvironment ()
destructor

7.31.1 Detailed Description

GUI Environment. Used as factory and manager of all other GUI elements.
Definition at line 60 of file IGUIEnvironment.h.

7.31.2 Constructor & Destructor Documentation

7.31.2.1 virtual irr::gui::IGUIEnvironment::∼IGUIEnvironment () [inline, virtual]

destructor
Definition at line 65 of file IGUIEnvironment.h.

7.31.3 Member Function Documentation

7.31.3.1 virtual IGUIButton∗ irr::gui::IGUIEnvironment::addButton (const core::rect< s32 > &


rectangle, IGUIElement ∗ parent = 0, s32 id = -1, const wchar_t ∗ text = 0, const wchar_t
∗ tooltiptext = 0) [pure virtual]

Adds a button element.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 291

Parameters:
rectangle Position and dimension of the button.
parent Parent gui element of the button.
id Id with which the gui element can be identified.
text Text displayed on the button.
tooltiptext Text displayed in the tooltip.

Returns:
Pointer to the created button. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.2 virtual IGUICheckBox∗ irr::gui::IGUIEnvironment::addCheckBox (bool checked, const


core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1, const wchar_t ∗
text = 0) [pure virtual]

Adds a checkbox element.

Parameters:
checked Define the initial state of the check box.
rectangle Position and dimension of check box.
parent Parent gui element of the check box.
id Id to identify the gui element.
text Title text of the check box.

Returns:
Pointer to the created check box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.3 virtual IGUIColorSelectDialog∗ irr::gui::IGUIEnvironment::addColorSelectDialog


(const wchar_t ∗ title = 0, bool modal = true, IGUIElement ∗ parent = 0, s32 id = -1)
[pure virtual]

Adds a color select dialog.

Parameters:
title The title of the dialog.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the dialog cannot be used until it is removed.
parent The parent of the dialog.
id The ID of the dialog.

Returns:
Pointer to the created file open dialog. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


292 Irrlicht Engine Class Documentation

7.31.3.4 virtual IGUIComboBox∗ irr::gui::IGUIEnvironment::addComboBox (const core::rect<


s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1) [pure virtual]

Adds a combo box to the environment.

Parameters:
rectangle Position and dimension of the combo box.
parent Parent item of the element, e.g. a window. Set it to 0 to place the combo box directly in the
environment.
id An identifier for the combo box.

Returns:
Pointer to the created combo box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.5 virtual IGUIContextMenu∗ irr::gui::IGUIEnvironment::addContextMenu (const


core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds a context menu to the environment.

Parameters:
rectangle Position and dimension of the menu. Note that the menu is resizing itself based on what
items you add.
parent Parent item of the element, e.g. a window. Set it to 0 to place the menu directly in the
environment.
id An identifier for the menu.

Returns:
Pointer to the created context menu. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.6 virtual IGUIEditBox∗ irr::gui::IGUIEnvironment::addEditBox (const wchar_t ∗ text,


const core::rect< s32 > & rectangle, bool border = true, IGUIElement ∗ parent = 0, s32
id = -1) [pure virtual]

Adds an edit box.


Supports unicode input from every keyboard around the world, scrolling, copying and pasting (exchang-
ing data with the clipboard directly), maximum character amount, marking, and all shortcuts like ctrl+X,
ctrl+V, ctrl+C, shift+Left, shift+Right, Home, End, and so on.

Parameters:
text Text to be displayed. Can be altered after creation by setText().
rectangle Position and dimension of the edit box.
border Set to true if the edit box should have a 3d border.
parent Parent item of the element, e.g. a window. Set it to 0 to place the edit box directly in the
environment.
id The ID of the element.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 293

Returns:
Pointer to the created edit box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.7 virtual IGUISpriteBank∗ irr::gui::IGUIEnvironment::addEmptySpriteBank (const c8 ∗


name) [pure virtual]

Adds an empty sprite bank to the manager.

Parameters:
name Name of the new sprite bank.

Returns:
Pointer to the sprite bank. This pointer should not be dropped. See IReferenceCounted::drop() for
more information.

7.31.3.8 virtual IGUIFileOpenDialog∗ irr::gui::IGUIEnvironment::addFileOpenDialog (const


wchar_t ∗ title = 0, bool modal = true, IGUIElement ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds a file open dialog.

Parameters:
title Text to be displayed as the title of the dialog.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the message box cannot be used until this messagebox is removed.
parent Parent gui element of the dialog.
id Id to identify the gui element.

Returns:
Pointer to the created file open dialog. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

7.31.3.9 virtual IGUIElement∗ irr::gui::IGUIEnvironment::addGUIElement (const c8 ∗


elementName, IGUIElement ∗ parent = 0) [pure virtual]

Adds a GUI Element by its name.

7.31.3.10 virtual IGUIImage∗ irr::gui::IGUIEnvironment::addImage (const core::rect< s32 > &


rectangle, IGUIElement ∗ parent = 0, s32 id = -1, const wchar_t ∗ text = 0) [pure
virtual]

Adds an image element.


Use IGUIImage::setImage later to set the image to be displayed.

Parameters:
rectangle Position and dimension of the image.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


294 Irrlicht Engine Class Documentation

parent Parent gui element of the image.


id Id to identify the gui element.
text Title text of the image.

Returns:
Pointer to the created image element. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.11 virtual IGUIImage∗ irr::gui::IGUIEnvironment::addImage (video::ITexture ∗ image,


core::position2d< s32 > pos, bool useAlphaChannel = true, IGUIElement ∗ parent = 0,
s32 id = -1, const wchar_t ∗ text = 0) [pure virtual]

Adds an image element.

Parameters:
image Image to be displayed.
pos Position of the image. The width and height of the image is taken from the image.
useAlphaChannel Sets if the image should use the alpha channel of the texture to draw itself.
parent Parent gui element of the image.
id Id to identify the gui element.
text Title text of the image.

Returns:
Pointer to the created image element. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.12 virtual IGUIInOutFader∗ irr::gui::IGUIEnvironment::addInOutFader (const


core::rect< s32 > ∗ rectangle = 0, IGUIElement ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds an element for fading in or out.

7.31.3.13 virtual IGUIListBox∗ irr::gui::IGUIEnvironment::addListBox (const core::rect< s32 >


& rectangle, IGUIElement ∗ parent = 0, s32 id = -1, bool drawBackground = false)
[pure virtual]

Adds a list box element.

Parameters:
rectangle Position and dimension of list box.
parent Parent gui element of the list box.
id Id to identify the gui element.
drawBackground Flag whether the background should be drawn.

Returns:
Pointer to the created list box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 295

7.31.3.14 virtual IGUIContextMenu∗ irr::gui::IGUIEnvironment::addMenu (IGUIElement ∗


parent = 0, s32 id = -1) [pure virtual]

Adds a menu to the environment.

7.31.3.15 virtual IGUIMeshViewer∗ irr::gui::IGUIEnvironment::addMeshViewer (const


core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1, const wchar_t ∗
text = 0) [pure virtual]

Adds a mesh viewer. Not 100% implemented yet.

Parameters:
rectangle Position and dimension of mesh viewer.
parent Parent gui element of the mesh viewer.
id Id to identify the gui element.
text Title text of the mesh viewer.
Returns:
Pointer to the created mesh viewer. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.16 virtual IGUIWindow∗ irr::gui::IGUIEnvironment::addMessageBox (const wchar_t


∗ caption, const wchar_t ∗ text = 0, bool modal = true, s32 flags = EMBF_OK,
IGUIElement ∗ parent = 0, s32 id = -1) [pure virtual]

Adds a message box.

Parameters:
caption Text to be displayed the title of the message box.
text Text to be displayed in the body of the message box.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the message box cannot be used until this messagebox is removed.
flags Flags specifying the layout of the message box. For example to create a message box with an
OK and a CANCEL button on it, set this to (EMBF_OK | EMBF_CANCEL).
parent Parent gui element of the message box.
id Id with which the gui element can be identified.

Returns:
Pointer to the created message box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.17 virtual IGUIElement∗ irr::gui::IGUIEnvironment::addModalScreen (IGUIElement ∗


parent) [pure virtual]

Parameters:
parent Parent gui element of the modal.

Returns:
Pointer to the created modal. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


296 Irrlicht Engine Class Documentation

7.31.3.18 virtual IGUIScrollBar∗ irr::gui::IGUIEnvironment::addScrollBar (bool horizontal,


const core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds a scrollbar.

Parameters:
horizontal Specifies if the scroll bar is drawn horizontal or vertical.
rectangle Position and dimension of the scroll bar.
parent Parent gui element of the scroll bar.
id Id to identify the gui element.

Returns:
Pointer to the created scrollbar. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.19 virtual IGUISpinBox∗ irr::gui::IGUIEnvironment::addSpinBox (const wchar_t ∗ text,


const core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds a spin box.


An edit box with up and down buttons

Parameters:
text Text to be displayed. Can be altered after creation by setText().
rectangle Position and dimension of the spin box.
parent Parent item of the element, e.g. a window. Set it to 0 to place the spin box directly in the
environment.
id The ID of the element.

Returns:
Pointer to the created spin box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.20 virtual IGUIStaticText∗ irr::gui::IGUIEnvironment::addStaticText (const wchar_t


∗ text, const core::rect< s32 > & rectangle, bool border = false, bool wordWrap =
true, IGUIElement ∗ parent = 0, s32 id = -1, bool fillBackground = false) [pure
virtual]

Adds a static text.

Parameters:
text Text to be displayed. Can be altered after creation by SetText().
rectangle Position and dimension of the static text.
border Set to true if the static text should have a 3d border.
wordWrap Enable if the text should wrap into multiple lines.
parent Parent item of the element, e.g. a window.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 297

id The ID of the element.


fillBackground Enable if the background shall be filled. Defaults to false.

Returns:
Pointer to the created static text. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.31.3.21 virtual IGUITab∗ irr::gui::IGUIEnvironment::addTab (const core::rect< s32 > &


rectangle, IGUIElement ∗ parent = 0, s32 id = -1) [pure virtual]

Adds tab to the environment.


You can use this element to group other elements. This is not used for creating tabs on tab controls, please
use IGUITabControl::addTab() for this instead.

Parameters:
rectangle Position and dimension of the tab.
parent Parent item of the element, e.g. a window. Set it to 0 to place the tab directly in the environ-
ment.
id An identifier for the tab.

Returns:
Pointer to the created tab. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.22 virtual IGUITabControl∗ irr::gui::IGUIEnvironment::addTabControl (const


core::rect< s32 > & rectangle, IGUIElement ∗ parent = 0, bool fillbackground = false,
bool border = true, s32 id = -1) [pure virtual]

Adds a tab control to the environment.

Parameters:
rectangle Position and dimension of the tab control.
parent Parent item of the element, e.g. a window. Set it to 0 to place the tab control directly in the
environment.
fillbackground Specifies if the background of the tab control should be drawn.
border Specifies if a flat 3d border should be drawn. This is usually not necessary unless you place
the control directly into the environment without a window as parent.
id An identifier for the tab control.

Returns:
Pointer to the created tab control element. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


298 Irrlicht Engine Class Documentation

7.31.3.23 virtual IGUIToolBar∗ irr::gui::IGUIEnvironment::addToolBar (IGUIElement ∗ parent


= 0, s32 id = -1) [pure virtual]

Adds a toolbar to the environment.


It is like a menu that is always placed on top of its parent, and contains buttons.

Parameters:
parent Parent item of the element, e.g. a window. Set it to 0 to place the tool bar directly in the
environment.
id An identifier for the tool bar.

Returns:
Pointer to the created tool bar. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.24 virtual IGUIWindow∗ irr::gui::IGUIEnvironment::addWindow (const core::rect< s32


> & rectangle, bool modal = false, const wchar_t ∗ text = 0, IGUIElement ∗ parent = 0,
s32 id = -1) [pure virtual]

Adds an empty window element.

Parameters:
rectangle Position and dimension of the window.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the window cannot be used until it is removed.
text Text displayed as the window title.
parent Parent gui element of the window.
id Id with which the gui element can be identified.

Returns:
Pointer to the created window. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.25 virtual void irr::gui::IGUIEnvironment::clear () [pure virtual]

Removes all elements from the environment.

7.31.3.26 virtual IGUISkin∗ irr::gui::IGUIEnvironment::createSkin (EGUI_SKIN_TYPE type)


[pure virtual]

Creates a new GUI Skin based on a template.


Use setSkin() to set the created skin.

Parameters:
type The type of the new skin.

Returns:
Pointer to the created skin. If you no longer need it, you should call IGUISkin::drop(). See IReference-
Counted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 299

7.31.3.27 virtual void irr::gui::IGUIEnvironment::deserializeAttributes (io::IAttributes ∗ in,


io::SAttributeReadWriteOptions ∗ options = 0) [pure virtual]

Reads attributes of the gui environment.

7.31.3.28 virtual void irr::gui::IGUIEnvironment::drawAll () [pure virtual]

Draws all gui elements by traversing the GUI environment starting at the root node.

7.31.3.29 virtual IGUIFont∗ irr::gui::IGUIEnvironment::getBuiltInFont () const [pure


virtual]

Returns the default built-in font.

Returns:
Pointer to the default built-in font. This pointer should not be dropped. See IReferenceCounted::drop()
for more information.

7.31.3.30 virtual IGUIElementFactory∗ irr::gui::IGUIEnvironment::getDefaultGUIElement-


Factory () const [pure virtual]

Returns the default element factory which can create all built in elements.

Returns:
Pointer to the factory. This pointer should not be dropped. See IReferenceCounted::drop() for more
information.

7.31.3.31 virtual io::IFileSystem∗ irr::gui::IGUIEnvironment::getFileSystem () const [pure


virtual]

Returns the file system.

Returns:
Pointer to the file system.

7.31.3.32 virtual IGUIElement∗ irr::gui::IGUIEnvironment::getFocus () const [pure


virtual]

Returns the element which holds the focus.

Returns:
Pointer to the element with focus.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


300 Irrlicht Engine Class Documentation

7.31.3.33 virtual IGUIFont∗ irr::gui::IGUIEnvironment::getFont (const c8 ∗ filename) [pure


virtual]

Returns pointer to the font with the specified filename.


Loads the font if it was not loaded before.

Parameters:
filename Filename of the Font.

Returns:
Pointer to the font. Returns 0 if the font could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.34 virtual IGUIElementFactory∗ irr::gui::IGUIEnvironment::getGUIElementFactory (u32


index) const [pure virtual]

Returns a gui element factory by index.

7.31.3.35 virtual IOSOperator∗ irr::gui::IGUIEnvironment::getOSOperator () const [pure


virtual]

returns a pointer to the OS operator

Returns:
Pointer to the OS operator.

7.31.3.36 virtual u32 irr::gui::IGUIEnvironment::getRegisteredGUIElementFactoryCount ()


const [pure virtual]

Returns amount of registered gui element factories.

Returns:
Amount of registered gui element factories.

7.31.3.37 virtual IGUIElement∗ irr::gui::IGUIEnvironment::getRootGUIElement () [pure


virtual]

Returns the root gui element.


This is the first gui element, parent of all other gui elements. You’ll never need to use this method, unless
you are creating your own gui elements, trying to add them to the gui elements without a parent.

Returns:
Pointer to the root element of the GUI. The returned pointer should not be dropped. See IReference-
Counted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 301

7.31.3.38 virtual IGUISkin∗ irr::gui::IGUIEnvironment::getSkin () const [pure virtual]

Returns pointer to the current gui skin.

Returns:
Pointer to the GUI skin.

7.31.3.39 virtual IGUISpriteBank∗ irr::gui::IGUIEnvironment::getSpriteBank (const c8 ∗


filename) [pure virtual]

Returns pointer to the sprite bank with the specified file name.
Loads the bank if it was not loaded before.

Parameters:
filename Filename of the sprite bank’s origin.

Returns:
Pointer to the sprite bank. Returns 0 if it could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.31.3.40 virtual video::IVideoDriver∗ irr::gui::IGUIEnvironment::getVideoDriver () const


[pure virtual]

Returns the current video driver.

Returns:
Pointer to the video driver.

7.31.3.41 virtual bool irr::gui::IGUIEnvironment::hasFocus (IGUIElement ∗ element) const


[pure virtual]

Returns whether the element has focus.

Parameters:
element Pointer to the element which is tested.

Returns:
True if the element has focus, else false.

7.31.3.42 virtual bool irr::gui::IGUIEnvironment::loadGUI (io::IReadFile ∗ file, IGUIElement ∗


parent = 0) [pure virtual]

Loads the gui. Note that the current gui is not cleared before.

Parameters:
file The file to load from.
parent Parent for the loaded GUI, root if 0.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


302 Irrlicht Engine Class Documentation

7.31.3.43 virtual bool irr::gui::IGUIEnvironment::loadGUI (const c8 ∗ filename, IGUIElement ∗


parent = 0) [pure virtual]

Loads the gui. Note that the current gui is not cleared before.

Parameters:
filename Name of the file .
parent Parent for the loaded GUI, root if 0.

7.31.3.44 virtual bool irr::gui::IGUIEnvironment::postEventFromUser (const SEvent & event)


[pure virtual]

Posts an input event to the environment.


Usually you do not have to use this method, it is used by the engine internally.

Parameters:
event The event to post.

Returns:
True if succeeded, else false.

7.31.3.45 virtual void irr::gui::IGUIEnvironment::readGUIElement (io::IXMLReader ∗ reader,


IGUIElement ∗ parent) [pure virtual]

reads an element

7.31.3.46 virtual void irr::gui::IGUIEnvironment::registerGUIElementFactory


(IGUIElementFactory ∗ factoryToAdd) [pure virtual]

Adds an element factory to the gui environment.


Use this to extend the gui environment with new element types which it should be able to create automati-
cally, for example when loading data from xml files.

Parameters:
factoryToAdd Pointer to new factory.

7.31.3.47 virtual bool irr::gui::IGUIEnvironment::removeFocus (IGUIElement ∗ element)


[pure virtual]

Removes the focus from an element.


Causes a EGET_ELEMENT_FOCUS_LOST event. If the event is absorbed then the focus will not be
changed.

Parameters:
element Pointer to the element which shall lose the focus.

Returns:
True on success, false on failure

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.31 irr::gui::IGUIEnvironment Class Reference 303

7.31.3.48 virtual bool irr::gui::IGUIEnvironment::saveGUI (io::IWriteFile ∗ file, IGUIElement ∗


start = 0) [pure virtual]

Saves the current gui into a file.

Parameters:
file The file to write to.
start The GUIElement to start with. Root if 0.

7.31.3.49 virtual bool irr::gui::IGUIEnvironment::saveGUI (const c8 ∗ filename, IGUIElement ∗


start = 0) [pure virtual]

Saves the current gui into a file.

Parameters:
filename Name of the file.
start The GUIElement to start with. Root if 0.

7.31.3.50 virtual void irr::gui::IGUIEnvironment::serializeAttributes (io::IAttributes ∗ out,


io::SAttributeReadWriteOptions ∗ options = 0) const [pure virtual]

Writes attributes of the gui environment.

7.31.3.51 virtual bool irr::gui::IGUIEnvironment::setFocus (IGUIElement ∗ element) [pure


virtual]

Sets the focus to an element.


Causes a EGET_ELEMENT_FOCUS_LOST event followed by a EGET_ELEMENT_FOCUSED event.
If someone absorbed either of the events, then the focus will not be changed.

Parameters:
element Pointer to the element which shall get the focus.

Returns:
True on success, false on failure

7.31.3.52 virtual void irr::gui::IGUIEnvironment::setSkin (IGUISkin ∗ skin) [pure virtual]

Sets a new GUI Skin.


You can use this to change the appearance of the whole GUI Environment. You can set one of the built-in
skins or implement your own class derived from IGUISkin and enable it using this method. To set for
example the built-in Windows classic skin, use the following code:

gui::IGUISkin* newskin = environment->createSkin(gui::EGST_WINDOWS_CLASSIC);


environment->setSkin(newskin);
newskin->drop();

Parameters:
skin New skin to use.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


304 Irrlicht Engine Class Documentation

7.31.3.53 virtual void irr::gui::IGUIEnvironment::setUserEventReceiver (IEventReceiver ∗ evr)


[pure virtual]

This sets a new event receiver for gui events.


Usually you do not have to use this method, it is used by the engine internally.

Parameters:
evr Pointer to the new receiver.

7.31.3.54 virtual void irr::gui::IGUIEnvironment::writeGUIElement (io::IXMLWriter ∗ writer,


IGUIElement ∗ node) [pure virtual]

writes an element
The documentation for this class was generated from the following file:

• IGUIEnvironment.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.32 irr::gui::IGUIFileOpenDialog Class Reference 305

7.32 irr::gui::IGUIFileOpenDialog Class Reference

Standard file chooser dialog.


#include <IGUIFileOpenDialog.h>
Inheritance diagram for irr::gui::IGUIFileOpenDialog::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIFileOpenDialog

Public Member Functions

• virtual const wchar_t ∗ getFileName () const =0


Returns the filename of the selected file. Returns NULL, if no file was selected.

• IGUIFileOpenDialog (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect<


s32 > rectangle)
constructor

• virtual ∼IGUIFileOpenDialog ()
destructor

7.32.1 Detailed Description

Standard file chooser dialog.


Definition at line 16 of file IGUIFileOpenDialog.h.

7.32.2 Constructor & Destructor Documentation

7.32.2.1 irr::gui::IGUIFileOpenDialog::IGUIFileOpenDialog (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUIFileOpenDialog.h.
References irr::gui::EGUIET_FILE_OPEN_DIALOG.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


306 Irrlicht Engine Class Documentation

7.32.2.2 virtual irr::gui::IGUIFileOpenDialog::∼IGUIFileOpenDialog () [inline,


virtual]

destructor
Definition at line 25 of file IGUIFileOpenDialog.h.

7.32.3 Member Function Documentation

7.32.3.1 virtual const wchar_t∗ irr::gui::IGUIFileOpenDialog::getFileName () const [pure


virtual]

Returns the filename of the selected file. Returns NULL, if no file was selected.
The documentation for this class was generated from the following file:

• IGUIFileOpenDialog.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.33 irr::gui::IGUIFont Class Reference 307

7.33 irr::gui::IGUIFont Class Reference


Font interface.
#include <IGUIFont.h>
Inheritance diagram for irr::gui::IGUIFont::

irr::IReferenceCounted

irr::gui::IGUIFont

irr::gui::IGUIFontBitmap

Public Member Functions


• virtual void draw (const wchar_t ∗text, const core::rect< s32 > &position, video::SColor color, bool
hcenter=false, bool vcenter=false, const core::rect< s32 > ∗clip=0)=0
Draws an text and clips it to the specified rectangle if wanted.

• virtual s32 getCharacterFromPos (const wchar_t ∗text, s32 pixel_x) const =0


Calculates the index of the character in the text which is on a specific position.

• virtual core::dimension2d< s32 > getDimension (const wchar_t ∗text) const =0


Calculates the dimension of a text.

• virtual s32 getKerningHeight () const =0


Returns the distance between letters.

• virtual s32 getKerningWidth (const wchar_t ∗thisLetter=0, const wchar_t ∗previousLetter=0) const
=0
Gets kerning values (distance between letters) for the font. If no parameters are provided,.

• virtual EGUI_FONT_TYPE getType () const


Returns the type of this font.

• virtual void setKerningHeight (s32 kerning)=0


• virtual void setKerningWidth (s32 kerning)=0
Sets global kerning for the font.

• virtual ∼IGUIFont ()
Destructor.

7.33.1 Detailed Description

Font interface.
Definition at line 38 of file IGUIFont.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


308 Irrlicht Engine Class Documentation

7.33.2 Constructor & Destructor Documentation

7.33.2.1 virtual irr::gui::IGUIFont::∼IGUIFont () [inline, virtual]

Destructor.
Definition at line 43 of file IGUIFont.h.

7.33.3 Member Function Documentation

7.33.3.1 virtual void irr::gui::IGUIFont::draw (const wchar_t ∗ text, const core::rect< s32 > &
position, video::SColor color, bool hcenter = false, bool vcenter = false, const
core::rect< s32 > ∗ clip = 0) [pure virtual]

Draws an text and clips it to the specified rectangle if wanted.

Parameters:
text: Text to draw
position: Rectangle specifying position where to draw the text.
color: Color of the text
hcenter: Specifiies if the text should be centered horizontally into the rectangle.
vcenter: Specifiies if the text should be centered vertically into the rectangle.
clip: Optional pointer to a rectangle against which the text will be clipped. If the pointer is null, no
clipping will be done.

7.33.3.2 virtual s32 irr::gui::IGUIFont::getCharacterFromPos (const wchar_t ∗ text, s32 pixel_x)


const [pure virtual]

Calculates the index of the character in the text which is on a specific position.

Parameters:
text: Text string.
pixel_x: X pixel position of which the index of the character will be returned.

Returns:
Returns zero based index of the character in the text, and -1 if no no character is on this position. (=the
text is too short).

7.33.3.3 virtual core::dimension2d<s32> irr::gui::IGUIFont::getDimension (const wchar_t ∗ text)


const [pure virtual]

Calculates the dimension of a text.

Returns:
Returns width and height of the area covered by the text if it would be drawn.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.33 irr::gui::IGUIFont Class Reference 309

7.33.3.4 virtual s32 irr::gui::IGUIFont::getKerningHeight () const [pure virtual]

Returns the distance between letters.

7.33.3.5 virtual s32 irr::gui::IGUIFont::getKerningWidth (const wchar_t ∗ thisLetter = 0, const


wchar_t ∗ previousLetter = 0) const [pure virtual]

Gets kerning values (distance between letters) for the font. If no parameters are provided,.
the global kerning distance is returned.

Parameters:
thisLetter: If this parameter is provided, the left side kerning for this letter is added to the global
kerning value. For example, a space might only be one pixel wide, but it may be displayed as
several pixels.
previousLetter: If provided, kerning is calculated for both letters and added to the global kerning
value. For example, in a font which supports kerning pairs a string such as ’Wo’ may have the
’o’ tucked neatly under the ’W’.

Implemented in irr::gui::IGUIFontBitmap.

7.33.3.6 virtual EGUI_FONT_TYPE irr::gui::IGUIFont::getType () const [inline,


virtual]

Returns the type of this font.


Reimplemented in irr::gui::IGUIFontBitmap.
Definition at line 70 of file IGUIFont.h.
References irr::gui::EGFT_CUSTOM.

7.33.3.7 virtual void irr::gui::IGUIFont::setKerningHeight (s32 kerning) [pure virtual]

7.33.3.8 virtual void irr::gui::IGUIFont::setKerningWidth (s32 kerning) [pure virtual]

Sets global kerning for the font.


The documentation for this class was generated from the following file:

• IGUIFont.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


310 Irrlicht Engine Class Documentation

7.34 irr::gui::IGUIFontBitmap Class Reference


Font interface.
#include <IGUIFontBitmap.h>
Inheritance diagram for irr::gui::IGUIFontBitmap::

irr::IReferenceCounted

irr::gui::IGUIFont

irr::gui::IGUIFontBitmap

Public Member Functions

• virtual s32 getKerningWidth (const wchar_t ∗thisLetter=0, const wchar_t ∗previousLetter=0) const
=0
Gets kerning values (distance between letters) for the font. If no parameters are provided,.

• virtual IGUISpriteBank ∗ getSpriteBank () const =0


returns the parsed Symbol Information

• virtual u32 getSpriteNoFromChar (const wchar_t ∗c) const =0


returns the sprite number from a given character

• virtual EGUI_FONT_TYPE getType () const


Returns the type of this font.

• virtual ∼IGUIFontBitmap ()
Destructor.

7.34.1 Detailed Description

Font interface.
Definition at line 17 of file IGUIFontBitmap.h.

7.34.2 Constructor & Destructor Documentation

7.34.2.1 virtual irr::gui::IGUIFontBitmap::∼IGUIFontBitmap () [inline, virtual]

Destructor.
Definition at line 22 of file IGUIFontBitmap.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.34 irr::gui::IGUIFontBitmap Class Reference 311

7.34.3 Member Function Documentation

7.34.3.1 virtual s32 irr::gui::IGUIFontBitmap::getKerningWidth (const wchar_t ∗ thisLetter = 0,


const wchar_t ∗ previousLetter = 0) const [pure virtual]

Gets kerning values (distance between letters) for the font. If no parameters are provided,.
the global kerning distance is returned.

Parameters:
thisLetter: If this parameter is provided, the left side kerning for this letter is added to the global
kerning value. For example, a space might only be one pixel wide, but it may be displayed as
several pixels.
previousLetter: If provided, kerning is calculated for both letters and added to the global kerning
value. For example, EGFT_BITMAP will add the right kerning value of previousLetter to the
left side kerning value of thisLetter, then add the global value.

Implements irr::gui::IGUIFont.

7.34.3.2 virtual IGUISpriteBank∗ irr::gui::IGUIFontBitmap::getSpriteBank () const [pure


virtual]

returns the parsed Symbol Information

7.34.3.3 virtual u32 irr::gui::IGUIFontBitmap::getSpriteNoFromChar (const wchar_t ∗ c) const


[pure virtual]

returns the sprite number from a given character

7.34.3.4 virtual EGUI_FONT_TYPE irr::gui::IGUIFontBitmap::getType () const [inline,


virtual]

Returns the type of this font.


Reimplemented from irr::gui::IGUIFont.
Definition at line 25 of file IGUIFontBitmap.h.
References irr::gui::EGFT_BITMAP.
The documentation for this class was generated from the following file:

• IGUIFontBitmap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


312 Irrlicht Engine Class Documentation

7.35 irr::gui::IGUIImage Class Reference


GUI element displaying an image.
#include <IGUIImage.h>
Inheritance diagram for irr::gui::IGUIImage::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIImage

Public Member Functions


• IGUIImage (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 > rect-
angle)
constructor

• virtual bool isAlphaChannelUsed () const =0


Returns true if the image is using the alpha channel, false if not.

• virtual bool isImageScaled () const =0


Returns true if the image is scaled to fit, false if not.

• virtual void setColor (video::SColor color)=0


Sets the colour of the image.

• virtual void setImage (video::ITexture ∗image)=0


Sets an image.

• virtual void setScaleImage (bool scale)=0


Sets if the image should scale to fit the element.

• virtual void setUseAlphaChannel (bool use)=0


Sets if the image should use its alpha channel to draw itself.

• virtual ∼IGUIImage ()
destructor

7.35.1 Detailed Description

GUI element displaying an image.


Definition at line 20 of file IGUIImage.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.35 irr::gui::IGUIImage Class Reference 313

7.35.2 Constructor & Destructor Documentation

7.35.2.1 irr::gui::IGUIImage::IGUIImage (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 25 of file IGUIImage.h.
References irr::gui::EGUIET_IMAGE.

7.35.2.2 virtual irr::gui::IGUIImage::∼IGUIImage () [inline, virtual]

destructor
Definition at line 29 of file IGUIImage.h.

7.35.3 Member Function Documentation

7.35.3.1 virtual bool irr::gui::IGUIImage::isAlphaChannelUsed () const [pure virtual]

Returns true if the image is using the alpha channel, false if not.

7.35.3.2 virtual bool irr::gui::IGUIImage::isImageScaled () const [pure virtual]

Returns true if the image is scaled to fit, false if not.

7.35.3.3 virtual void irr::gui::IGUIImage::setColor (video::SColor color) [pure virtual]

Sets the colour of the image.

7.35.3.4 virtual void irr::gui::IGUIImage::setImage (video::ITexture ∗ image) [pure


virtual]

Sets an image.

7.35.3.5 virtual void irr::gui::IGUIImage::setScaleImage (bool scale) [pure virtual]

Sets if the image should scale to fit the element.

7.35.3.6 virtual void irr::gui::IGUIImage::setUseAlphaChannel (bool use) [pure virtual]

Sets if the image should use its alpha channel to draw itself.
The documentation for this class was generated from the following file:

• IGUIImage.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


314 Irrlicht Engine Class Documentation

7.36 irr::gui::IGUIInOutFader Class Reference


Element for fading out or in.
#include <IGUIInOutFader.h>
Inheritance diagram for irr::gui::IGUIInOutFader::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIInOutFader

Public Member Functions


• virtual void fadeIn (u32 time)=0
• virtual void fadeOut (u32 time)=0
• virtual video::SColor getColor () const =0
Gets the color to fade out to or to fade in from.

• IGUIInOutFader (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual bool isReady () const =0


Returns if the fade in or out process is done.

• virtual void setColor (video::SColor source, video::SColor dest)=0


• virtual void setColor (video::SColor color)=0
• virtual ∼IGUIInOutFader ()
destructor

7.36.1 Detailed Description

Element for fading out or in.


Here is a small example on how the class is used. In this example we fade in from a total red screen in the
beginning. As you can see, the fader is not only useful for dramatic in and out fading, but also to show that
the player is hit in a first person shooter game for example.

gui::IGUIInOutFader* fader = device->getGUIEnvironment()->addInOutFader();


fader->setColor(video::SColor(0,255,0,0));
fader->fadeIn(4000);

Definition at line 27 of file IGUIInOutFader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.36 irr::gui::IGUIInOutFader Class Reference 315

7.36.2 Constructor & Destructor Documentation

7.36.2.1 irr::gui::IGUIInOutFader::IGUIInOutFader (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 32 of file IGUIInOutFader.h.
References irr::gui::EGUIET_IN_OUT_FADER.

7.36.2.2 virtual irr::gui::IGUIInOutFader::∼IGUIInOutFader () [inline, virtual]

destructor
Definition at line 36 of file IGUIInOutFader.h.

7.36.3 Member Function Documentation

7.36.3.1 virtual void irr::gui::IGUIInOutFader::fadeIn (u32 time) [pure virtual]

Starts the fade in process. In the beginning the whole rect is drawn by the set color (black by default) and
at the end of the overgiven time the color has faded out.

Parameters:
time: Time specifing how long it should need to fade in, in milliseconds.

7.36.3.2 virtual void irr::gui::IGUIInOutFader::fadeOut (u32 time) [pure virtual]

Starts the fade out process. In the beginning everything is visible, and at the end of the time only the set
color (black by the fault) will be drawn.

Parameters:
time: Time specifing how long it should need to fade out, in milliseconds.

7.36.3.3 virtual video::SColor irr::gui::IGUIInOutFader::getColor () const [pure virtual]

Gets the color to fade out to or to fade in from.

7.36.3.4 virtual bool irr::gui::IGUIInOutFader::isReady () const [pure virtual]

Returns if the fade in or out process is done.

7.36.3.5 virtual void irr::gui::IGUIInOutFader::setColor (video::SColor source, video::SColor


dest) [pure virtual]

7.36.3.6 virtual void irr::gui::IGUIInOutFader::setColor (video::SColor color) [pure


virtual]

Sets the color to fade out to or to fade in from.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


316 Irrlicht Engine Class Documentation

Parameters:
color: Color to where it is faded out od from it is faded in.

The documentation for this class was generated from the following file:

• IGUIInOutFader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.37 irr::gui::IGUIListBox Class Reference 317

7.37 irr::gui::IGUIListBox Class Reference


Default list box GUI element.
#include <IGUIListBox.h>
Inheritance diagram for irr::gui::IGUIListBox::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIListBox

Public Member Functions


• virtual u32 addItem (const wchar_t ∗text, s32 icon)=0
• virtual u32 addItem (const wchar_t ∗text)=0
adds an list item, returns id of item

• virtual void clear ()=0


clears the list, deletes all items in the listbox

• virtual void clearItemOverrideColor (u32 index, EGUI_LISTBOX_COLOR colorType)=0


clear item color at index for given colortype

• virtual void clearItemOverrideColor (u32 index)=0


clear all item colors at index

• virtual s32 getIcon (u32 index) const =0


Returns the icon of an item.

• virtual u32 getItemCount () const =0


returns amount of list items

• virtual video::SColor getItemDefaultColor (EGUI_LISTBOX_COLOR colorType) const =0


return the default color which is used for the given colorType

• virtual video::SColor getItemOverrideColor (u32 index, EGUI_LISTBOX_COLOR colorType)


const =0
return the overwrite color at given item index.

• virtual const wchar_t ∗ getListItem (u32 id) const =0


returns string of a list item. the may id be a value from 0 to itemCount-1

• virtual s32 getSelected () const =0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


318 Irrlicht Engine Class Documentation

returns id of selected item. returns -1 if no item is selected.

• virtual bool hasItemOverrideColor (u32 index, EGUI_LISTBOX_COLOR colorType) const =0


has the item at index it’s color overwritten?

• IGUIListBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual s32 insertItem (u32 index, const wchar_t ∗text, s32 icon)=0
• virtual bool isAutoScrollEnabled () const =0
returns true if automatic scrolling is enabled, false if not.

• virtual void removeItem (u32 index)=0


Removes an item from the list.

• virtual void setAutoScrollEnabled (bool scroll)=0


• virtual void setItem (u32 index, const wchar_t ∗text, s32 icon)=0
set the item at the given index

• virtual void setItemOverrideColor (u32 index, EGUI_LISTBOX_COLOR colorType, const


video::SColor &color)=0
set all item colors of specified type at given index to color

• virtual void setItemOverrideColor (u32 index, const video::SColor &color)=0


set all item colors at given index to color

• virtual void setSelected (s32 index)=0


sets the selected item. Set this to -1 if no item should be selected

• virtual void setSpriteBank (IGUISpriteBank ∗bank)=0


• virtual void swapItems (u32 index1, u32 index2)=0
Swap the items at the given indices.

• virtual ∼IGUIListBox ()
destructor

7.37.1 Detailed Description

Default list box GUI element.


Definition at line 35 of file IGUIListBox.h.

7.37.2 Constructor & Destructor Documentation

7.37.2.1 irr::gui::IGUIListBox::IGUIListBox (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.37 irr::gui::IGUIListBox Class Reference 319

Definition at line 39 of file IGUIListBox.h.


References irr::gui::EGUIET_LIST_BOX.

7.37.2.2 virtual irr::gui::IGUIListBox::∼IGUIListBox () [inline, virtual]

destructor
Definition at line 43 of file IGUIListBox.h.

7.37.3 Member Function Documentation

7.37.3.1 virtual u32 irr::gui::IGUIListBox::addItem (const wchar_t ∗ text, s32 icon) [pure
virtual]

adds an list item with an icon


Parameters:
text Text of list entry
icon Sprite index of the Icon within the current sprite bank. Set it to -1 if you want no icon

Returns:
returns the id of the new created item

7.37.3.2 virtual u32 irr::gui::IGUIListBox::addItem (const wchar_t ∗ text) [pure virtual]

adds an list item, returns id of item

7.37.3.3 virtual void irr::gui::IGUIListBox::clear () [pure virtual]

clears the list, deletes all items in the listbox

7.37.3.4 virtual void irr::gui::IGUIListBox::clearItemOverrideColor (u32 index,


EGUI_LISTBOX_COLOR colorType) [pure virtual]

clear item color at index for given colortype

7.37.3.5 virtual void irr::gui::IGUIListBox::clearItemOverrideColor (u32 index) [pure


virtual]

clear all item colors at index

7.37.3.6 virtual s32 irr::gui::IGUIListBox::getIcon (u32 index) const [pure virtual]

Returns the icon of an item.

7.37.3.7 virtual u32 irr::gui::IGUIListBox::getItemCount () const [pure virtual]

returns amount of list items

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


320 Irrlicht Engine Class Documentation

7.37.3.8 virtual video::SColor irr::gui::IGUIListBox::getItemDefaultColor


(EGUI_LISTBOX_COLOR colorType) const [pure virtual]

return the default color which is used for the given colorType

7.37.3.9 virtual video::SColor irr::gui::IGUIListBox::getItemOverrideColor (u32 index,


EGUI_LISTBOX_COLOR colorType) const [pure virtual]

return the overwrite color at given item index.

7.37.3.10 virtual const wchar_t∗ irr::gui::IGUIListBox::getListItem (u32 id) const [pure


virtual]

returns string of a list item. the may id be a value from 0 to itemCount-1

7.37.3.11 virtual s32 irr::gui::IGUIListBox::getSelected () const [pure virtual]

returns id of selected item. returns -1 if no item is selected.

7.37.3.12 virtual bool irr::gui::IGUIListBox::hasItemOverrideColor (u32 index,


EGUI_LISTBOX_COLOR colorType) const [pure virtual]

has the item at index it’s color overwritten?

7.37.3.13 virtual s32 irr::gui::IGUIListBox::insertItem (u32 index, const wchar_t ∗ text, s32 icon)
[pure virtual]

Insert the item at the given index Return the index on success or -1 on failure.

7.37.3.14 virtual bool irr::gui::IGUIListBox::isAutoScrollEnabled () const [pure virtual]

returns true if automatic scrolling is enabled, false if not.

7.37.3.15 virtual void irr::gui::IGUIListBox::removeItem (u32 index) [pure virtual]

Removes an item from the list.

7.37.3.16 virtual void irr::gui::IGUIListBox::setAutoScrollEnabled (bool scroll) [pure


virtual]

set whether the listbox should scroll to show a newly selected item or a new item as it is added to the list.

7.37.3.17 virtual void irr::gui::IGUIListBox::setItem (u32 index, const wchar_t ∗ text, s32 icon)
[pure virtual]

set the item at the given index

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.37 irr::gui::IGUIListBox Class Reference 321

7.37.3.18 virtual void irr::gui::IGUIListBox::setItemOverrideColor (u32 index,


EGUI_LISTBOX_COLOR colorType, const video::SColor & color) [pure
virtual]

set all item colors of specified type at given index to color

7.37.3.19 virtual void irr::gui::IGUIListBox::setItemOverrideColor (u32 index, const


video::SColor & color) [pure virtual]

set all item colors at given index to color

7.37.3.20 virtual void irr::gui::IGUIListBox::setSelected (s32 index) [pure virtual]

sets the selected item. Set this to -1 if no item should be selected

7.37.3.21 virtual void irr::gui::IGUIListBox::setSpriteBank (IGUISpriteBank ∗ bank) [pure


virtual]

Sets the sprite bank which should be used to draw list icons. This font is set to the sprite bank of the
built-in-font by default. A sprite can be displayed in front of every list item. An icon is an index within the
icon sprite bank. Several default icons are available in the skin through getIcon

7.37.3.22 virtual void irr::gui::IGUIListBox::swapItems (u32 index1, u32 index2) [pure


virtual]

Swap the items at the given indices.


The documentation for this class was generated from the following file:

• IGUIListBox.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


322 Irrlicht Engine Class Documentation

7.38 irr::gui::IGUIMeshViewer Class Reference

3d mesh viewing GUI element.


#include <IGUIMeshViewer.h>
Inheritance diagram for irr::gui::IGUIMeshViewer::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIMeshViewer

Public Member Functions

• virtual const video::SMaterial & getMaterial () const =0


Gets the material.

• virtual scene::IAnimatedMesh ∗ getMesh () const =0


Gets the displayed mesh.

• IGUIMeshViewer (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32


> rectangle)
constructor

• virtual void setMaterial (const video::SMaterial &material)=0


Sets the material.

• virtual void setMesh (scene::IAnimatedMesh ∗mesh)=0


Sets the mesh to be shown.

• virtual ∼IGUIMeshViewer ()
destructor

7.38.1 Detailed Description

3d mesh viewing GUI element.


Definition at line 27 of file IGUIMeshViewer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.38 irr::gui::IGUIMeshViewer Class Reference 323

7.38.2 Constructor & Destructor Documentation

7.38.2.1 irr::gui::IGUIMeshViewer::IGUIMeshViewer (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 32 of file IGUIMeshViewer.h.
References irr::gui::EGUIET_MESH_VIEWER.

7.38.2.2 virtual irr::gui::IGUIMeshViewer::∼IGUIMeshViewer () [inline, virtual]

destructor
Definition at line 36 of file IGUIMeshViewer.h.

7.38.3 Member Function Documentation

7.38.3.1 virtual const video::SMaterial& irr::gui::IGUIMeshViewer::getMaterial () const [pure


virtual]

Gets the material.

7.38.3.2 virtual scene::IAnimatedMesh∗ irr::gui::IGUIMeshViewer::getMesh () const [pure


virtual]

Gets the displayed mesh.

7.38.3.3 virtual void irr::gui::IGUIMeshViewer::setMaterial (const video::SMaterial & material)


[pure virtual]

Sets the material.

7.38.3.4 virtual void irr::gui::IGUIMeshViewer::setMesh (scene::IAnimatedMesh ∗ mesh)


[pure virtual]

Sets the mesh to be shown.


The documentation for this class was generated from the following file:

• IGUIMeshViewer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


324 Irrlicht Engine Class Documentation

7.39 irr::gui::IGUIScrollBar Class Reference

Default scroll bar GUI element.


#include <IGUIScrollBar.h>
Inheritance diagram for irr::gui::IGUIScrollBar::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIScrollBar

Public Member Functions

• virtual s32 getLargeStep () const =0


gets the large step value

• virtual s32 getMax () const =0


gets the maximum value of the scrollbar.

• virtual s32 getPos () const =0


gets the current position of the scrollbar

• virtual s32 getSmallStep () const =0


gets the small step value

• IGUIScrollBar (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual void setLargeStep (s32 step)=0


• virtual void setMax (s32 max)=0
sets the maximum value of the scrollbar.

• virtual void setPos (s32 pos)=0


sets the current position of the scrollbar

• virtual void setSmallStep (s32 step)=0


• ∼IGUIScrollBar ()
destructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.39 irr::gui::IGUIScrollBar Class Reference 325

7.39.1 Detailed Description

Default scroll bar GUI element.


Definition at line 16 of file IGUIScrollBar.h.

7.39.2 Constructor & Destructor Documentation

7.39.2.1 irr::gui::IGUIScrollBar::IGUIScrollBar (IGUIEnvironment ∗ environment, IGUIElement


∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUIScrollBar.h.
References irr::gui::EGUIET_SCROLL_BAR.

7.39.2.2 irr::gui::IGUIScrollBar::∼IGUIScrollBar () [inline]

destructor
Definition at line 25 of file IGUIScrollBar.h.

7.39.3 Member Function Documentation

7.39.3.1 virtual s32 irr::gui::IGUIScrollBar::getLargeStep () const [pure virtual]

gets the large step value

7.39.3.2 virtual s32 irr::gui::IGUIScrollBar::getMax () const [pure virtual]

gets the maximum value of the scrollbar.

7.39.3.3 virtual s32 irr::gui::IGUIScrollBar::getPos () const [pure virtual]

gets the current position of the scrollbar

7.39.3.4 virtual s32 irr::gui::IGUIScrollBar::getSmallStep () const [pure virtual]

gets the small step value

7.39.3.5 virtual void irr::gui::IGUIScrollBar::setLargeStep (s32 step) [pure virtual]

Sets the large step, the amount that the value changes by when clicking in the tray, or using the page up
and page down keys.

7.39.3.6 virtual void irr::gui::IGUIScrollBar::setMax (s32 max) [pure virtual]

sets the maximum value of the scrollbar.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


326 Irrlicht Engine Class Documentation

7.39.3.7 virtual void irr::gui::IGUIScrollBar::setPos (s32 pos) [pure virtual]

sets the current position of the scrollbar

7.39.3.8 virtual void irr::gui::IGUIScrollBar::setSmallStep (s32 step) [pure virtual]

Sets the small step, the amount that the value changes by when clicking on the buttons or using the cursor
keys.
The documentation for this class was generated from the following file:

• IGUIScrollBar.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.40 irr::gui::IGUISkin Class Reference 327

7.40 irr::gui::IGUISkin Class Reference


A skin modifies the look of the GUI elements.
#include <IGUISkin.h>
Inheritance diagram for irr::gui::IGUISkin::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::gui::IGUISkin

Public Member Functions


• virtual void draw2DRectangle (IGUIElement ∗element, const video::SColor &color, const
core::rect< s32 > &pos, const core::rect< s32 > ∗clip=0)=0
draws a 2d rectangle.

• virtual void draw3DButtonPanePressed (IGUIElement ∗element, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a pressed 3d button pane

• virtual void draw3DButtonPaneStandard (IGUIElement ∗element, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a standard 3d button pane

• virtual void draw3DMenuPane (IGUIElement ∗element, const core::rect< s32 > &rect, const
core::rect< s32 > ∗clip=0)=0
draws a standard 3d menu pane

• virtual void draw3DSunkenPane (IGUIElement ∗element, video::SColor bgcolor, bool flat, bool fill-
BackGround, const core::rect< s32 > &rect, const core::rect< s32 > ∗clip=0)=0
draws a sunken 3d pane

• virtual void draw3DTabBody (IGUIElement ∗element, bool border, bool background, const
core::rect< s32 > &rect, const core::rect< s32 > ∗clip=0)=0
draws a tab control body

• virtual void draw3DTabButton (IGUIElement ∗element, bool active, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a tab button

• virtual void draw3DToolBar (IGUIElement ∗element, const core::rect< s32 > &rect, const
core::rect< s32 > ∗clip=0)=0
draws a standard 3d tool bar

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


328 Irrlicht Engine Class Documentation

• virtual core::rect< s32 > draw3DWindowBackground (IGUIElement ∗element, bool drawTitleBar,


video::SColor titleBarColor, const core::rect< s32 > &rect, const core::rect< s32 > ∗clip=0)=0
draws a window background

• virtual void drawIcon (IGUIElement ∗element, EGUI_DEFAULT_ICON icon, const


core::position2di position, u32 starttime=0, u32 currenttime=0, bool loop=false, const core::rect<
s32 > ∗clip=0)=0
draws an icon, usually from the skin’s sprite bank

• virtual video::SColor getColor (EGUI_DEFAULT_COLOR color) const =0


returns default color

• virtual const wchar_t ∗ getDefaultText (EGUI_DEFAULT_TEXT text) const =0


Returns a default text.

• virtual IGUIFont ∗ getFont (EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const =0


returns the default font

• virtual u32 getIcon (EGUI_DEFAULT_ICON icon) const =0


Returns a default icon.

• virtual s32 getSize (EGUI_DEFAULT_SIZE size) const =0


returns size for the given size type

• virtual IGUISpriteBank ∗ getSpriteBank () const =0


returns the sprite bank

• virtual EGUI_SKIN_TYPE getType () const


get the type of this skin

• virtual void setColor (EGUI_DEFAULT_COLOR which, video::SColor newColor)=0


sets a default color

• virtual void setDefaultText (EGUI_DEFAULT_TEXT which, const wchar_t ∗newText)=0


Sets a default text.

• virtual void setFont (IGUIFont ∗font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT)=0


sets a default font

• virtual void setIcon (EGUI_DEFAULT_ICON icon, u32 index)=0


Sets a default icon.

• virtual void setSize (EGUI_DEFAULT_SIZE which, s32 size)=0


sets a default size

• virtual void setSpriteBank (IGUISpriteBank ∗bank)=0


sets the sprite bank

• virtual ∼IGUISkin ()
destructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.40 irr::gui::IGUISkin Class Reference 329

7.40.1 Detailed Description

A skin modifies the look of the GUI elements.


Definition at line 324 of file IGUISkin.h.

7.40.2 Constructor & Destructor Documentation

7.40.2.1 virtual irr::gui::IGUISkin::∼IGUISkin () [inline, virtual]

destructor
Definition at line 329 of file IGUISkin.h.

7.40.3 Member Function Documentation

7.40.3.1 virtual void irr::gui::IGUISkin::draw2DRectangle (IGUIElement ∗ element, const


video::SColor & color, const core::rect< s32 > & pos, const core::rect< s32 > ∗ clip = 0)
[pure virtual]

draws a 2d rectangle.

Parameters:
element: Pointer to the element which wishes to draw this icon. This parameter is usually not used
by IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
color: Color of the rectangle to draw. The alpha component specifies how transparent the rectangle
will be.
pos: Position of the rectangle.
clip: Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.

7.40.3.2 virtual void irr::gui::IGUISkin::draw3DButtonPanePressed (IGUIElement ∗ element,


const core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a pressed 3d button pane


Used for drawing for example buttons in pressed state. It uses the colors EGDC_3D_DARK_-
SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See
EGUI_DEFAULT_COLOR for details.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


330 Irrlicht Engine Class Documentation

7.40.3.3 virtual void irr::gui::IGUISkin::draw3DButtonPaneStandard (IGUIElement ∗ element,


const core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a standard 3d button pane


Used for drawing for example buttons in normal state. It uses the colors EGDC_3D_DARK_-
SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See
EGUI_DEFAULT_COLOR for details.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.

7.40.3.4 virtual void irr::gui::IGUISkin::draw3DMenuPane (IGUIElement ∗ element, const


core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a standard 3d menu pane


Used for drawing for menus and context menus. It uses the colors EGDC_3D_DARK_SHADOW, EGDC_-
3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See EGUI_DEFAULT_-
COLOR for details.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.

7.40.3.5 virtual void irr::gui::IGUISkin::draw3DSunkenPane (IGUIElement ∗ element,


video::SColor bgcolor, bool flat, bool fillBackGround, const core::rect< s32 > & rect,
const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a sunken 3d pane


Used for drawing the background of edit, combo or check boxes.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
bgcolor: Background color.
flat: Specifies if the sunken pane should be flat or displayed as sunken deep into the ground.
fillBackGround: Specifies if the background should be filled with the background color or not be
drawn at all.
rect: Defining area where to draw.
clip: Clip area.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.40 irr::gui::IGUISkin Class Reference 331

7.40.3.6 virtual void irr::gui::IGUISkin::draw3DTabBody (IGUIElement ∗ element, bool border,


bool background, const core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0)
[pure virtual]

draws a tab control body

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
border: Specifies if the border should be drawn.
background: Specifies if the background should be drawn.
rect: Defining area where to draw.
clip: Clip area.

7.40.3.7 virtual void irr::gui::IGUISkin::draw3DTabButton (IGUIElement ∗ element, bool active,


const core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a tab button


Used for drawing for tab buttons on top of tabs.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
active: Specifies if the tab is currently active.
rect: Defining area where to draw.
clip: Clip area.

7.40.3.8 virtual void irr::gui::IGUISkin::draw3DToolBar (IGUIElement ∗ element, const


core::rect< s32 > & rect, const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a standard 3d tool bar


Used for drawing for toolbars and menus.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


332 Irrlicht Engine Class Documentation

7.40.3.9 virtual core::rect<s32> irr::gui::IGUISkin::draw3DWindowBackground (IGUIElement


∗ element, bool drawTitleBar, video::SColor titleBarColor, const core::rect< s32 > & rect,
const core::rect< s32 > ∗ clip = 0) [pure virtual]

draws a window background


Used for drawing the background of dialogs and windows.

Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
titleBarColor: Title color.
drawTitleBar: True to enable title drawing.
rect: Defining area where to draw.
clip: Clip area.

Returns:
Returns rect where it would be good to draw title bar text.

7.40.3.10 virtual void irr::gui::IGUISkin::drawIcon (IGUIElement ∗ element,


EGUI_DEFAULT_ICON icon, const core::position2di position, u32 starttime = 0, u32
currenttime = 0, bool loop = false, const core::rect< s32 > ∗ clip = 0) [pure
virtual]

draws an icon, usually from the skin’s sprite bank

Parameters:
element: Pointer to the element which wishes to draw this icon. This parameter is usually not used
by IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
icon: Specifies the icon to be drawn.
position: The position to draw the icon
starttime: The time at the start of the animation
currenttime: The present time, used to calculate the frame number
loop: Whether the animation should loop or not
clip: Clip area.

7.40.3.11 virtual video::SColor irr::gui::IGUISkin::getColor (EGUI_DEFAULT_COLOR color)


const [pure virtual]

returns default color

7.40.3.12 virtual const wchar_t∗ irr::gui::IGUISkin::getDefaultText (EGUI_DEFAULT_TEXT


text) const [pure virtual]

Returns a default text.


For example for Message box button captions: "OK", "Cancel", "Yes", "No" and so on.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.40 irr::gui::IGUISkin Class Reference 333

7.40.3.13 virtual IGUIFont∗ irr::gui::IGUISkin::getFont (EGUI_DEFAULT_FONT which =


EGDF_DEFAULT) const [pure virtual]

returns the default font

7.40.3.14 virtual u32 irr::gui::IGUISkin::getIcon (EGUI_DEFAULT_ICON icon) const [pure


virtual]

Returns a default icon.


Returns the sprite index within the sprite bank

7.40.3.15 virtual s32 irr::gui::IGUISkin::getSize (EGUI_DEFAULT_SIZE size) const [pure


virtual]

returns size for the given size type

7.40.3.16 virtual IGUISpriteBank∗ irr::gui::IGUISkin::getSpriteBank () const [pure


virtual]

returns the sprite bank

7.40.3.17 virtual EGUI_SKIN_TYPE irr::gui::IGUISkin::getType () const [inline,


virtual]

get the type of this skin


Definition at line 507 of file IGUISkin.h.
References irr::gui::EGST_UNKNOWN.

7.40.3.18 virtual void irr::gui::IGUISkin::setColor (EGUI_DEFAULT_COLOR which,


video::SColor newColor) [pure virtual]

sets a default color

7.40.3.19 virtual void irr::gui::IGUISkin::setDefaultText (EGUI_DEFAULT_TEXT which, const


wchar_t ∗ newText) [pure virtual]

Sets a default text.


For example for Message box button captions: "OK", "Cancel", "Yes", "No" and so on.

7.40.3.20 virtual void irr::gui::IGUISkin::setFont (IGUIFont ∗ font, EGUI_DEFAULT_FONT


which = EGDF_DEFAULT) [pure virtual]

sets a default font

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


334 Irrlicht Engine Class Documentation

7.40.3.21 virtual void irr::gui::IGUISkin::setIcon (EGUI_DEFAULT_ICON icon, u32 index)


[pure virtual]

Sets a default icon.


Sets the sprite index used for drawing icons like arrows, close buttons and ticks in checkboxes

Parameters:
icon: Enum specifying which icon to change
index: The sprite index used to draw this icon

7.40.3.22 virtual void irr::gui::IGUISkin::setSize (EGUI_DEFAULT_SIZE which, s32 size)


[pure virtual]

sets a default size

7.40.3.23 virtual void irr::gui::IGUISkin::setSpriteBank (IGUISpriteBank ∗ bank) [pure


virtual]

sets the sprite bank


The documentation for this class was generated from the following file:

• IGUISkin.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.41 irr::gui::IGUISpinBox Class Reference 335

7.41 irr::gui::IGUISpinBox Class Reference


Single line edit box + spin buttons.
#include <IGUISpinBox.h>
Inheritance diagram for irr::gui::IGUISpinBox::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUISpinBox

Public Member Functions


• virtual IGUIEditBox ∗ getEditBox () const =0
Access the edit box used in the spin control.

• virtual f32 getMax () const =0


get the maximum value which can be used in the spinbox

• virtual f32 getMin () const =0


get the minimum value which can be used in the spinbox

• virtual f32 getStepSize () const =0


get the current step size

• virtual f32 getValue () const =0


Get the current value of the spinbox.

• IGUISpinBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual void setDecimalPlaces (s32 places)=0


Sets the number of decimal places to display.

• virtual void setRange (f32 min, f32 max)=0


set the range of values which can be used in the spinbox

• virtual void setStepSize (f32 step=1.f)=0


Step size by which values are changed when pressing the spinbuttons.

• virtual void setValue (f32 val)=0


set the current value of the spinbox

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


336 Irrlicht Engine Class Documentation

• virtual ∼IGUISpinBox ()
destructor

7.41.1 Detailed Description

Single line edit box + spin buttons.


Definition at line 17 of file IGUISpinBox.h.

7.41.2 Constructor & Destructor Documentation

7.41.2.1 irr::gui::IGUISpinBox::IGUISpinBox (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 22 of file IGUISpinBox.h.
References irr::gui::EGUIET_SPIN_BOX.

7.41.2.2 virtual irr::gui::IGUISpinBox::∼IGUISpinBox () [inline, virtual]

destructor
Definition at line 27 of file IGUISpinBox.h.

7.41.3 Member Function Documentation

7.41.3.1 virtual IGUIEditBox∗ irr::gui::IGUISpinBox::getEditBox () const [pure virtual]

Access the edit box used in the spin control.

7.41.3.2 virtual f32 irr::gui::IGUISpinBox::getMax () const [pure virtual]

get the maximum value which can be used in the spinbox

7.41.3.3 virtual f32 irr::gui::IGUISpinBox::getMin () const [pure virtual]

get the minimum value which can be used in the spinbox

7.41.3.4 virtual f32 irr::gui::IGUISpinBox::getStepSize () const [pure virtual]

get the current step size

7.41.3.5 virtual f32 irr::gui::IGUISpinBox::getValue () const [pure virtual]

Get the current value of the spinbox.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.41 irr::gui::IGUISpinBox Class Reference 337

7.41.3.6 virtual void irr::gui::IGUISpinBox::setDecimalPlaces (s32 places) [pure virtual]

Sets the number of decimal places to display.

Parameters:
places: The number of decimal places to display, use -1 to reset

7.41.3.7 virtual void irr::gui::IGUISpinBox::setRange (f32 min, f32 max) [pure virtual]

set the range of values which can be used in the spinbox

Parameters:
min: minimum value
max: maximum value

7.41.3.8 virtual void irr::gui::IGUISpinBox::setStepSize (f32 step = 1.f) [pure virtual]

Step size by which values are changed when pressing the spinbuttons.
The step size also determines the number of decimal places to display

Parameters:
step: stepsize used for value changes when pressing spinbuttons

7.41.3.9 virtual void irr::gui::IGUISpinBox::setValue (f32 val) [pure virtual]

set the current value of the spinbox

Parameters:
val: value to be set in the spinbox

The documentation for this class was generated from the following file:

• IGUISpinBox.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


338 Irrlicht Engine Class Documentation

7.42 irr::gui::IGUISpriteBank Class Reference


Sprite bank interface.
#include <IGUISpriteBank.h>
Inheritance diagram for irr::gui::IGUISpriteBank::

irr::IReferenceCounted

irr::gui::IGUISpriteBank

Public Member Functions

• virtual void addTexture (video::ITexture ∗texture)=0


Adds a texture to the sprite bank.

• virtual void draw2DSprite (u32 index, const core::position2di &pos, const core::rect< s32 >
∗clip=0, const video::SColor &color=video::SColor(255, 255, 255, 255), u32 starttime=0, u32 cur-
renttime=0, bool loop=true, bool center=false)=0
Draws a sprite in 2d with position and color.

• virtual core::array< core::rect< s32 > > & getPositions ()=0


Returns the list of rectangles held by the sprite bank.

• virtual core::array< SGUISprite > & getSprites ()=0


Returns the array of animated sprites within the sprite bank.

• virtual video::ITexture ∗ getTexture (u32 index) const =0


Gets the texture with the specified index.

• virtual u32 getTextureCount () const =0


Returns the number of textures held by the sprite bank.

• virtual void setTexture (u32 index, video::ITexture ∗texture)=0


Changes one of the textures in the sprite bank.

• virtual ∼IGUISpriteBank ()
Destructor.

7.42.1 Detailed Description

Sprite bank interface.


Definition at line 41 of file IGUISpriteBank.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.42 irr::gui::IGUISpriteBank Class Reference 339

7.42.2 Constructor & Destructor Documentation

7.42.2.1 virtual irr::gui::IGUISpriteBank::∼IGUISpriteBank () [inline, virtual]

Destructor.
Definition at line 46 of file IGUISpriteBank.h.

7.42.3 Member Function Documentation

7.42.3.1 virtual void irr::gui::IGUISpriteBank::addTexture (video::ITexture ∗ texture) [pure


virtual]

Adds a texture to the sprite bank.

7.42.3.2 virtual void irr::gui::IGUISpriteBank::draw2DSprite (u32 index, const core::position2di


& pos, const core::rect< s32 > ∗ clip = 0, const video::SColor & color =
video::SColor(255, 255, 255, 255), u32 starttime = 0, u32 currenttime = 0,
bool loop = true, bool center = false) [pure virtual]

Draws a sprite in 2d with position and color.

7.42.3.3 virtual core::array< core::rect<s32> >& irr::gui::IGUISpriteBank::getPositions ()


[pure virtual]

Returns the list of rectangles held by the sprite bank.

7.42.3.4 virtual core::array< SGUISprite >& irr::gui::IGUISpriteBank::getSprites () [pure


virtual]

Returns the array of animated sprites within the sprite bank.

7.42.3.5 virtual video::ITexture∗ irr::gui::IGUISpriteBank::getTexture (u32 index) const [pure


virtual]

Gets the texture with the specified index.

7.42.3.6 virtual u32 irr::gui::IGUISpriteBank::getTextureCount () const [pure virtual]

Returns the number of textures held by the sprite bank.

7.42.3.7 virtual void irr::gui::IGUISpriteBank::setTexture (u32 index, video::ITexture ∗ texture)


[pure virtual]

Changes one of the textures in the sprite bank.


The documentation for this class was generated from the following file:

• IGUISpriteBank.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


340 Irrlicht Engine Class Documentation

7.43 irr::gui::IGUIStaticText Class Reference


Multi or single line text label.
#include <IGUIStaticText.h>
Inheritance diagram for irr::gui::IGUIStaticText::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIStaticText

Public Member Functions


• virtual void enableOverrideColor (bool enable)=0
Sets if the static text should use the overide color or the color in the gui skin.

• virtual video::SColor const & getOverrideColor (void) const =0


• virtual IGUIFont ∗ getOverrideFont (void) const =0
• virtual s32 getTextHeight () const =0
Returns the height of the text in pixels when it is drawn.

• virtual s32 getTextWidth (void) const =0


Returns the width of the current text, in the current font.

• IGUIStaticText (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual bool isOverrideColorEnabled (void) const =0


• virtual bool isWordWrapEnabled (void) const =0
• virtual void setBackgroundColor (video::SColor color)=0
Sets another color for the background.

• virtual void setDrawBackground (bool draw)=0


Sets whether to draw the background.

• virtual void setDrawBorder (bool draw)=0


Sets whether to draw the border.

• virtual void setOverrideColor (video::SColor color)=0


Sets another color for the text.

• virtual void setOverrideFont (IGUIFont ∗font=0)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.43 irr::gui::IGUIStaticText Class Reference 341

Sets another skin independent font.

• virtual void setTextAlignment (EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT verti-


cal)=0
Sets text justification mode.

• virtual void setWordWrap (bool enable)=0


Enables or disables word wrap for using the static text as multiline text control.

• virtual ∼IGUIStaticText ()
destructor

7.43.1 Detailed Description

Multi or single line text label.


Definition at line 18 of file IGUIStaticText.h.

7.43.2 Constructor & Destructor Documentation

7.43.2.1 irr::gui::IGUIStaticText::IGUIStaticText (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 23 of file IGUIStaticText.h.
References irr::gui::EGUIET_STATIC_TEXT.

7.43.2.2 virtual irr::gui::IGUIStaticText::∼IGUIStaticText () [inline, virtual]

destructor
Definition at line 27 of file IGUIStaticText.h.

7.43.3 Member Function Documentation

7.43.3.1 virtual void irr::gui::IGUIStaticText::enableOverrideColor (bool enable) [pure


virtual]

Sets if the static text should use the overide color or the color in the gui skin.

Parameters:
enable: If set to true, the override color, which can be set with IGUIStaticText::setOverrideColor is
used, otherwise the EGDC_BUTTON_TEXT color of the skin.

7.43.3.2 virtual video::SColor const& irr::gui::IGUIStaticText::getOverrideColor (void) const


[pure virtual]

Gets the override color

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


342 Irrlicht Engine Class Documentation

Returns:
: The override color

7.43.3.3 virtual IGUIFont∗ irr::gui::IGUIStaticText::getOverrideFont (void) const [pure


virtual]

Gets the override font (if any)

Returns:
The override font (may be 0)

7.43.3.4 virtual s32 irr::gui::IGUIStaticText::getTextHeight () const [pure virtual]

Returns the height of the text in pixels when it is drawn.


This is useful for adjusting the layout of gui elements based on the height of the multiline text in this
element.
Returns:
Height of text in pixels.

7.43.3.5 virtual s32 irr::gui::IGUIStaticText::getTextWidth (void) const [pure virtual]

Returns the width of the current text, in the current font.


If the text is broken, this returns the width of the widest line

Returns:
The width of the text, or the widest broken line.

7.43.3.6 virtual bool irr::gui::IGUIStaticText::isOverrideColorEnabled (void) const [pure


virtual]

Checks if an override color is enabled


Returns:
true if the override color is enabled, false otherwise

7.43.3.7 virtual bool irr::gui::IGUIStaticText::isWordWrapEnabled (void) const [pure


virtual]

Checks if word wrap is enabled

Returns:
true if word wrap is enabled, false otherwise

7.43.3.8 virtual void irr::gui::IGUIStaticText::setBackgroundColor (video::SColor color) [pure


virtual]

Sets another color for the background.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.43 irr::gui::IGUIStaticText Class Reference 343

7.43.3.9 virtual void irr::gui::IGUIStaticText::setDrawBackground (bool draw) [pure


virtual]

Sets whether to draw the background.

7.43.3.10 virtual void irr::gui::IGUIStaticText::setDrawBorder (bool draw) [pure virtual]

Sets whether to draw the border.

7.43.3.11 virtual void irr::gui::IGUIStaticText::setOverrideColor (video::SColor color) [pure


virtual]

Sets another color for the text.


If set, the static text does not use the EGDC_BUTTON_TEXT color defined in the skin, but the set color
instead. You don’t need to call IGUIStaticText::enableOverrrideColor(true) after this, this is done by this
function. If you set a color, and you want the text displayed with the color of the skin again, call IGUIStatic-
Text::enableOverrideColor(false);

Parameters:
color: New color of the text.

7.43.3.12 virtual void irr::gui::IGUIStaticText::setOverrideFont (IGUIFont ∗ font = 0) [pure


virtual]

Sets another skin independent font.


If this is set to zero, the button uses the font of the skin.

Parameters:
font: New font to set.

7.43.3.13 virtual void irr::gui::IGUIStaticText::setTextAlignment (EGUI_ALIGNMENT


horizontal, EGUI_ALIGNMENT vertical) [pure virtual]

Sets text justification mode.

Parameters:
horizontal: EGUIA_UPPERLEFT for left justified (default), EGUIA_LOWEERRIGHT for right jus-
tified, or EGUIA_CENTER for centered text.
vertical: EGUIA_UPPERLEFT to align with top edge, EGUIA_LOWEERRIGHT for bottom edge,
or EGUIA_CENTER for centered text (default).

7.43.3.14 virtual void irr::gui::IGUIStaticText::setWordWrap (bool enable) [pure virtual]

Enables or disables word wrap for using the static text as multiline text control.

Parameters:
enable: If set to true, words going over one line are broken on to the next line.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


344 Irrlicht Engine Class Documentation

The documentation for this class was generated from the following file:

• IGUIStaticText.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.44 irr::gui::IGUITab Class Reference 345

7.44 irr::gui::IGUITab Class Reference


A tab, onto which other gui elements could be added.
#include <IGUITabControl.h>
Inheritance diagram for irr::gui::IGUITab::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUITab

Public Member Functions

• virtual video::SColor getBackgroundColor () const =0


returns the color of the background

• virtual s32 getNumber () const =0


Returns number of tab if in tabcontrol.

• IGUITab (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 > rectan-
gle)
constructor

• virtual bool isDrawingBackground () const =0


returns true if the tab is drawing its background, false if not

• virtual void setBackgroundColor (video::SColor c)=0


sets the color of the background, if it should be drawn.

• virtual void setDrawBackground (bool draw=true)=0


sets if the tab should draw its background

• virtual ∼IGUITab ()
destructor

7.44.1 Detailed Description

A tab, onto which other gui elements could be added.


Definition at line 16 of file IGUITabControl.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


346 Irrlicht Engine Class Documentation

7.44.2 Constructor & Destructor Documentation

7.44.2.1 irr::gui::IGUITab::IGUITab (IGUIEnvironment ∗ environment, IGUIElement ∗ parent,


s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 21 of file IGUITabControl.h.
References irr::gui::EGUIET_TAB.

7.44.2.2 virtual irr::gui::IGUITab::∼IGUITab () [inline, virtual]

destructor
Definition at line 25 of file IGUITabControl.h.

7.44.3 Member Function Documentation

7.44.3.1 virtual video::SColor irr::gui::IGUITab::getBackgroundColor () const [pure


virtual]

returns the color of the background

7.44.3.2 virtual s32 irr::gui::IGUITab::getNumber () const [pure virtual]

Returns number of tab if in tabcontrol.


Can be accessed later IGUITabControl::getTab() by this number.

7.44.3.3 virtual bool irr::gui::IGUITab::isDrawingBackground () const [pure virtual]

returns true if the tab is drawing its background, false if not

7.44.3.4 virtual void irr::gui::IGUITab::setBackgroundColor (video::SColor c) [pure


virtual]

sets the color of the background, if it should be drawn.

7.44.3.5 virtual void irr::gui::IGUITab::setDrawBackground (bool draw = true) [pure


virtual]

sets if the tab should draw its background


The documentation for this class was generated from the following file:

• IGUITabControl.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.45 irr::gui::IGUITabControl Class Reference 347

7.45 irr::gui::IGUITabControl Class Reference


A standard tab control.
#include <IGUITabControl.h>
Inheritance diagram for irr::gui::IGUITabControl::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUITabControl

Public Member Functions


• virtual IGUITab ∗ addTab (const wchar_t ∗caption, s32 id=-1)=0
Adds a tab.

• virtual s32 getActiveTab () const =0


Returns which tab is currently active.

• virtual IGUITab ∗ getTab (s32 idx) const =0


Returns a tab based on zero based index.

• virtual s32 getTabCount () const =0


Returns amount of tabs in the tabcontrol.

• IGUITabControl (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual bool setActiveTab (IGUIElement ∗tab)=0


Brings a tab to front.

• virtual bool setActiveTab (s32 idx)=0


Brings a tab to front.

• virtual ∼IGUITabControl ()
destructor

7.45.1 Detailed Description

A standard tab control.


Definition at line 45 of file IGUITabControl.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


348 Irrlicht Engine Class Documentation

7.45.2 Constructor & Destructor Documentation

7.45.2.1 irr::gui::IGUITabControl::IGUITabControl (IGUIEnvironment ∗ environment,


IGUIElement ∗ parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 50 of file IGUITabControl.h.
References irr::gui::EGUIET_TAB_CONTROL.

7.45.2.2 virtual irr::gui::IGUITabControl::∼IGUITabControl () [inline, virtual]

destructor
Definition at line 54 of file IGUITabControl.h.

7.45.3 Member Function Documentation

7.45.3.1 virtual IGUITab∗ irr::gui::IGUITabControl::addTab (const wchar_t ∗ caption, s32 id =


-1) [pure virtual]

Adds a tab.

7.45.3.2 virtual s32 irr::gui::IGUITabControl::getActiveTab () const [pure virtual]

Returns which tab is currently active.

7.45.3.3 virtual IGUITab∗ irr::gui::IGUITabControl::getTab (s32 idx) const [pure virtual]

Returns a tab based on zero based index.

Parameters:
idx: zero based index of tab. Is a value betwenn 0 and getTabcount()-1;

Returns:
Returns pointer to the Tab. Returns 0 if no tab is corresponding to this tab.

7.45.3.4 virtual s32 irr::gui::IGUITabControl::getTabCount () const [pure virtual]

Returns amount of tabs in the tabcontrol.

7.45.3.5 virtual bool irr::gui::IGUITabControl::setActiveTab (IGUIElement ∗ tab) [pure


virtual]

Brings a tab to front.

Parameters:
tab: pointer to the tab.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.45 irr::gui::IGUITabControl Class Reference 349

Returns:
Returns true if successful.

7.45.3.6 virtual bool irr::gui::IGUITabControl::setActiveTab (s32 idx) [pure virtual]

Brings a tab to front.

Parameters:
idx: number of the tab.

Returns:
Returns true if successful.

The documentation for this class was generated from the following file:

• IGUITabControl.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


350 Irrlicht Engine Class Documentation

7.46 irr::gui::IGUIToolBar Class Reference

Stays at the top of its parent like the menu bar and contains tool buttons.
#include <IGUIToolbar.h>
Inheritance diagram for irr::gui::IGUIToolBar::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIToolBar

Public Member Functions

• virtual IGUIButton ∗ addButton (s32 id=-1, const wchar_t ∗text=0, const wchar_t ∗tooltiptext=0,
video::ITexture ∗img=0, video::ITexture ∗pressedimg=0, bool isPushButton=false, bool useAlpha-
Channel=false)=0
Adds a button to the tool bar.

• IGUIToolBar (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual ∼IGUIToolBar ()
destructor

7.46.1 Detailed Description

Stays at the top of its parent like the menu bar and contains tool buttons.
Definition at line 21 of file IGUIToolbar.h.

7.46.2 Constructor & Destructor Documentation

7.46.2.1 irr::gui::IGUIToolBar::IGUIToolBar (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor
Definition at line 26 of file IGUIToolbar.h.
References irr::gui::EGUIET_TOOL_BAR.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.46 irr::gui::IGUIToolBar Class Reference 351

7.46.2.2 virtual irr::gui::IGUIToolBar::∼IGUIToolBar () [inline, virtual]

destructor
Definition at line 30 of file IGUIToolbar.h.

7.46.3 Member Function Documentation

7.46.3.1 virtual IGUIButton∗ irr::gui::IGUIToolBar::addButton (s32 id = -1, const wchar_t ∗


text = 0, const wchar_t ∗ tooltiptext = 0, video::ITexture ∗ img = 0, video::ITexture ∗
pressedimg = 0, bool isPushButton = false, bool useAlphaChannel = false) [pure
virtual]

Adds a button to the tool bar.


The documentation for this class was generated from the following file:

• IGUIToolbar.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


352 Irrlicht Engine Class Documentation

7.47 irr::gui::IGUIWindow Class Reference


Default moveable window GUI element with border, caption and close icons.
#include <IGUIWindow.h>
Inheritance diagram for irr::gui::IGUIWindow::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject irr::IEventReceiver

irr::gui::IGUIElement

irr::gui::IGUIWindow

Public Member Functions


• virtual IGUIButton ∗ getCloseButton () const =0
Returns pointer to the close button.

• virtual IGUIButton ∗ getMaximizeButton () const =0


Returns pointer to the maximize button.

• virtual IGUIButton ∗ getMinimizeButton () const =0


Returns pointer to the minimize button.

• IGUIWindow (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor

• virtual ∼IGUIWindow ()
destructor

7.47.1 Detailed Description

Default moveable window GUI element with border, caption and close icons.
Definition at line 18 of file IGUIWindow.h.

7.47.2 Constructor & Destructor Documentation

7.47.2.1 irr::gui::IGUIWindow::IGUIWindow (IGUIEnvironment ∗ environment, IGUIElement ∗


parent, s32 id, core::rect< s32 > rectangle) [inline]

constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.47 irr::gui::IGUIWindow Class Reference 353

Definition at line 23 of file IGUIWindow.h.


References irr::gui::EGUIET_WINDOW.

7.47.2.2 virtual irr::gui::IGUIWindow::∼IGUIWindow () [inline, virtual]

destructor
Definition at line 27 of file IGUIWindow.h.

7.47.3 Member Function Documentation

7.47.3.1 virtual IGUIButton∗ irr::gui::IGUIWindow::getCloseButton () const [pure


virtual]

Returns pointer to the close button.

7.47.3.2 virtual IGUIButton∗ irr::gui::IGUIWindow::getMaximizeButton () const [pure


virtual]

Returns pointer to the maximize button.

7.47.3.3 virtual IGUIButton∗ irr::gui::IGUIWindow::getMinimizeButton () const [pure


virtual]

Returns pointer to the minimize button.


The documentation for this class was generated from the following file:

• IGUIWindow.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


354 Irrlicht Engine Class Documentation

7.48 irr::video::IImage Class Reference


Interface for software image data.
#include <IImage.h>
Inheritance diagram for irr::video::IImage::

irr::IReferenceCounted

irr::video::IImage

Public Member Functions


• virtual void copyToScaling (IImage ∗target)=0
Copies the image into the target, scaling the image to fit.

• virtual void copyToScaling (void ∗target, s32 width, s32 height, ECOLOR_FORMAT format=ECF_-
A8R8G8B8, u32 pitch=0)=0
Copies the image into the target, scaling the image to fit.

• virtual u32 getAlphaMask () const =0


Returns mask for alpha value of a pixel.

• virtual u32 getBitsPerPixel () const =0


Returns bits per pixel.

• virtual u32 getBlueMask () const =0


Returns mask for blue value of a pixel.

• virtual u32 getBytesPerPixel () const =0


Returns bytes per pixel.

• virtual ECOLOR_FORMAT getColorFormat () const =0


Returns the color format.

• virtual const core::dimension2d< s32 > & getDimension () const =0


Returns width and height of image data.

• virtual u32 getGreenMask () const =0


Returns mask for green value of a pixel.

• virtual u32 getImageDataSizeInBytes () const =0


Returns image data size in bytes.

• virtual u32 getImageDataSizeInPixels () const =0


Returns image data size in pixels.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.48 irr::video::IImage Class Reference 355

• virtual u32 getPitch () const =0


Returns pitch of image.

• virtual SColor getPixel (u32 x, u32 y) const =0


Returns a pixel.

• virtual u32 getRedMask () const =0


Returns mask for red value of a pixel.

• virtual void ∗ lock ()=0


Lock function. Use this to get a pointer to the image data.

• virtual void setPixel (u32 x, u32 y, const SColor &color)=0


Sets a pixel.

• virtual void unlock ()=0


Unlock function.

• virtual ∼IImage ()
Destructor.

7.48.1 Detailed Description

Interface for software image data.


Image loaders create these images from files. IVideoDrivers convert these images into their (hardware)
textures.
Definition at line 42 of file IImage.h.

7.48.2 Constructor & Destructor Documentation

7.48.2.1 virtual irr::video::IImage::∼IImage () [inline, virtual]

Destructor.
Definition at line 47 of file IImage.h.

7.48.3 Member Function Documentation

7.48.3.1 virtual void irr::video::IImage::copyToScaling (IImage ∗ target) [pure virtual]

Copies the image into the target, scaling the image to fit.

7.48.3.2 virtual void irr::video::IImage::copyToScaling (void ∗ target, s32 width, s32 height,
ECOLOR_FORMAT format = ECF_A8R8G8B8, u32 pitch = 0) [pure virtual]

Copies the image into the target, scaling the image to fit.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


356 Irrlicht Engine Class Documentation

7.48.3.3 virtual u32 irr::video::IImage::getAlphaMask () const [pure virtual]

Returns mask for alpha value of a pixel.

7.48.3.4 virtual u32 irr::video::IImage::getBitsPerPixel () const [pure virtual]

Returns bits per pixel.

7.48.3.5 virtual u32 irr::video::IImage::getBlueMask () const [pure virtual]

Returns mask for blue value of a pixel.

7.48.3.6 virtual u32 irr::video::IImage::getBytesPerPixel () const [pure virtual]

Returns bytes per pixel.

7.48.3.7 virtual ECOLOR_FORMAT irr::video::IImage::getColorFormat () const [pure


virtual]

Returns the color format.

7.48.3.8 virtual const core::dimension2d<s32>& irr::video::IImage::getDimension () const


[pure virtual]

Returns width and height of image data.

7.48.3.9 virtual u32 irr::video::IImage::getGreenMask () const [pure virtual]

Returns mask for green value of a pixel.

7.48.3.10 virtual u32 irr::video::IImage::getImageDataSizeInBytes () const [pure virtual]

Returns image data size in bytes.

7.48.3.11 virtual u32 irr::video::IImage::getImageDataSizeInPixels () const [pure virtual]

Returns image data size in pixels.

7.48.3.12 virtual u32 irr::video::IImage::getPitch () const [pure virtual]

Returns pitch of image.

7.48.3.13 virtual SColor irr::video::IImage::getPixel (u32 x, u32 y) const [pure virtual]

Returns a pixel.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.48 irr::video::IImage Class Reference 357

7.48.3.14 virtual u32 irr::video::IImage::getRedMask () const [pure virtual]

Returns mask for red value of a pixel.

7.48.3.15 virtual void∗ irr::video::IImage::lock () [pure virtual]

Lock function. Use this to get a pointer to the image data.


After you don’t need the pointer anymore, you must call unlock().

Returns:
Pointer to the image data. What type of data is pointed to depends on the color format of the image.
For example if the color format is ECF_A8R8G8B8, it is of u32. Be sure to call unlock() after you
don’t need the pointer any more.

7.48.3.16 virtual void irr::video::IImage::setPixel (u32 x, u32 y, const SColor & color) [pure
virtual]

Sets a pixel.

7.48.3.17 virtual void irr::video::IImage::unlock () [pure virtual]

Unlock function.
Should be called after the pointer received by lock() is not needed anymore.
The documentation for this class was generated from the following file:

• IImage.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


358 Irrlicht Engine Class Documentation

7.49 irr::video::IImageLoader Class Reference

Class which is able to create a image from a file.


#include <IImageLoader.h>
Inheritance diagram for irr::video::IImageLoader::

irr::IReferenceCounted

irr::video::IImageLoader

Public Member Functions

• virtual bool isALoadableFileExtension (const c8 ∗fileName) const =0


Check if the file might be loaded by this class.

• virtual bool isALoadableFileFormat (io::IReadFile ∗file) const =0


Check if the file might be loaded by this class.

• virtual IImage ∗ loadImage (io::IReadFile ∗file) const =0


Creates a surface from the file.

• virtual ∼IImageLoader ()
Destructor.

7.49.1 Detailed Description

Class which is able to create a image from a file.


If you want the Irrlicht Engine be able to load textures of currently unsupported file formats (e.g .gif),
then implement this and add your new Surface loader with IVideoDriver::addExternalImageLoader() to the
engine.
Definition at line 25 of file IImageLoader.h.

7.49.2 Constructor & Destructor Documentation

7.49.2.1 virtual irr::video::IImageLoader::∼IImageLoader () [inline, virtual]

Destructor.
Definition at line 30 of file IImageLoader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.49 irr::video::IImageLoader Class Reference 359

7.49.3 Member Function Documentation

7.49.3.1 virtual bool irr::video::IImageLoader::isALoadableFileExtension (const c8 ∗ fileName)


const [pure virtual]

Check if the file might be loaded by this class.


Check is based on the file extension (e.g. ".tga")

Parameters:
fileName Name of file to check.

Returns:
True if file seems to be loadable.

7.49.3.2 virtual bool irr::video::IImageLoader::isALoadableFileFormat (io::IReadFile ∗ file)


const [pure virtual]

Check if the file might be loaded by this class.


Check might look into the file.

Parameters:
file File handle to check.

Returns:
True if file seems to be loadable.

7.49.3.3 virtual IImage∗ irr::video::IImageLoader::loadImage (io::IReadFile ∗ file) const [pure


virtual]

Creates a surface from the file.

Parameters:
file File handle to check.

Returns:
Pointer to newly created image, or 0 upon error.

The documentation for this class was generated from the following file:

• IImageLoader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


360 Irrlicht Engine Class Documentation

7.50 irr::video::IImageWriter Class Reference


Interface for writing software image data.
#include <IImageWriter.h>
Inheritance diagram for irr::video::IImageWriter::

irr::IReferenceCounted

irr::video::IImageWriter

Public Member Functions


• virtual bool isAWriteableFileExtension (const c8 ∗fileName) const =0
Check if this writer can write a file with the given extension.

• virtual bool writeImage (io::IWriteFile ∗file, IImage ∗image, u32 param=0) const =0
Write image to file.

• virtual ∼IImageWriter ()
Destructor.

7.50.1 Detailed Description

Interface for writing software image data.


Definition at line 23 of file IImageWriter.h.

7.50.2 Constructor & Destructor Documentation

7.50.2.1 virtual irr::video::IImageWriter::∼IImageWriter () [inline, virtual]

Destructor.
Definition at line 27 of file IImageWriter.h.

7.50.3 Member Function Documentation

7.50.3.1 virtual bool irr::video::IImageWriter::isAWriteableFileExtension (const c8 ∗ fileName)


const [pure virtual]

Check if this writer can write a file with the given extension.

Parameters:
fileName Name of the file to check.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.50 irr::video::IImageWriter Class Reference 361

Returns:
True if file extension specifies a writable type.

7.50.3.2 virtual bool irr::video::IImageWriter::writeImage (io::IWriteFile ∗ file, IImage ∗ image,


u32 param = 0) const [pure virtual]

Write image to file.

Parameters:
file File handle to write to.
image Image to write into file.
param Writer specific parameter, influencing e.g. quality.

Returns:
True if image was successfully written.

The documentation for this class was generated from the following file:

• IImageWriter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


362 Irrlicht Engine Class Documentation

7.51 irr::io::IIrrXMLReader< char_type, super_class > Class


Template Reference
Interface providing easy read access to a XML file.
#include <irrXML.h>

Public Member Functions


• virtual unsigned int getAttributeCount () const =0
Returns attribute count of the current XML node.

• virtual const char_type ∗ getAttributeName (int idx) const =0


Returns name of an attribute.

• virtual const char_type ∗ getAttributeValue (const char_type ∗name) const =0


Returns the value of an attribute.

• virtual const char_type ∗ getAttributeValue (int idx) const =0


Returns the value of an attribute.

• virtual float getAttributeValueAsFloat (int idx) const =0


Returns the value of an attribute as float.

• virtual float getAttributeValueAsFloat (const char_type ∗name) const =0


Returns the value of an attribute as float.

• virtual int getAttributeValueAsInt (int idx) const =0


Returns the value of an attribute as integer.

• virtual int getAttributeValueAsInt (const char_type ∗name) const =0


Returns the value of an attribute as integer.

• virtual const char_type ∗ getAttributeValueSafe (const char_type ∗name) const =0


Returns the value of an attribute in a safe way.

• virtual const char_type ∗ getNodeData () const =0


Returns data of the current node.

• virtual const char_type ∗ getNodeName () const =0


Returns the name of the current node.

• virtual EXML_NODE getNodeType () const =0


Returns the type of the current XML node.

• virtual ETEXT_FORMAT getParserFormat () const =0


Returns format of the strings returned by the parser.

• virtual ETEXT_FORMAT getSourceFormat () const =0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.51 irr::io::IIrrXMLReader< char_type, super_class > Class Template Reference 363

Returns format of the source xml file.

• virtual bool isEmptyElement () const =0


Returns if an element is an empty element, like <foo />.

• virtual bool read ()=0


Reads forward to the next xml node.

• virtual ∼IIrrXMLReader ()
Destructor.

7.51.1 Detailed Description

template<class char_type, class super_class> class irr::io::IIrrXMLReader< char_type, super_-


class >

Interface providing easy read access to a XML file.


You can create an instance of this reader using one of the factory functions createIrrXMLReader(), create-
IrrXMLReaderUTF16() and createIrrXMLReaderUTF32(). If using the parser from the Irrlicht Engine,
please use IFileSystem::createXMLReader() instead. For a detailed intro how to use the parser, see irrxm-
lexample and features.
The typical usage of this parser looks like this:

#include <irrXML.h>
using namespace irr; // irrXML is located in the namespace irr::io
using namespace io;

void main()
{
// create the reader using one of the factory functions
IrrXMLReader* xml = createIrrXMLReader("config.xml");

if (xml == 0)
return; // file could not be opened

// parse the file until end reached


while(xml->read())
{
// based on xml->getNodeType(), do something.
}

// delete the xml parser after usage


delete xml;
}

See irrxmlexample for a more detailed example.


Definition at line 274 of file irrXML.h.

7.51.2 Constructor & Destructor Documentation

7.51.2.1 template<class char_type, class super_class> virtual irr::io::IIrrXMLReader<


char_type, super_class >::∼IIrrXMLReader () [inline, virtual]

Destructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


364 Irrlicht Engine Class Documentation

Definition at line 279 of file irrXML.h.

7.51.3 Member Function Documentation

7.51.3.1 template<class char_type, class super_class> virtual unsigned int


irr::io::IIrrXMLReader< char_type, super_class >::getAttributeCount () const [pure
virtual]

Returns attribute count of the current XML node.


This is usually non null if the current node is EXN_ELEMENT, and the element has attributes.

Returns:
Returns amount of attributes of this xml node.

7.51.3.2 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getAttributeName (int idx) const
[pure virtual]

Returns name of an attribute.

Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.

Returns:
Name of the attribute, 0 if an attribute with this index does not exist.

7.51.3.3 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getAttributeValue (const char_type
∗ name) const [pure virtual]

Returns the value of an attribute.

Parameters:
name: Name of the attribute.

Returns:
Value of the attribute, 0 if an attribute with this name does not exist.

7.51.3.4 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getAttributeValue (int idx) const
[pure virtual]

Returns the value of an attribute.

Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.

Returns:
Value of the attribute, 0 if an attribute with this index does not exist.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.51 irr::io::IIrrXMLReader< char_type, super_class > Class Template Reference 365

7.51.3.5 template<class char_type, class super_class> virtual float irr::io::IIrrXMLReader<


char_type, super_class >::getAttributeValueAsFloat (int idx) const [pure virtual]

Returns the value of an attribute as float.

Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.

Returns:
Value of the attribute as float, and 0 if an attribute with this index does not exist or the value could not
be interpreted as float.

7.51.3.6 template<class char_type, class super_class> virtual float irr::io::IIrrXMLReader<


char_type, super_class >::getAttributeValueAsFloat (const char_type ∗ name) const
[pure virtual]

Returns the value of an attribute as float.

Parameters:
name: Name of the attribute.

Returns:
Value of the attribute as float, and 0 if an attribute with this name does not exist or the value could not
be interpreted as float.

7.51.3.7 template<class char_type, class super_class> virtual int irr::io::IIrrXMLReader<


char_type, super_class >::getAttributeValueAsInt (int idx) const [pure virtual]

Returns the value of an attribute as integer.

Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.

Returns:
Value of the attribute as integer, and 0 if an attribute with this index does not exist or the value could
not be interpreted as integer.

7.51.3.8 template<class char_type, class super_class> virtual int irr::io::IIrrXMLReader<


char_type, super_class >::getAttributeValueAsInt (const char_type ∗ name) const
[pure virtual]

Returns the value of an attribute as integer.

Parameters:
name Name of the attribute.

Returns:
Value of the attribute as integer, and 0 if an attribute with this name does not exist or the value could
not be interpreted as integer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


366 Irrlicht Engine Class Documentation

7.51.3.9 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getAttributeValueSafe (const
char_type ∗ name) const [pure virtual]

Returns the value of an attribute in a safe way.


Like getAttributeValue(), but does not return 0 if the attribute does not exist. An empty string ("") is
returned then.

Parameters:
name: Name of the attribute.

Returns:
Value of the attribute, and "" if an attribute with this name does not exist

7.51.3.10 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getNodeData () const [pure
virtual]

Returns data of the current node.


Only non null if the node has some data and it is of type EXN_TEXT or EXN_UNKNOWN.

7.51.3.11 template<class char_type, class super_class> virtual const char_type∗


irr::io::IIrrXMLReader< char_type, super_class >::getNodeName () const [pure
virtual]

Returns the name of the current node.


Only non null, if the node type is EXN_ELEMENT.

Returns:
Name of the current node or 0 if the node has no name.

7.51.3.12 template<class char_type, class super_class> virtual EXML_NODE


irr::io::IIrrXMLReader< char_type, super_class >::getNodeType () const [pure
virtual]

Returns the type of the current XML node.

7.51.3.13 template<class char_type, class super_class> virtual ETEXT_FORMAT


irr::io::IIrrXMLReader< char_type, super_class >::getParserFormat () const [pure
virtual]

Returns format of the strings returned by the parser.


This will be UTF8 for example when you created a parser with IrrXMLReaderUTF8() and UTF32 when
it has been created using IrrXMLReaderUTF32. It should not be necessary to call this method and only
exists for informational purposes.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.51 irr::io::IIrrXMLReader< char_type, super_class > Class Template Reference 367

7.51.3.14 template<class char_type, class super_class> virtual ETEXT_FORMAT


irr::io::IIrrXMLReader< char_type, super_class >::getSourceFormat () const [pure
virtual]

Returns format of the source xml file.


It is not necessary to use this method because the parser will convert the input file format to the format
wanted by the user when creating the parser. This method is useful to get/display additional informations.

7.51.3.15 template<class char_type, class super_class> virtual bool irr::io::IIrrXMLReader<


char_type, super_class >::isEmptyElement () const [pure virtual]

Returns if an element is an empty element, like <foo />.

7.51.3.16 template<class char_type, class super_class> virtual bool irr::io::IIrrXMLReader<


char_type, super_class >::read () [pure virtual]

Reads forward to the next xml node.

Returns:
Returns false, if there was no further node.

The documentation for this class was generated from the following file:

• irrXML.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


368 Irrlicht Engine Class Documentation

7.52 irr::scene::ILightSceneNode Class Reference


Scene node which is a dynamic light.
#include <ILightSceneNode.h>
Inheritance diagram for irr::scene::ILightSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::ILightSceneNode

Public Member Functions


• virtual video::SLight & getLightData ()=0
Gets the light data associated with this ILightSceneNode.

• virtual const video::SLight & getLightData () const =0


Gets the light data associated with this ILightSceneNode.

• ILightSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion=core::vector3df(0, 0, 0))
constructor

• virtual void setLightData (const video::SLight &light)=0


Sets the light data associated with this ILightSceneNode.

7.52.1 Detailed Description

Scene node which is a dynamic light.


You can switch the light on and off by making it visible or not. It can be animated by ordinary scene node
animators. If the light type is directional or spot, the direction of the light source is defined by the rotation
of the scene node (assuming (0,0,1) as the local direction of the light).
Definition at line 22 of file ILightSceneNode.h.

7.52.2 Constructor & Destructor Documentation

7.52.2.1 irr::scene::ILightSceneNode::ILightSceneNode (ISceneNode ∗ parent, ISceneManager


∗ mgr, s32 id, const core::vector3df & position = core::vector3df(0,0,0))
[inline]

constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.52 irr::scene::ILightSceneNode Class Reference 369

Definition at line 27 of file ILightSceneNode.h.

7.52.3 Member Function Documentation

7.52.3.1 virtual video::SLight& irr::scene::ILightSceneNode::getLightData () [pure


virtual]

Gets the light data associated with this ILightSceneNode.

Returns:
The light data.

7.52.3.2 virtual const video::SLight& irr::scene::ILightSceneNode::getLightData () const [pure


virtual]

Gets the light data associated with this ILightSceneNode.

Returns:
The light data.

7.52.3.3 virtual void irr::scene::ILightSceneNode::setLightData (const video::SLight & light)


[pure virtual]

Sets the light data associated with this ILightSceneNode.

Parameters:
light The new light data.

The documentation for this class was generated from the following file:

• ILightSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


370 Irrlicht Engine Class Documentation

7.53 irr::ILogger Class Reference


Interface for logging messages, warnings and errors.
#include <ILogger.h>
Inheritance diagram for irr::ILogger::

irr::IReferenceCounted

irr::ILogger

Public Member Functions


• virtual ELOG_LEVEL getLogLevel () const =0
Returns the current set log level.

• virtual void log (const wchar_t ∗text, ELOG_LEVEL ll=ELL_INFORMATION)=0


Prints out a text into the log.

• virtual void log (const wchar_t ∗text, const wchar_t ∗hint, ELOG_LEVEL ll=ELL_-
INFORMATION)=0
Prints out a text into the log.

• virtual void log (const c8 ∗text, const c8 ∗hint, ELOG_LEVEL ll=ELL_INFORMATION)=0


Prints out a text into the log.

• virtual void log (const c8 ∗text, ELOG_LEVEL ll=ELL_INFORMATION)=0


Prints out a text into the log.

• virtual void setLogLevel (ELOG_LEVEL ll)=0


Sets a new log level.

• virtual ∼ILogger ()
Destructor.

7.53.1 Detailed Description

Interface for logging messages, warnings and errors.


Definition at line 31 of file ILogger.h.

7.53.2 Constructor & Destructor Documentation

7.53.2.1 virtual irr::ILogger::∼ILogger () [inline, virtual]

Destructor.
Definition at line 36 of file ILogger.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.53 irr::ILogger Class Reference 371

7.53.3 Member Function Documentation

7.53.3.1 virtual ELOG_LEVEL irr::ILogger::getLogLevel () const [pure virtual]

Returns the current set log level.

7.53.3.2 virtual void irr::ILogger::log (const wchar_t ∗ text, ELOG_LEVEL ll =


ELL_INFORMATION) [pure virtual]

Prints out a text into the log.

Parameters:
text: Text to print out.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.

7.53.3.3 virtual void irr::ILogger::log (const wchar_t ∗ text, const wchar_t ∗ hint, ELOG_LEVEL
ll = ELL_INFORMATION) [pure virtual]

Prints out a text into the log.

Parameters:
text: Text to print out.
hint: Additional info. This string is added after a " :" to the string.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.

7.53.3.4 virtual void irr::ILogger::log (const c8 ∗ text, const c8 ∗ hint, ELOG_LEVEL ll =


ELL_INFORMATION) [pure virtual]

Prints out a text into the log.

Parameters:
text: Text to print out.
hint: Additional info. This string is added after a " :" to the string.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


372 Irrlicht Engine Class Documentation

7.53.3.5 virtual void irr::ILogger::log (const c8 ∗ text, ELOG_LEVEL ll = ELL_INFORMATION)


[pure virtual]

Prints out a text into the log.

Parameters:
text: Text to print out.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.

7.53.3.6 virtual void irr::ILogger::setLogLevel (ELOG_LEVEL ll) [pure virtual]

Sets a new log level.


With this value, texts which are sent to the logger are filtered out. For example setting this value to ELL_-
WARNING, only warnings and errors are printed out. Setting it to ELL_INFORMATION, which is the
default setting, warnings, errors and informational texts are printed out.

Parameters:
ll: new log level filter value.

The documentation for this class was generated from the following file:

• ILogger.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.54 irr::video::IMaterialRenderer Class Reference 373

7.54 irr::video::IMaterialRenderer Class Reference


Interface for material rendering.
#include <IMaterialRenderer.h>
Inheritance diagram for irr::video::IMaterialRenderer::

irr::IReferenceCounted

irr::video::IMaterialRenderer

Public Member Functions


• virtual s32 getRenderCapability () const
Returns the render capability of the material.

• virtual bool isTransparent () const


Returns if the material is transparent.

• virtual bool OnRender (IMaterialRendererServices ∗service, E_VERTEX_TYPE vtxtype)


Called every time before a new bunch of geometry is being drawn using this material with for example
drawIndexedTriangleList() call.

• virtual void OnSetMaterial (const SMaterial &material, const SMaterial &lastMaterial, bool reset-
AllRenderstates, IMaterialRendererServices ∗services)
Called by the IVideoDriver implementation the let the renderer set its needed render states.

• virtual void OnUnsetMaterial ()


Called by the IVideoDriver to unset this material.

• virtual ∼IMaterialRenderer ()
Destructor.

7.54.1 Detailed Description

Interface for material rendering.


Can be used to extend the engine with new materials. Refer to IVideoDriver::addMaterialRenderer() for
more informations on how to extend the engine with new materials.
Definition at line 24 of file IMaterialRenderer.h.

7.54.2 Constructor & Destructor Documentation

7.54.2.1 virtual irr::video::IMaterialRenderer::∼IMaterialRenderer () [inline, virtual]

Destructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


374 Irrlicht Engine Class Documentation

Definition at line 29 of file IMaterialRenderer.h.

7.54.3 Member Function Documentation

7.54.3.1 virtual s32 irr::video::IMaterialRenderer::getRenderCapability () const [inline,


virtual]

Returns the render capability of the material.


Because some more complex materials are implemented in multiple ways and need special hardware ca-
pabilities, it is possible to query how the current material renderer is performing on the current hardware
with this function.
Returns:
Returns 0 if everything is running fine. Any other value is material renderer specific and means for
example that the renderer switched back to a fall back material because it cannot use the latest shaders.
More specific examples: Fixed function pipeline materials should return 0 in most cases, parallax
mapped material will only return 0 when at least pixel shader 1.4 is available on that machine.

Definition at line 96 of file IMaterialRenderer.h.

7.54.3.2 virtual bool irr::video::IMaterialRenderer::isTransparent () const [inline,


virtual]

Returns if the material is transparent.


The scene managment needs to know this for being able to sort the materials by opaque and transparent.
Definition at line 84 of file IMaterialRenderer.h.

7.54.3.3 virtual bool irr::video::IMaterialRenderer::OnRender (IMaterialRendererServices ∗


service, E_VERTEX_TYPE vtxtype) [inline, virtual]

Called every time before a new bunch of geometry is being drawn using this material with for example
drawIndexedTriangleList() call.
OnSetMaterial should normally only be called if the renderer decides that the renderstates should be
changed, it won’t be called if for example two drawIndexedTriangleList() will be called with the same
material set. This method will be called every time. This is useful for example for materials with shaders,
which don’t only set new renderstates but also shader constants.

Parameters:
service: Pointer to interface providing methos for setting constants and other things.
vtxtype: Vertex type with which the next rendering will be done. This can be used by the material
renderer to set some specific optimized shaders or if this is an incompatible vertex type for this
renderer, to refuse rendering for example.

Returns:
Returns true if everything is ok, and false if nothing should be rendered. The material renderer can
choose to return false for example if he doesn’t support the specified vertex type. This is actually
done in D3D8 and D3D9 when using a normal mapped material with a vertex type other than EVT_-
TANGENTS.

Definition at line 74 of file IMaterialRenderer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.54 irr::video::IMaterialRenderer Class Reference 375

7.54.3.4 virtual void irr::video::IMaterialRenderer::OnSetMaterial (const SMaterial & material,


const SMaterial & lastMaterial, bool resetAllRenderstates, IMaterialRendererServices ∗
services) [inline, virtual]

Called by the IVideoDriver implementation the let the renderer set its needed render states.
This is called during the IVideoDriver::setMaterial() call. When overriding this, you can set some render-
states or for example a vertex or pixel shader if you like.

Parameters:
material: The new material parameters to be set. The renderer may change the material flags in this
material. For example if this material does not accept the zbuffer = true, it can set it to false. This
is useful, because in the next lastMaterial will be just the material in this call.
lastMaterial: The material parameters which have been set before this material.
resetAllRenderstates: True if all renderstates should really be reset. This is usually true if the last
rendering mode was not a usual 3d rendering mode, but for example a 2d rendering mode. You
should reset really all renderstates if this is true, no matter if the lastMaterial had some similar
settings. This is used because in most cases, some common renderstates are not changed if they
are already there, for example bilinear filtering, wireframe, gouraudshading, lighting, zbuffer,
zwriteenable, backfaceculling and fogenable.
services: Interface providing some methods for changing advanced, internal states of a IVideoDriver.

Definition at line 53 of file IMaterialRenderer.h.

7.54.3.5 virtual void irr::video::IMaterialRenderer::OnUnsetMaterial () [inline, virtual]

Called by the IVideoDriver to unset this material.


Called during the IVideoDriver::setMaterial() call before the new material will get the OnSetMaterial()
call.
Definition at line 79 of file IMaterialRenderer.h.
The documentation for this class was generated from the following file:

• IMaterialRenderer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


376 Irrlicht Engine Class Documentation

7.55 irr::video::IMaterialRendererServices Class Reference

Interface providing some methods for changing advanced, internal states of a IVideoDriver.
#include <IMaterialRendererServices.h>

Public Member Functions

• virtual IVideoDriver ∗ getVideoDriver ()=0


Get pointer to the IVideoDriver interface.

• virtual void setBasicRenderStates (const SMaterial &material, const SMaterial &lastMaterial, bool
resetAllRenderstates)=0
Can be called by an IMaterialRenderer to make its work easier.

• virtual void setPixelShaderConstant (const f32 ∗data, s32 startRegister, s32 constantAmount=1)=0
Sets a pixel shader constant.

• virtual bool setPixelShaderConstant (const c8 ∗name, const f32 ∗floats, int count)=0
Sets a constant for the pixel shader based on a name.

• virtual void setVertexShaderConstant (const f32 ∗data, s32 startRegister, s32 constant-
Amount=1)=0
Sets a vertex shader constant.

• virtual bool setVertexShaderConstant (const c8 ∗name, const f32 ∗floats, int count)=0
Sets a constant for the vertex shader based on a name.

• virtual ∼IMaterialRendererServices ()
Destructor.

7.55.1 Detailed Description

Interface providing some methods for changing advanced, internal states of a IVideoDriver.
Definition at line 21 of file IMaterialRendererServices.h.

7.55.2 Constructor & Destructor Documentation

7.55.2.1 virtual irr::video::IMaterialRendererServices::∼IMaterialRendererServices ()


[inline, virtual]

Destructor.
Definition at line 26 of file IMaterialRendererServices.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.55 irr::video::IMaterialRendererServices Class Reference 377

7.55.3 Member Function Documentation

7.55.3.1 virtual IVideoDriver∗ irr::video::IMaterialRendererServices::getVideoDriver () [pure


virtual]

Get pointer to the IVideoDriver interface.

Returns:
Pointer to the IVideoDriver interface

7.55.3.2 virtual void irr::video::IMaterialRendererServices::setBasicRenderStates (const


SMaterial & material, const SMaterial & lastMaterial, bool resetAllRenderstates) [pure
virtual]

Can be called by an IMaterialRenderer to make its work easier.


Sets all basic renderstates if needed. Basic render states are diffuse, ambient, specular, and emissive
color, specular power, bilinear and trilinear filtering, wireframe mode, grouraudshading, lighting, zbuffer,
zwriteenable, backfaceculling and fog enabling.

Parameters:
material The new material to be used.
lastMaterial The material used until now.
resetAllRenderstates Set to true if all renderstates should be set, regardless of their current state.

7.55.3.3 virtual void irr::video::IMaterialRendererServices::setPixelShaderConstant (const f32 ∗


data, s32 startRegister, s32 constantAmount = 1) [pure virtual]

Sets a pixel shader constant.


Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or
ARB_vertex_program.

Parameters:
data Data to be set in the constants
startRegister First register to be set.
constantAmount Amount of registers to be set. One register consists of 4 floats.

7.55.3.4 virtual bool irr::video::IMaterialRendererServices::setPixelShaderConstant (const c8 ∗


name, const f32 ∗ floats, int count) [pure virtual]

Sets a constant for the pixel shader based on a name.


This can be used if you used a high level shader language like GLSL or HLSL to create a shader. See
setVertexShaderConstant() for an example on how to use this.

Parameters:
name Name of the variable
floats Pointer to array of floats

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


378 Irrlicht Engine Class Documentation

count Amount of floats in array.

Returns:
True if successful.

7.55.3.5 virtual void irr::video::IMaterialRendererServices::setVertexShaderConstant (const f32


∗ data, s32 startRegister, s32 constantAmount = 1) [pure virtual]

Sets a vertex shader constant.


Can be used if you created a shader using pixel/vertex shader assembler or ARB_fragment_program or
ARB_vertex_program.

Parameters:
data: Data to be set in the constants
startRegister: First register to be set
constantAmount: Amount of registers to be set. One register consists of 4 floats.

7.55.3.6 virtual bool irr::video::IMaterialRendererServices::setVertexShaderConstant (const c8 ∗


name, const f32 ∗ floats, int count) [pure virtual]

Sets a constant for the vertex shader based on a name.


This can be used if you used a high level shader language like GLSL or HLSL to create a shader. Ex-
ample: If you created a shader which has variables named ’mWorldViewProj’ (containing the World-
ViewProjection matrix) and another one named ’fTime’ containing one float, you can set them in your
IShaderConstantSetCallBack derived class like this:

virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData)


{
video::IVideoDriver* driver = services->getVideoDriver();

f32 time = (f32)os::Timer::getTime()/100000.0f;


services->setVertexShaderConstant("fTime", &time, 1);

core::matrix4 worldViewProj(driver->getTransform(video::ETS_PROJECTION));
worldViewProj *= driver->getTransform(video::ETS_VIEW);
worldViewProj *= driver->getTransform(video::ETS_WORLD);
services->setVertexShaderConstant("mWorldViewProj", worldViewProj.M, 16);
}

Parameters:
name Name of the variable
floats Pointer to array of floats
count Amount of floats in array.

Returns:
True if successful.

The documentation for this class was generated from the following file:

• IMaterialRendererServices.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.56 irr::scene::IMesh Class Reference 379

7.56 irr::scene::IMesh Class Reference

Class for accessing a mesh with multiple mesh buffers.


#include <IMesh.h>
Inheritance diagram for irr::scene::IMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh irr::scene::SMesh

irr::scene::IAnimatedMeshMD2 irr::scene::IAnimatedMeshMD3 irr::scene::IQ3LevelMesh irr::scene::ISkinnedMesh irr::scene::SAnimatedMesh

Public Member Functions

• virtual const core::aabbox3d< f32 > & getBoundingBox () const =0


Returns an axis aligned bounding box of the mesh.

• virtual IMeshBuffer ∗ getMeshBuffer (const video::SMaterial &material) const =0


Returns pointer to a mesh buffer which fits a material.

• virtual IMeshBuffer ∗ getMeshBuffer (u32 nr) const =0


Returns pointer to a mesh buffer.

• virtual u32 getMeshBufferCount () const =0


Returns the amount of mesh buffers.

• virtual void setBoundingBox (const core::aabbox3df &box)=0


set user axis aligned bounding box

• virtual void setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)=0


Sets a flag of all contained materials to a new value.

• virtual ∼IMesh ()
Destructor.

7.56.1 Detailed Description

Class for accessing a mesh with multiple mesh buffers.


An IMesh is nothing more than a collection of some mesh buffers (IMeshBuffer). SMesh is a simple
implementation of an IMesh.
Definition at line 21 of file IMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


380 Irrlicht Engine Class Documentation

7.56.2 Constructor & Destructor Documentation

7.56.2.1 virtual irr::scene::IMesh::∼IMesh () [inline, virtual]

Destructor.
Definition at line 26 of file IMesh.h.

7.56.3 Member Function Documentation

7.56.3.1 virtual const core::aabbox3d<f32>& irr::scene::IMesh::getBoundingBox () const


[pure virtual]

Returns an axis aligned bounding box of the mesh.

Returns:
A bounding box of this mesh is returned.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.

7.56.3.2 virtual IMeshBuffer∗ irr::scene::IMesh::getMeshBuffer (const video::SMaterial &


material) const [pure virtual]

Returns pointer to a mesh buffer which fits a material.

Parameters:
material: material to search for
Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.

7.56.3.3 virtual IMeshBuffer∗ irr::scene::IMesh::getMeshBuffer (u32 nr) const [pure


virtual]

Returns pointer to a mesh buffer.

Parameters:
nr: Zero based index of the mesh buffer. The maximum value is getMeshBufferCount() - 1;

Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.

7.56.3.4 virtual u32 irr::scene::IMesh::getMeshBufferCount () const [pure virtual]

Returns the amount of mesh buffers.


Returns:
Returns the amount of mesh buffers (IMeshBuffer) in this mesh.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.56 irr::scene::IMesh Class Reference 381

7.56.3.5 virtual void irr::scene::IMesh::setBoundingBox (const core::aabbox3df & box) [pure


virtual]

set user axis aligned bounding box

Parameters:
box New bounding box to use for the mesh.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.

7.56.3.6 virtual void irr::scene::IMesh::setMaterialFlag (video::E_MATERIAL_FLAG flag, bool


newvalue) [pure virtual]

Sets a flag of all contained materials to a new value.

Parameters:
flag: Flag to set in all materials.
newvalue: New value to set in all materials.

Implemented in irr::scene::SAnimatedMesh, and irr::scene::SMesh.


The documentation for this class was generated from the following file:

• IMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


382 Irrlicht Engine Class Documentation

7.57 irr::scene::IMeshBuffer Class Reference


Struct for holding a mesh with a single material.
#include <IMeshBuffer.h>
Inheritance diagram for irr::scene::IMeshBuffer::

irr::IReferenceCounted

irr::scene::IMeshBuffer

irr::scene::CMeshBuffer< T > irr::scene::SSharedMeshBuffer irr::scene::SSkinMeshBuffer

Public Member Functions


• virtual void append (const IMeshBuffer ∗const other)=0
Append the meshbuffer to the current buffer.

• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)=0
Append the vertices and indices to the current buffer.

• virtual const core::aabbox3df & getBoundingBox () const =0


Get the axis aligned bounding box of this meshbuffer.

• virtual u32 getIndexCount () const =0


Get amount of indices in this meshbuffer.

• virtual u16 ∗ getIndices ()=0


Get access to Indices.

• virtual const u16 ∗ getIndices () const =0


Get access to Indices.

• virtual const video::SMaterial & getMaterial () const =0


Get the material of this meshbuffer.

• virtual video::SMaterial & getMaterial ()=0


Get the material of this meshbuffer.

• virtual u32 getVertexCount () const =0


Get amount of vertices in meshbuffer.

• virtual video::E_VERTEX_TYPE getVertexType () const =0


Get type of vertex data which is stored in this meshbuffer.

• virtual void ∗ getVertices ()=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.57 irr::scene::IMeshBuffer Class Reference 383

Get access to vertex data. The data is an array of vertices.

• virtual const void ∗ getVertices () const =0


Get access to vertex data. The data is an array of vertices.

• virtual void recalculateBoundingBox ()=0


Recalculates the bounding box. Should be called if the mesh changed.

• virtual void setBoundingBox (const core::aabbox3df &box)=0


Set axis aligned bounding box.

• virtual ∼IMeshBuffer ()
Destructor.

7.57.1 Detailed Description

Struct for holding a mesh with a single material.


SMeshBuffer is a simple implementation of a MeshBuffer.
Definition at line 61 of file IMeshBuffer.h.

7.57.2 Constructor & Destructor Documentation

7.57.2.1 virtual irr::scene::IMeshBuffer::∼IMeshBuffer () [inline, virtual]

Destructor.
Definition at line 66 of file IMeshBuffer.h.

7.57.3 Member Function Documentation

7.57.3.1 virtual void irr::scene::IMeshBuffer::append (const IMeshBuffer ∗const other) [pure


virtual]

Append the meshbuffer to the current buffer.


Only works for compatible vertex types

Parameters:
other Buffer to append to this one.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.2 virtual void irr::scene::IMeshBuffer::append (const void ∗const vertices, u32 numVertices,
const u16 ∗const indices, u32 numIndices) [pure virtual]

Append the vertices and indices to the current buffer.


Only works for compatible vertex types.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


384 Irrlicht Engine Class Documentation

Parameters:
vertices Pointer to a vertex array.
numVertices Number of vertices in the array.
indices Pointer to index array.
numIndices Number of indices in array.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.3 virtual const core::aabbox3df& irr::scene::IMeshBuffer::getBoundingBox () const


[pure virtual]

Get the axis aligned bounding box of this meshbuffer.

Returns:
Axis aligned bounding box of this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.4 virtual u32 irr::scene::IMeshBuffer::getIndexCount () const [pure virtual]

Get amount of indices in this meshbuffer.

Returns:
Number of indices in this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.5 virtual u16∗ irr::scene::IMeshBuffer::getIndices () [pure virtual]

Get access to Indices.

Returns:
Pointer to indices array.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.6 virtual const u16∗ irr::scene::IMeshBuffer::getIndices () const [pure virtual]

Get access to Indices.

Returns:
Pointer to indices array.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.57 irr::scene::IMeshBuffer Class Reference 385

7.57.3.7 virtual const video::SMaterial& irr::scene::IMeshBuffer::getMaterial () const [pure


virtual]

Get the material of this meshbuffer.

Returns:
Material of this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.8 virtual video::SMaterial& irr::scene::IMeshBuffer::getMaterial () [pure virtual]

Get the material of this meshbuffer.

Returns:
Material of this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.9 virtual u32 irr::scene::IMeshBuffer::getVertexCount () const [pure virtual]

Get amount of vertices in meshbuffer.

Returns:
Number of vertices in this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.10 virtual video::E_VERTEX_TYPE irr::scene::IMeshBuffer::getVertexType () const


[pure virtual]

Get type of vertex data which is stored in this meshbuffer.

Returns:
Vertex type of this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.11 virtual void∗ irr::scene::IMeshBuffer::getVertices () [pure virtual]

Get access to vertex data. The data is an array of vertices.


Which vertex type is used can be determined by getVertexType().

Returns:
Pointer to array of vertices.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


386 Irrlicht Engine Class Documentation

7.57.3.12 virtual const void∗ irr::scene::IMeshBuffer::getVertices () const [pure virtual]

Get access to vertex data. The data is an array of vertices.


Which vertex type is used can be determined by getVertexType().

Returns:
Pointer to array of vertices.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.

7.57.3.13 virtual void irr::scene::IMeshBuffer::recalculateBoundingBox () [pure virtual]

Recalculates the bounding box. Should be called if the mesh changed.


Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-
MeshBuffer.

7.57.3.14 virtual void irr::scene::IMeshBuffer::setBoundingBox (const core::aabbox3df & box)


[pure virtual]

Set axis aligned bounding box.

Parameters:
box User defined axis aligned bounding box to use for this buffer.

Implemented in irr::scene::CMeshBuffer< T >, irr::scene::SSharedMeshBuffer, and irr::scene::SSkin-


MeshBuffer.
The documentation for this class was generated from the following file:

• IMeshBuffer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.58 irr::scene::IMeshCache Class Reference 387

7.58 irr::scene::IMeshCache Class Reference


The mesh cache stores already loaded meshes and provides an interface to them.
#include <IMeshCache.h>
Inheritance diagram for irr::scene::IMeshCache::

irr::IReferenceCounted

irr::scene::IMeshCache

Public Member Functions


• virtual void addMesh (const c8 ∗filename, IAnimatedMesh ∗mesh)=0
Adds a mesh to the internal list of loaded meshes.

• virtual void clear ()=0


Clears the whole mesh cache, removing all meshes.

• virtual void clearUnusedMeshes ()=0


Clears all meshes that are held in the mesh cache but not used anywhere else.

• virtual IAnimatedMesh ∗ getMeshByFilename (const c8 ∗filename)=0


Returns a mesh based on its filename.

• virtual IAnimatedMesh ∗ getMeshByIndex (u32 index)=0


Returns a mesh based on its index number.

• virtual u32 getMeshCount () const =0


Returns amount of loaded meshes in the cache.

• virtual const c8 ∗ getMeshFilename (const IMesh ∗const mesh) const =0


Get the filename of a loaded mesh, if there is any.

• virtual const c8 ∗ getMeshFilename (const IAnimatedMesh ∗const mesh) const =0


Get the filename of a loaded mesh, if there is any.

• virtual const c8 ∗ getMeshFilename (u32 index) const =0


Get the filename of a loaded mesh, based on its index.

• virtual s32 getMeshIndex (const IMesh ∗const mesh) const =0


Returns current index number of the mesh, and -1 if it is not in the cache.

• virtual s32 getMeshIndex (const IAnimatedMesh ∗const mesh) const =0


Returns current index number of the mesh, and -1 if it is not in the cache.

• virtual bool isMeshLoaded (const c8 ∗filename)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


388 Irrlicht Engine Class Documentation

Check if a mesh was already loaded.

• virtual void removeMesh (const IMesh ∗const mesh)=0


Removes a mesh from the cache.

• virtual void removeMesh (const IAnimatedMesh ∗const mesh)=0


Removes a mesh from the cache.

• virtual bool setMeshFilename (const IMesh ∗const mesh, const c8 ∗filename)=0


Renames a loaded mesh.

• virtual bool setMeshFilename (const IAnimatedMesh ∗const mesh, const c8 ∗filename)=0


Renames a loaded mesh.

• virtual bool setMeshFilename (u32 index, const c8 ∗filename)=0


Renames a loaded mesh.

• virtual ∼IMeshCache ()
Destructor.

7.58.1 Detailed Description

The mesh cache stores already loaded meshes and provides an interface to them.
You can access it using ISceneManager::getMeshCache(). All existing scene managers will return a pointer
to the same mesh cache, because it is shared between them. With this interface, it is possible to manually
add new loaded meshes (if ISceneManager::getMesh() is not sufficient), to remove them and to iterate
through already loaded meshes.
Definition at line 27 of file IMeshCache.h.

7.58.2 Constructor & Destructor Documentation

7.58.2.1 virtual irr::scene::IMeshCache::∼IMeshCache () [inline, virtual]

Destructor.
Definition at line 32 of file IMeshCache.h.

7.58.3 Member Function Documentation

7.58.3.1 virtual void irr::scene::IMeshCache::addMesh (const c8 ∗ filename, IAnimatedMesh ∗


mesh) [pure virtual]

Adds a mesh to the internal list of loaded meshes.


Usually, ISceneManager::getMesh() is called to load a mesh from a file. That method searches the list of
loaded meshes if a mesh has already been loaded and returns a pointer to if it is in that list and already in
memory. Otherwise it loads the mesh. With IMeshCache::addMesh(), it is possible to pretend that a mesh
already has been loaded. This method can be used for example by mesh loaders who need to load more

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.58 irr::scene::IMeshCache Class Reference 389

than one mesh with one call. They can add additional meshes with this method to the scene manager. The
COLLADA loader for example uses this method.

Parameters:
filename Filename of the mesh. When calling ISceneManager::getMesh() with this name it will return
the mesh set by this method.
mesh Pointer to a mesh which will now be referenced by this name.

7.58.3.2 virtual void irr::scene::IMeshCache::clear () [pure virtual]

Clears the whole mesh cache, removing all meshes.


All meshes will be reloaded completely when using ISceneManager::getMesh() after calling this method.
Warning: If you have pointers to meshes that were loaded with ISceneManager::getMesh() and you did not
grab them, then they may become invalid.

7.58.3.3 virtual void irr::scene::IMeshCache::clearUnusedMeshes () [pure virtual]

Clears all meshes that are held in the mesh cache but not used anywhere else.
Warning: If you have pointers to meshes that were loaded with ISceneManager::getMesh() and you did not
grab them, then they may become invalid.

7.58.3.4 virtual IAnimatedMesh∗ irr::scene::IMeshCache::getMeshByFilename (const c8 ∗


filename) [pure virtual]

Returns a mesh based on its filename.

Parameters:
filename Name of the mesh.

Returns:
Pointer to the mesh or 0 if there is none with this number.

7.58.3.5 virtual IAnimatedMesh∗ irr::scene::IMeshCache::getMeshByIndex (u32 index) [pure


virtual]

Returns a mesh based on its index number.

Parameters:
index: Index of the mesh, number between 0 and getMeshCount()-1. Note that this number is only
valid until a new mesh is loaded or removed.

Returns:
Pointer to the mesh or 0 if there is none with this number.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


390 Irrlicht Engine Class Documentation

7.58.3.6 virtual u32 irr::scene::IMeshCache::getMeshCount () const [pure virtual]

Returns amount of loaded meshes in the cache.


You can load new meshes into the cache using getMesh() and addMesh(). If you ever need to access
the internal mesh cache, you can do this using removeMesh(), getMeshNumber(), getMeshByIndex() and
getMeshFilename().

Returns:
Number of meshes in cache.

7.58.3.7 virtual const c8∗ irr::scene::IMeshCache::getMeshFilename (const IMesh ∗const mesh)


const [pure virtual]

Get the filename of a loaded mesh, if there is any.

Parameters:
mesh Pointer to mesh to query.

Returns:
String with name if mesh was found and has a name, else 0.

7.58.3.8 virtual const c8∗ irr::scene::IMeshCache::getMeshFilename (const IAnimatedMesh


∗const mesh) const [pure virtual]

Get the filename of a loaded mesh, if there is any.

Parameters:
mesh Pointer to mesh to query.

Returns:
String with name if mesh was found and has a name, else 0.

7.58.3.9 virtual const c8∗ irr::scene::IMeshCache::getMeshFilename (u32 index) const [pure


virtual]

Get the filename of a loaded mesh, based on its index.

Parameters:
index: Index of the mesh, number between 0 and getMeshCount()-1.

Returns:
String with name if mesh was found and has a name, else 0.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.58 irr::scene::IMeshCache Class Reference 391

7.58.3.10 virtual s32 irr::scene::IMeshCache::getMeshIndex (const IMesh ∗const mesh) const


[pure virtual]

Returns current index number of the mesh, and -1 if it is not in the cache.

Parameters:
mesh Pointer to the mesh to search for.

Returns:
Index of the mesh in the cache, or -1 if not found.

7.58.3.11 virtual s32 irr::scene::IMeshCache::getMeshIndex (const IAnimatedMesh ∗const mesh)


const [pure virtual]

Returns current index number of the mesh, and -1 if it is not in the cache.

Parameters:
mesh Pointer to the mesh to search for.

Returns:
Index of the mesh in the cache, or -1 if not found.

7.58.3.12 virtual bool irr::scene::IMeshCache::isMeshLoaded (const c8 ∗ filename) [pure


virtual]

Check if a mesh was already loaded.

Parameters:
filename Name of the mesh.

Returns:
True if the mesh has been loaded, else false.

7.58.3.13 virtual void irr::scene::IMeshCache::removeMesh (const IMesh ∗const mesh) [pure


virtual]

Removes a mesh from the cache.


After loading a mesh with getMesh(), the mesh can be removed from the cache using this method, freeing
a lot of memory.

Parameters:
mesh Pointer to the mesh which shall be removed.

7.58.3.14 virtual void irr::scene::IMeshCache::removeMesh (const IAnimatedMesh ∗const mesh)


[pure virtual]

Removes a mesh from the cache.


After loading a mesh with getMesh(), the mesh can be removed from the cache using this method, freeing
a lot of memory.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


392 Irrlicht Engine Class Documentation

Parameters:
mesh Pointer to the mesh which shall be removed.

7.58.3.15 virtual bool irr::scene::IMeshCache::setMeshFilename (const IMesh ∗const mesh, const


c8 ∗ filename) [pure virtual]

Renames a loaded mesh.


Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as
returned by getMeshIndex() or taken by some methods will change.

Parameters:
mesh Mesh to be renamed.
filename New name for the mesh.

Returns:
True if mesh was renamed.

7.58.3.16 virtual bool irr::scene::IMeshCache::setMeshFilename (const IAnimatedMesh ∗const


mesh, const c8 ∗ filename) [pure virtual]

Renames a loaded mesh.


Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as
returned by getMeshIndex() or taken by some methods will change.

Parameters:
mesh Mesh to be renamed.
filename New name for the mesh.

Returns:
True if mesh was renamed.

7.58.3.17 virtual bool irr::scene::IMeshCache::setMeshFilename (u32 index, const c8 ∗ filename)


[pure virtual]

Renames a loaded mesh.


Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as
returned by getMeshIndex() or taken by some methods will change.

Parameters:
index The index of the mesh in the cache.
filename New name for the mesh.

Returns:
True if mesh was renamed.

The documentation for this class was generated from the following file:

• IMeshCache.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.59 irr::scene::IMeshLoader Class Reference 393

7.59 irr::scene::IMeshLoader Class Reference


Class which is able to load an animated mesh from a file.
#include <IMeshLoader.h>
Inheritance diagram for irr::scene::IMeshLoader::

irr::IReferenceCounted

irr::scene::IMeshLoader

Public Member Functions


• virtual IAnimatedMesh ∗ createMesh (io::IReadFile ∗file)=0
Creates/loads an animated mesh from the file.

• virtual bool isALoadableFileExtension (const c8 ∗fileName) const =0


Returns true if the file might be loaded by this class.

• virtual ∼IMeshLoader ()
Destructor.

7.59.1 Detailed Description

Class which is able to load an animated mesh from a file.


If you want Irrlicht be able to load meshes of currently unsupported file formats (e.g. .cob), then implement
this and add your new Meshloader with ISceneManager::addExternalMeshLoader() to the engine.
Definition at line 25 of file IMeshLoader.h.

7.59.2 Constructor & Destructor Documentation

7.59.2.1 virtual irr::scene::IMeshLoader::∼IMeshLoader () [inline, virtual]

Destructor.
Definition at line 30 of file IMeshLoader.h.

7.59.3 Member Function Documentation

7.59.3.1 virtual IAnimatedMesh∗ irr::scene::IMeshLoader::createMesh (io::IReadFile ∗ file)


[pure virtual]

Creates/loads an animated mesh from the file.

Parameters:
file File handler to load the file from.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


394 Irrlicht Engine Class Documentation

Returns:
Pointer to the created mesh. Returns 0 if loading failed. If you no longer need the mesh, you should
call IAnimatedMesh::drop(). See IReferenceCounted::drop() for more information.

7.59.3.2 virtual bool irr::scene::IMeshLoader::isALoadableFileExtension (const c8 ∗ fileName)


const [pure virtual]

Returns true if the file might be loaded by this class.


This decision should be based on the file extension (e.g. ".cob") only.

Parameters:
fileName Name of the file to test.

Returns:
True if the file might be loaded by this class.

The documentation for this class was generated from the following file:

• IMeshLoader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.60 irr::scene::IMeshManipulator Class Reference 395

7.60 irr::scene::IMeshManipulator Class Reference


An interface for easy manipulation of meshes.
#include <IMeshManipulator.h>
Inheritance diagram for irr::scene::IMeshManipulator::

irr::IReferenceCounted

irr::scene::IMeshManipulator

Public Member Functions


• virtual IAnimatedMesh ∗ createAnimatedMesh (IMesh ∗mesh, scene::E_ANIMATED_MESH_-
TYPE type=scene::EAMT_UNKNOWN) const =0
Create a new AnimatedMesh and adds the mesh to it.

• virtual SMesh ∗ createMeshCopy (IMesh ∗mesh) const =0


Clones a static IMesh into a modifiable SMesh.

• virtual IMesh ∗ createMeshUniquePrimitives (IMesh ∗mesh) const =0


Creates a copy of a mesh with all vertices unwelded.

• virtual IMesh ∗ createMeshWelded (IMesh ∗mesh, f32 tolerance=core::ROUNDING_ERROR_32)


const =0
Creates a copy of a mesh with vertices welded.

• virtual IMesh ∗ createMeshWith2TCoords (IMesh ∗mesh) const =0


Creates a copy of the mesh, which will only consist of S3DVertex2TCoord vertices.

• virtual IMesh ∗ createMeshWithTangents (IMesh ∗mesh) const =0


Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices.

• virtual void flipSurfaces (IMesh ∗mesh) const =0


Flips the direction of surfaces.

• virtual s32 getPolyCount (IAnimatedMesh ∗mesh) const =0


Get amount of polygons in mesh.

• virtual s32 getPolyCount (IMesh ∗mesh) const =0


Get amount of polygons in mesh.

• virtual void makePlanarTextureMapping (IMesh ∗mesh, f32 resolution=0.001f) const =0


Creates a planar texture mapping on the mesh.

• virtual void recalculateNormals (IMeshBuffer ∗buffer, bool smooth=false) const =0


Recalculates all normals of the mesh buffer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


396 Irrlicht Engine Class Documentation

• virtual void recalculateNormals (IMesh ∗mesh, bool smooth=false) const =0


Recalculates all normals of the mesh.

• virtual void scaleMesh (IMesh ∗mesh, const core::vector3df &scale) const =0


Scales the whole mesh.

• virtual void setVertexColorAlpha (IMesh ∗mesh, s32 alpha) const =0


Sets the alpha vertex color value of the whole mesh to a new value.

• virtual void setVertexColors (IMesh ∗mesh, video::SColor color) const =0


Sets the colors of all vertices to one color.

• virtual void transformMesh (IMesh ∗mesh, const core::matrix4 &m) const =0


Applies a transformation.

• virtual ∼IMeshManipulator ()
Destructor.

7.60.1 Detailed Description

An interface for easy manipulation of meshes.


Scale, set alpha value, flip surfaces, and so on. This exists for fixing problems with wrong imported or
exported meshes quickly after loading. It is not intended for doing mesh modifications and/or animations
during runtime.
Definition at line 30 of file IMeshManipulator.h.

7.60.2 Constructor & Destructor Documentation

7.60.2.1 virtual irr::scene::IMeshManipulator::∼IMeshManipulator () [inline, virtual]

Destructor.
Definition at line 35 of file IMeshManipulator.h.

7.60.3 Member Function Documentation

7.60.3.1 virtual IAnimatedMesh∗ irr::scene::IMeshManipulator::createAnimatedMesh (IMesh ∗


mesh, scene::E_ANIMATED_MESH_TYPE type = scene::EAMT_UNKNOWN) const
[pure virtual]

Create a new AnimatedMesh and adds the mesh to it.

Parameters:
mesh Input mesh
type The type of the animated mesh to create.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.60 irr::scene::IMeshManipulator Class Reference 397

Returns:
Newly created animated mesh with mesh as it’s only content. When you don’t need the animated
mesh anymore, you should call IAnimatedMesh::drop(). See IReferenceCounted::drop() for more
information.

7.60.3.2 virtual SMesh∗ irr::scene::IMeshManipulator::createMeshCopy (IMesh ∗ mesh) const


[pure virtual]

Clones a static IMesh into a modifiable SMesh.


All meshbuffers in the returned SMesh are of type SMeshBuffer or SMeshBufferLightMap.

Parameters:
mesh: Mesh to copy.

Returns:
Returns the cloned mesh. If you no longer need the cloned mesh, you should call SMesh::drop(). See
IReferenceCounted::drop() for more information.

7.60.3.3 virtual IMesh∗ irr::scene::IMeshManipulator::createMeshUniquePrimitives (IMesh ∗


mesh) const [pure virtual]

Creates a copy of a mesh with all vertices unwelded.

Parameters:
mesh Input mesh

Returns:
Mesh consisting only of unique faces. All vertices which were previously shared are now duplicated.
If you no longer need the cloned mesh, you should call IMesh::drop(). See IReferenceCounted::drop()
for more information.

7.60.3.4 virtual IMesh∗ irr::scene::IMeshManipulator::createMeshWelded (IMesh ∗ mesh, f32


tolerance = core::ROUNDING_ERROR_32) const [pure virtual]

Creates a copy of a mesh with vertices welded.

Parameters:
mesh Input mesh
tolerance The threshold for vertex comparisons.

Returns:
Mesh without redundant vertices. If you no longer need the cloned mesh, you should call
IMesh::drop(). See IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


398 Irrlicht Engine Class Documentation

7.60.3.5 virtual IMesh∗ irr::scene::IMeshManipulator::createMeshWith2TCoords (IMesh ∗


mesh) const [pure virtual]

Creates a copy of the mesh, which will only consist of S3DVertex2TCoord vertices.

Parameters:
mesh Input mesh

Returns:
Mesh consisting only of S3DVertex2TCoord vertices. If you no longer need the cloned mesh, you
should call IMesh::drop(). See IReferenceCounted::drop() for more information.

7.60.3.6 virtual IMesh∗ irr::scene::IMeshManipulator::createMeshWithTangents (IMesh ∗ mesh)


const [pure virtual]

Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices.
This is useful if you want to draw tangent space normal mapped geometry because it calculates the tangent
and binormal data which is needed there.

Parameters:
mesh Input mesh

Returns:
Mesh consisting only of S3DVertexTangents vertices. If you no longer need the cloned mesh, you
should call IMesh::drop(). See IReferenceCounted::drop() for more information.

7.60.3.7 virtual void irr::scene::IMeshManipulator::flipSurfaces (IMesh ∗ mesh) const [pure


virtual]

Flips the direction of surfaces.


Changes backfacing triangles to frontfacing triangles and vice versa.

Parameters:
mesh Mesh on which the operation is performed.

7.60.3.8 virtual s32 irr::scene::IMeshManipulator::getPolyCount (IAnimatedMesh ∗ mesh) const


[pure virtual]

Get amount of polygons in mesh.

Parameters:
mesh Input mesh

Returns:
Number of polygons in mesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.60 irr::scene::IMeshManipulator Class Reference 399

7.60.3.9 virtual s32 irr::scene::IMeshManipulator::getPolyCount (IMesh ∗ mesh) const [pure


virtual]

Get amount of polygons in mesh.

Parameters:
mesh Input mesh

Returns:
Number of polygons in mesh.

7.60.3.10 virtual void irr::scene::IMeshManipulator::makePlanarTextureMapping (IMesh ∗


mesh, f32 resolution = 0.001f) const [pure virtual]

Creates a planar texture mapping on the mesh.

Parameters:
mesh: Mesh on which the operation is performed.
resolution: resolution of the planar mapping. This is the value specifying which is the relation be-
tween world space and texture coordinate space.

7.60.3.11 virtual void irr::scene::IMeshManipulator::recalculateNormals (IMeshBuffer ∗ buffer,


bool smooth = false) const [pure virtual]

Recalculates all normals of the mesh buffer.

Parameters:
buffer: Mesh buffer on which the operation is performed.
smooth: If the normals shall be smoothed.

7.60.3.12 virtual void irr::scene::IMeshManipulator::recalculateNormals (IMesh ∗ mesh, bool


smooth = false) const [pure virtual]

Recalculates all normals of the mesh.

Parameters:
mesh: Mesh on which the operation is performed.
smooth: If the normals shall be smoothed.

7.60.3.13 virtual void irr::scene::IMeshManipulator::scaleMesh (IMesh ∗ mesh, const


core::vector3df & scale) const [pure virtual]

Scales the whole mesh.

Parameters:
mesh: Mesh on which the operation is performed.
scale: Scale factor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


400 Irrlicht Engine Class Documentation

7.60.3.14 virtual void irr::scene::IMeshManipulator::setVertexColorAlpha (IMesh ∗ mesh, s32


alpha) const [pure virtual]

Sets the alpha vertex color value of the whole mesh to a new value.

Parameters:
mesh Mesh on which the operation is performed.
alpha New alpha value. Must be a value between 0 and 255.

7.60.3.15 virtual void irr::scene::IMeshManipulator::setVertexColors (IMesh ∗ mesh,


video::SColor color) const [pure virtual]

Sets the colors of all vertices to one color.

Parameters:
mesh Mesh on which the operation is performed.
color New color.

7.60.3.16 virtual void irr::scene::IMeshManipulator::transformMesh (IMesh ∗ mesh, const


core::matrix4 & m) const [pure virtual]

Applies a transformation.

Parameters:
mesh: Mesh on which the operation is performed.
m: transformation matrix.

The documentation for this class was generated from the following file:

• IMeshManipulator.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.61 irr::scene::IMeshSceneNode Class Reference 401

7.61 irr::scene::IMeshSceneNode Class Reference


A scene node displaying a static mesh.
#include <IMeshSceneNode.h>
Inheritance diagram for irr::scene::IMeshSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IMeshSceneNode

Public Member Functions


• virtual IMesh ∗ getMesh (void)=0
Get the currently defined mesh for display.

• IMeshSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion, const core::vector3df &rotation, const core::vector3df &scale)
Constructor.

• virtual bool isReadOnlyMaterials () const =0


Check if the scene node should not copy the materials of the mesh but use them in a read only style.

• virtual void setMesh (IMesh ∗mesh)=0


Sets a new mesh to display.

• virtual void setReadOnlyMaterials (bool readonly)=0


Sets if the scene node should not copy the materials of the mesh but use them in a read only style.

7.61.1 Detailed Description

A scene node displaying a static mesh.


Definition at line 19 of file IMeshSceneNode.h.

7.61.2 Constructor & Destructor Documentation

7.61.2.1 irr::scene::IMeshSceneNode::IMeshSceneNode (ISceneNode ∗ parent, ISceneManager ∗


mgr, s32 id, const core::vector3df & position, const core::vector3df & rotation, const
core::vector3df & scale) [inline]

Constructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


402 Irrlicht Engine Class Documentation

Use setMesh() to set the mesh to display.


Definition at line 26 of file IMeshSceneNode.h.

7.61.3 Member Function Documentation

7.61.3.1 virtual IMesh∗ irr::scene::IMeshSceneNode::getMesh (void) [pure virtual]

Get the currently defined mesh for display.

Returns:
Pointer to mesh which is displayed by this node.

7.61.3.2 virtual bool irr::scene::IMeshSceneNode::isReadOnlyMaterials () const [pure


virtual]

Check if the scene node should not copy the materials of the mesh but use them in a read only style.
This flag can be set by setReadOnlyMaterials().

Returns:
Whether the materials are read-only.

7.61.3.3 virtual void irr::scene::IMeshSceneNode::setMesh (IMesh ∗ mesh) [pure virtual]

Sets a new mesh to display.

Parameters:
mesh Mesh to display.

7.61.3.4 virtual void irr::scene::IMeshSceneNode::setReadOnlyMaterials (bool readonly) [pure


virtual]

Sets if the scene node should not copy the materials of the mesh but use them in a read only style.
In this way it is possible to change the materials of a mesh causing all mesh scene nodes referencing this
mesh to change, too.

Parameters:
readonly Flag if the materials shall be read-only.

The documentation for this class was generated from the following file:

• IMeshSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.62 irr::scene::IMeshWriter Class Reference 403

7.62 irr::scene::IMeshWriter Class Reference


Interface for writing meshes.
#include <IMeshWriter.h>
Inheritance diagram for irr::scene::IMeshWriter::

irr::IReferenceCounted

irr::scene::IMeshWriter

Public Member Functions


• virtual EMESH_WRITER_TYPE getType () const =0
Get the type of the mesh writer.

• virtual bool writeMesh (io::IWriteFile ∗file, scene::IMesh ∗mesh, s32 flags=EMWF_NONE)=0


Write a static mesh.

• virtual ∼IMeshWriter ()
Destructor.

7.62.1 Detailed Description

Interface for writing meshes.


Definition at line 23 of file IMeshWriter.h.

7.62.2 Constructor & Destructor Documentation

7.62.2.1 virtual irr::scene::IMeshWriter::∼IMeshWriter () [inline, virtual]

Destructor.
Definition at line 28 of file IMeshWriter.h.

7.62.3 Member Function Documentation

7.62.3.1 virtual EMESH_WRITER_TYPE irr::scene::IMeshWriter::getType () const [pure


virtual]

Get the type of the mesh writer.


For own implementations, use MAKE_IRR_ID as shown in the EMESH_WRITER_TYPE enumeration to
return your own unique mesh type id.
Returns:
Type of the mesh writer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


404 Irrlicht Engine Class Documentation

7.62.3.2 virtual bool irr::scene::IMeshWriter::writeMesh (io::IWriteFile ∗ file, scene::IMesh ∗


mesh, s32 flags = EMWF_NONE) [pure virtual]

Write a static mesh.

Parameters:
file File handle to write the mesh to.
mesh Pointer to mesh to be written.
flags Optional flags to set properties of the writer.

Returns:
True if sucessful

The documentation for this class was generated from the following file:

• IMeshWriter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.63 irr::scene::IMetaTriangleSelector Class Reference 405

7.63 irr::scene::IMetaTriangleSelector Class Reference


Interface for making multiple triangle selectors work as one big selector.
#include <IMetaTriangleSelector.h>
Inheritance diagram for irr::scene::IMetaTriangleSelector::

irr::IReferenceCounted

irr::scene::ITriangleSelector

irr::scene::IMetaTriangleSelector

Public Member Functions


• virtual void addTriangleSelector (ITriangleSelector ∗toAdd)=0
Adds a triangle selector to the collection of triangle selectors.

• virtual void removeAllTriangleSelectors ()=0


Removes all triangle selectors from the collection.

• virtual bool removeTriangleSelector (ITriangleSelector ∗toRemove)=0


Removes a specific triangle selector from the collection.

7.63.1 Detailed Description

Interface for making multiple triangle selectors work as one big selector.
This is nothing more than a collection of one or more triangle selectors providing together the interface of
one triangle selector. In this way, collision tests can be done with different triangle soups in one pass.
Definition at line 20 of file IMetaTriangleSelector.h.

7.63.2 Member Function Documentation

7.63.2.1 virtual void irr::scene::IMetaTriangleSelector::addTriangleSelector (ITriangleSelector ∗


toAdd) [pure virtual]

Adds a triangle selector to the collection of triangle selectors.

Parameters:
toAdd: Pointer to an triangle selector to add to the list.

7.63.2.2 virtual void irr::scene::IMetaTriangleSelector::removeAllTriangleSelectors () [pure


virtual]

Removes all triangle selectors from the collection.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


406 Irrlicht Engine Class Documentation

7.63.2.3 virtual bool irr::scene::IMetaTriangleSelector::removeTriangleSelector


(ITriangleSelector ∗ toRemove) [pure virtual]

Removes a specific triangle selector from the collection.

Parameters:
toRemove: Pointer to an triangle selector which is in the list but will be removed.

Returns:
True if successful, false if not.

The documentation for this class was generated from the following file:

• IMetaTriangleSelector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.64 irr::IOSOperator Class Reference 407

7.64 irr::IOSOperator Class Reference


The Operating system operator provides operation system specific methods and informations.
#include <IOSOperator.h>
Inheritance diagram for irr::IOSOperator::

irr::IReferenceCounted

irr::IOSOperator

Public Member Functions

• virtual void copyToClipboard (const c8 ∗text) const =0


Copies text to the clipboard.

• virtual const wchar_t ∗ getOperationSystemVersion () const =0


Get the current operation system version as string.

• virtual bool getProcessorSpeedMHz (u32 ∗MHz) const =0


Get the processor speed in megahertz.

• virtual bool getSystemMemory (u32 ∗Total, u32 ∗Avail) const =0


Get the total and available system RAM.

• virtual c8 ∗ getTextFromClipboard () const =0


Get text from the clipboard.

• virtual ∼IOSOperator ()
Destructor.

7.64.1 Detailed Description

The Operating system operator provides operation system specific methods and informations.
Definition at line 14 of file IOSOperator.h.

7.64.2 Constructor & Destructor Documentation

7.64.2.1 virtual irr::IOSOperator::∼IOSOperator () [inline, virtual]

Destructor.
Definition at line 19 of file IOSOperator.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


408 Irrlicht Engine Class Documentation

7.64.3 Member Function Documentation

7.64.3.1 virtual void irr::IOSOperator::copyToClipboard (const c8 ∗ text) const [pure


virtual]

Copies text to the clipboard.

7.64.3.2 virtual const wchar_t∗ irr::IOSOperator::getOperationSystemVersion () const [pure


virtual]

Get the current operation system version as string.

7.64.3.3 virtual bool irr::IOSOperator::getProcessorSpeedMHz (u32 ∗ MHz) const [pure


virtual]

Get the processor speed in megahertz.

Parameters:
MHz The integer variable to store the speed in.

Returns:
True if successful, false if not

7.64.3.4 virtual bool irr::IOSOperator::getSystemMemory (u32 ∗ Total, u32 ∗ Avail) const


[pure virtual]

Get the total and available system RAM.

Parameters:
Total: will contain the total system memory
Avail: will contain the available memory

Returns:
True if successful, false if not

7.64.3.5 virtual c8∗ irr::IOSOperator::getTextFromClipboard () const [pure virtual]

Get text from the clipboard.

Returns:
Returns 0 if no string is in there.

The documentation for this class was generated from the following file:

• IOSOperator.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.65 irr::scene::IParticleAffector Class Reference 409

7.65 irr::scene::IParticleAffector Class Reference


A particle affector modifies particles.
#include <IParticleAffector.h>
Inheritance diagram for irr::scene::IParticleAffector::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleAffector

irr::scene::IParticleAttractionAffector irr::scene::IParticleFadeOutAffector irr::scene::IParticleGravityAffector irr::scene::IParticleRotationAffector

Public Member Functions


• virtual void affect (u32 now, SParticle ∗particlearray, u32 count)=0
• virtual s32 deserializeAttributes (s32 startIndex, io::IAttributes ∗in, io::SAttributeReadWriteOptions
∗options=0)
• virtual bool getEnabled () const
Gets whether or not the affector is currently enabled.

• virtual E_PARTICLE_AFFECTOR_TYPE getType () const =0


Get emitter type.

• IParticleAffector ()
constructor

• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)


const
• virtual void setEnabled (bool enabled)
Sets whether or not the affector is currently enabled.

Protected Attributes
• bool Enabled

7.65.1 Detailed Description

A particle affector modifies particles.


Definition at line 39 of file IParticleAffector.h.

7.65.2 Constructor & Destructor Documentation

7.65.2.1 irr::scene::IParticleAffector::IParticleAffector () [inline]

constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


410 Irrlicht Engine Class Documentation

Definition at line 44 of file IParticleAffector.h.


References Enabled.

7.65.3 Member Function Documentation

7.65.3.1 virtual void irr::scene::IParticleAffector::affect (u32 now, SParticle ∗ particlearray, u32


count) [pure virtual]

Affects an array of particles.

Parameters:
now: Current time. (Same as ITimer::getTime() would return)
particlearray: Array of particles.
count: Amount of particles in array.

7.65.3.2 virtual s32 irr::scene::IParticleAffector::deserializeAttributes (s32 startIndex,


io::IAttributes ∗ in, io::SAttributeReadWriteOptions ∗ options = 0) [inline,
virtual]

Reads attributes of the object. Implement this to set the attributes of your scene node animator for scripting
languages, editors, debuggers or xml deserialization purposes.

Parameters:
startIndex: start index where to start reading attributes.
in: The attributes to work with.
options: Additional options.

Returns:
: returns last index of an attribute read by this affector

Definition at line 70 of file IParticleAffector.h.

7.65.3.3 virtual bool irr::scene::IParticleAffector::getEnabled () const [inline, virtual]

Gets whether or not the affector is currently enabled.


Definition at line 56 of file IParticleAffector.h.
References Enabled.

7.65.3.4 virtual E_PARTICLE_AFFECTOR_TYPE irr::scene::IParticleAffector::getType () const


[pure virtual]

Get emitter type.


Implemented in irr::scene::IParticleAttractionAffector, irr::scene::IParticleFadeOutAffector,
irr::scene::IParticleGravityAffector, and irr::scene::IParticleRotationAffector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.65 irr::scene::IParticleAffector Class Reference 411

7.65.3.5 virtual void irr::scene::IParticleAffector::serializeAttributes (io::IAttributes ∗ out,


io::SAttributeReadWriteOptions ∗ options = 0) const [inline, virtual]

Writes attributes of the object. Implement this to expose the attributes of your scene node animator for
scripting languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 61 of file IParticleAffector.h.

7.65.3.6 virtual void irr::scene::IParticleAffector::setEnabled (bool enabled) [inline,


virtual]

Sets whether or not the affector is currently enabled.


Definition at line 53 of file IParticleAffector.h.
References Enabled.

7.65.4 Member Data Documentation

7.65.4.1 bool irr::scene::IParticleAffector::Enabled [protected]

Definition at line 76 of file IParticleAffector.h.


Referenced by getEnabled(), IParticleAffector(), and setEnabled().
The documentation for this class was generated from the following file:

• IParticleAffector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


412 Irrlicht Engine Class Documentation

7.66 irr::scene::IParticleAnimatedMeshSceneNodeEmitter Class


Reference
A particle emitter which emits particles from mesh vertices.
#include <IParticleAnimatedMeshSceneNodeEmitter.h>
Inheritance diagram for irr::scene::IParticleAnimatedMeshSceneNodeEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleAnimatedMeshSceneNodeEmitter

Public Member Functions


• virtual const IAnimatedMeshSceneNode ∗ getAnimatedMeshSceneNode () const =0
Get Mesh we’re emitting particles from.

• virtual bool getEveryMeshVertex () const =0


• virtual f32 getNormalDirectionModifier () const =0
Get the amount that the normal is divided by for getting a particles direction.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual bool isUsingNormalDirection () const =0


Get whether to use vertex normal for direction, or direction specified.

• virtual void setAnimatedMeshSceneNode (IAnimatedMeshSceneNode ∗node)=0


Set Mesh to emit particles from.

• virtual void setEveryMeshVertex (bool everyMeshVertex=true)=0


• virtual void setNormalDirectionModifier (f32 normalDirectionModifier)=0
Set the amount that the normal is divided by for getting a particles direction.

• virtual void setUseNormalDirection (bool useNormalDirection=true)=0


Set whether to use vertex normal for direction, or direction specified.

7.66.1 Detailed Description

A particle emitter which emits particles from mesh vertices.


Definition at line 17 of file IParticleAnimatedMeshSceneNodeEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.66 irr::scene::IParticleAnimatedMeshSceneNodeEmitter Class Reference 413

7.66.2 Member Function Documentation

7.66.2.1 virtual const IAnimatedMeshSceneNode∗ irr::scene::IParticleAnimated-


MeshSceneNodeEmitter::getAnimatedMeshSceneNode () const [pure
virtual]

Get Mesh we’re emitting particles from.

7.66.2.2 virtual bool irr::scene::IParticleAnimatedMeshSceneNodeEmitter::getEveryMeshVertex


() const [pure virtual]

Gets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second

7.66.2.3 virtual f32 irr::scene::IParticleAnimatedMeshSceneNodeEmitter::getNormalDirection-


Modifier () const [pure virtual]

Get the amount that the normal is divided by for getting a particles direction.

7.66.2.4 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleAnimatedMeshSceneNode-


Emitter::getType () const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 48 of file IParticleAnimatedMeshSceneNodeEmitter.h.
References irr::scene::EPET_ANIMATED_MESH.

7.66.2.5 virtual bool irr::scene::IParticleAnimatedMeshSceneNodeEmitter::isUsingNormal-


Direction () const [pure virtual]

Get whether to use vertex normal for direction, or direction specified.

7.66.2.6 virtual void irr::scene::IParticleAnimatedMeshSceneNodeEmitter::set-


AnimatedMeshSceneNode (IAnimatedMeshSceneNode ∗ node) [pure
virtual]

Set Mesh to emit particles from.

7.66.2.7 virtual void irr::scene::IParticleAnimatedMeshSceneNodeEmitter::setEveryMeshVertex


(bool everyMeshVertex = true) [pure virtual]

Sets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


414 Irrlicht Engine Class Documentation

7.66.2.8 virtual void irr::scene::IParticleAnimatedMeshSceneNodeEmitter::set-


NormalDirectionModifier (f32 normalDirectionModifier) [pure
virtual]

Set the amount that the normal is divided by for getting a particles direction.

7.66.2.9 virtual void irr::scene::IParticleAnimatedMeshSceneNodeEmitter::set-


UseNormalDirection (bool useNormalDirection = true) [pure
virtual]

Set whether to use vertex normal for direction, or direction specified.


The documentation for this class was generated from the following file:

• IParticleAnimatedMeshSceneNodeEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.67 irr::scene::IParticleAttractionAffector Class Reference 415

7.67 irr::scene::IParticleAttractionAffector Class Reference


A particle affector which attracts or detracts particles.
#include <IParticleAttractionAffector.h>
Inheritance diagram for irr::scene::IParticleAttractionAffector::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleAffector

irr::scene::IParticleAttractionAffector

Public Member Functions


• virtual bool getAffectX () const =0
Get whether or not the particles X position are affected.

• virtual bool getAffectY () const =0


Get whether or not the particles Y position are affected.

• virtual bool getAffectZ () const =0


Get whether or not the particles Z position are affected.

• virtual bool getAttract () const =0


Get whether or not the particles are attracting or detracting.

• virtual const core::vector3df & getPoint () const =0


Get the point that particles are attracted to.

• virtual E_PARTICLE_AFFECTOR_TYPE getType () const


Get emitter type.

• virtual void setAffectX (bool affect)=0


Set whether or not this will affect particles in the X direction.

• virtual void setAffectY (bool affect)=0


Set whether or not this will affect particles in the Y direction.

• virtual void setAffectZ (bool affect)=0


Set whether or not this will affect particles in the Z direction.

• virtual void setAttract (bool attract)=0


Set whether or not the particles are attracting or detracting.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


416 Irrlicht Engine Class Documentation

• virtual void setPoint (const core::vector3df &point)=0


Set the point that particles will attract to.

7.67.1 Detailed Description

A particle affector which attracts or detracts particles.


Definition at line 16 of file IParticleAttractionAffector.h.

7.67.2 Member Function Documentation

7.67.2.1 virtual bool irr::scene::IParticleAttractionAffector::getAffectX () const [pure


virtual]

Get whether or not the particles X position are affected.

7.67.2.2 virtual bool irr::scene::IParticleAttractionAffector::getAffectY () const [pure


virtual]

Get whether or not the particles Y position are affected.

7.67.2.3 virtual bool irr::scene::IParticleAttractionAffector::getAffectZ () const [pure


virtual]

Get whether or not the particles Z position are affected.

7.67.2.4 virtual bool irr::scene::IParticleAttractionAffector::getAttract () const [pure


virtual]

Get whether or not the particles are attracting or detracting.

7.67.2.5 virtual const core::vector3df& irr::scene::IParticleAttractionAffector::getPoint () const


[pure virtual]

Get the point that particles are attracted to.

7.67.2.6 virtual E_PARTICLE_AFFECTOR_TYPE irr::scene::IParticleAttractionAffector::get-


Type () const [inline, virtual]

Get emitter type.


Implements irr::scene::IParticleAffector.
Definition at line 51 of file IParticleAttractionAffector.h.
References irr::scene::EPAT_ATTRACT.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.67 irr::scene::IParticleAttractionAffector Class Reference 417

7.67.2.7 virtual void irr::scene::IParticleAttractionAffector::setAffectX (bool affect) [pure


virtual]

Set whether or not this will affect particles in the X direction.

7.67.2.8 virtual void irr::scene::IParticleAttractionAffector::setAffectY (bool affect) [pure


virtual]

Set whether or not this will affect particles in the Y direction.

7.67.2.9 virtual void irr::scene::IParticleAttractionAffector::setAffectZ (bool affect) [pure


virtual]

Set whether or not this will affect particles in the Z direction.

7.67.2.10 virtual void irr::scene::IParticleAttractionAffector::setAttract (bool attract) [pure


virtual]

Set whether or not the particles are attracting or detracting.

7.67.2.11 virtual void irr::scene::IParticleAttractionAffector::setPoint (const core::vector3df &


point) [pure virtual]

Set the point that particles will attract to.


The documentation for this class was generated from the following file:

• IParticleAttractionAffector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


418 Irrlicht Engine Class Documentation

7.68 irr::scene::IParticleBoxEmitter Class Reference


A particle emitter which emits particles from a box shaped space.
#include <IParticleBoxEmitter.h>
Inheritance diagram for irr::scene::IParticleBoxEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleBoxEmitter

Public Member Functions


• virtual const core::aabbox3df & getBox () const =0
Get the box shape set.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual void setBox (const core::aabbox3df &box)=0


Set the box shape.

7.68.1 Detailed Description

A particle emitter which emits particles from a box shaped space.


Definition at line 17 of file IParticleBoxEmitter.h.

7.68.2 Member Function Documentation

7.68.2.1 virtual const core::aabbox3df& irr::scene::IParticleBoxEmitter::getBox () const [pure


virtual]

Get the box shape set.

7.68.2.2 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleBoxEmitter::getType ()


const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 28 of file IParticleBoxEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.68 irr::scene::IParticleBoxEmitter Class Reference 419

References irr::scene::EPET_BOX.

7.68.2.3 virtual void irr::scene::IParticleBoxEmitter::setBox (const core::aabbox3df & box)


[pure virtual]

Set the box shape.


The documentation for this class was generated from the following file:

• IParticleBoxEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


420 Irrlicht Engine Class Documentation

7.69 irr::scene::IParticleCylinderEmitter Class Reference


A particle emitter which emits from a cylindrically shaped space.
#include <IParticleCylinderEmitter.h>
Inheritance diagram for irr::scene::IParticleCylinderEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleCylinderEmitter

Public Member Functions


• virtual const core::vector3df & getCenter () const =0
Get the center of the cylinder.

• virtual f32 getLength () const =0


Get the center of the cylinder.

• virtual const core::vector3df & getNormal () const =0


Get the normal of the cylinder.

• virtual bool getOutlineOnly () const =0


Get whether or not to draw points inside the cylinder.

• virtual f32 getRadius () const =0


Get the radius of the cylinder.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual void setCenter (const core::vector3df &center)=0


Set the center of the radius for the cylinder, at one end of the cylinder.

• virtual void setLength (f32 length)=0


Set the length of the cylinder.

• virtual void setNormal (const core::vector3df &normal)=0


Set the normal of the cylinder.

• virtual void setOutlineOnly (bool outlineOnly=true)=0


Set whether or not to draw points inside the cylinder.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.69 irr::scene::IParticleCylinderEmitter Class Reference 421

• virtual void setRadius (f32 radius)=0


Set the radius of the cylinder.

7.69.1 Detailed Description

A particle emitter which emits from a cylindrically shaped space.


Definition at line 16 of file IParticleCylinderEmitter.h.

7.69.2 Member Function Documentation

7.69.2.1 virtual const core::vector3df& irr::scene::IParticleCylinderEmitter::getCenter () const


[pure virtual]

Get the center of the cylinder.

7.69.2.2 virtual f32 irr::scene::IParticleCylinderEmitter::getLength () const [pure virtual]

Get the center of the cylinder.

7.69.2.3 virtual const core::vector3df& irr::scene::IParticleCylinderEmitter::getNormal () const


[pure virtual]

Get the normal of the cylinder.

7.69.2.4 virtual bool irr::scene::IParticleCylinderEmitter::getOutlineOnly () const [pure


virtual]

Get whether or not to draw points inside the cylinder.

7.69.2.5 virtual f32 irr::scene::IParticleCylinderEmitter::getRadius () const [pure virtual]

Get the radius of the cylinder.

7.69.2.6 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleCylinderEmitter::getType


() const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 51 of file IParticleCylinderEmitter.h.
References irr::scene::EPET_CYLINDER.

7.69.2.7 virtual void irr::scene::IParticleCylinderEmitter::setCenter (const core::vector3df &


center) [pure virtual]

Set the center of the radius for the cylinder, at one end of the cylinder.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


422 Irrlicht Engine Class Documentation

7.69.2.8 virtual void irr::scene::IParticleCylinderEmitter::setLength (f32 length) [pure


virtual]

Set the length of the cylinder.

7.69.2.9 virtual void irr::scene::IParticleCylinderEmitter::setNormal (const core::vector3df &


normal) [pure virtual]

Set the normal of the cylinder.

7.69.2.10 virtual void irr::scene::IParticleCylinderEmitter::setOutlineOnly (bool outlineOnly =


true) [pure virtual]

Set whether or not to draw points inside the cylinder.

7.69.2.11 virtual void irr::scene::IParticleCylinderEmitter::setRadius (f32 radius) [pure


virtual]

Set the radius of the cylinder.


The documentation for this class was generated from the following file:

• IParticleCylinderEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.70 irr::scene::IParticleEmitter Class Reference 423

7.70 irr::scene::IParticleEmitter Class Reference


A particle emitter for using with particle systems.
#include <IParticleEmitter.h>
Inheritance diagram for irr::scene::IParticleEmitter::
irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleAnimatedMeshSceneNodeEmitter irr::scene::IParticleBoxEmitter irr::scene::IParticleCylinderEmitter irr::scene::IParticleMeshEmitter irr::scene::IParticleRingEmitter irr::scene::IParticleSphereEmitter

Public Member Functions


• virtual s32 deserializeAttributes (s32 startIndex, io::IAttributes ∗in, io::SAttributeReadWriteOptions
∗options=0)
• virtual s32 emitt (u32 now, u32 timeSinceLastCall, SParticle ∗&outArray)=0
• virtual const core::vector3df & getDirection () const =0
Get direction the emitter emits particles.

• virtual u32 getMaxParticlesPerSecond () const =0


Get the maximum number of particles the emitter emits per second.

• virtual const video::SColor & getMaxStartColor () const =0


Get the maximum starting color for particles.

• virtual u32 getMinParticlesPerSecond () const =0


Get the minimum number of particles the emitter emits per second.

• virtual const video::SColor & getMinStartColor () const =0


Get the minimum starting color for particles.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)


const
• virtual void setDirection (const core::vector3df &newDirection)=0
Set direction the emitter emits particles.

• virtual void setMaxParticlesPerSecond (u32 maxPPS)=0


Set maximum number of particles the emitter emits per second.

• virtual void setMaxStartColor (const video::SColor &color)=0


Set maximum starting color for particles.

• virtual void setMinParticlesPerSecond (u32 minPPS)=0


Set minimum number of particles the emitter emits per second.

• virtual void setMinStartColor (const video::SColor &color)=0


Set minimum starting color for particles.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


424 Irrlicht Engine Class Documentation

7.70.1 Detailed Description

A particle emitter for using with particle systems.


A Particle emitter emitts new particles into a particle system.
Definition at line 45 of file IParticleEmitter.h.

7.70.2 Member Function Documentation

7.70.2.1 virtual s32 irr::scene::IParticleEmitter::deserializeAttributes (s32 startIndex,


io::IAttributes ∗ in, io::SAttributeReadWriteOptions ∗ options = 0) [inline,
virtual]

Reads attributes of the object. Implement this to set the attributes of your scene node animator for scripting
languages, editors, debuggers or xml deserialization purposes.

Parameters:
startIndex: start index where to start reading attributes.
in: The attributes to work with.
options: Additional options.

Returns:
: returns last index of an attribute read by this affector

Definition at line 100 of file IParticleEmitter.h.

7.70.2.2 virtual s32 irr::scene::IParticleEmitter::emitt (u32 now, u32 timeSinceLastCall, SParticle


∗& outArray) [pure virtual]

Prepares an array with new particles to emitt into the system and returns how much new particles there
are.

Parameters:
now: Current time.
timeSinceLastCall: Time elapsed since last call, in milliseconds.
outArray: Pointer which will point to the array with the new particles to add into the system.

Returns:
Returns amount of new particles in the array. Can be 0.

7.70.2.3 virtual const core::vector3df& irr::scene::IParticleEmitter::getDirection () const [pure


virtual]

Get direction the emitter emits particles.

7.70.2.4 virtual u32 irr::scene::IParticleEmitter::getMaxParticlesPerSecond () const [pure


virtual]

Get the maximum number of particles the emitter emits per second.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.70 irr::scene::IParticleEmitter Class Reference 425

7.70.2.5 virtual const video::SColor& irr::scene::IParticleEmitter::getMaxStartColor () const


[pure virtual]

Get the maximum starting color for particles.

7.70.2.6 virtual u32 irr::scene::IParticleEmitter::getMinParticlesPerSecond () const [pure


virtual]

Get the minimum number of particles the emitter emits per second.

7.70.2.7 virtual const video::SColor& irr::scene::IParticleEmitter::getMinStartColor () const


[pure virtual]

Get the minimum starting color for particles.

7.70.2.8 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleEmitter::getType () const


[inline, virtual]

Get emitter type.


Reimplemented in irr::scene::IParticleAnimatedMeshSceneNodeEmitter, irr::scene::IParticleBoxEmitter,
irr::scene::IParticleCylinderEmitter, irr::scene::IParticleMeshEmitter, irr::scene::IParticleRingEmitter, and
irr::scene::IParticleSphereEmitter.
Definition at line 103 of file IParticleEmitter.h.
References irr::scene::EPET_POINT.

7.70.2.9 virtual void irr::scene::IParticleEmitter::serializeAttributes (io::IAttributes ∗ out,


io::SAttributeReadWriteOptions ∗ options = 0) const [inline, virtual]

Writes attributes of the object. Implement this to expose the attributes of your scene node animator for
scripting languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 91 of file IParticleEmitter.h.

7.70.2.10 virtual void irr::scene::IParticleEmitter::setDirection (const core::vector3df &


newDirection) [pure virtual]

Set direction the emitter emits particles.

7.70.2.11 virtual void irr::scene::IParticleEmitter::setMaxParticlesPerSecond (u32 maxPPS)


[pure virtual]

Set maximum number of particles the emitter emits per second.

7.70.2.12 virtual void irr::scene::IParticleEmitter::setMaxStartColor (const video::SColor &


color) [pure virtual]

Set maximum starting color for particles.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


426 Irrlicht Engine Class Documentation

7.70.2.13 virtual void irr::scene::IParticleEmitter::setMinParticlesPerSecond (u32 minPPS)


[pure virtual]

Set minimum number of particles the emitter emits per second.

7.70.2.14 virtual void irr::scene::IParticleEmitter::setMinStartColor (const video::SColor &


color) [pure virtual]

Set minimum starting color for particles.


The documentation for this class was generated from the following file:

• IParticleEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.71 irr::scene::IParticleFadeOutAffector Class Reference 427

7.71 irr::scene::IParticleFadeOutAffector Class Reference


A particle affector which fades out the particles.
#include <IParticleFadeOutAffector.h>
Inheritance diagram for irr::scene::IParticleFadeOutAffector::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleAffector

irr::scene::IParticleFadeOutAffector

Public Member Functions


• virtual f32 getFadeOutTime () const =0
Gets the amount of time it takes for each particle to fade out.

• virtual const video::SColor & getTargetColor () const =0


• virtual E_PARTICLE_AFFECTOR_TYPE getType () const
Get emitter type.

• virtual void setFadeOutTime (f32 fadeOutTime)=0


Sets the amount of time it takes for each particle to fade out.

• virtual void setTargetColor (const video::SColor &targetColor)=0

7.71.1 Detailed Description

A particle affector which fades out the particles.


Definition at line 16 of file IParticleFadeOutAffector.h.

7.71.2 Member Function Documentation

7.71.2.1 virtual f32 irr::scene::IParticleFadeOutAffector::getFadeOutTime () const [pure


virtual]

Gets the amount of time it takes for each particle to fade out.

7.71.2.2 virtual const video::SColor& irr::scene::IParticleFadeOutAffector::getTargetColor ()


const [pure virtual]

Gets the targetColor, i.e. the color the particles will interpolate to over time.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


428 Irrlicht Engine Class Documentation

7.71.2.3 virtual E_PARTICLE_AFFECTOR_TYPE irr::scene::IParticleFadeOutAffector::get-


Type () const [inline, virtual]

Get emitter type.


Implements irr::scene::IParticleAffector.
Definition at line 35 of file IParticleFadeOutAffector.h.
References irr::scene::EPAT_FADE_OUT.

7.71.2.4 virtual void irr::scene::IParticleFadeOutAffector::setFadeOutTime (f32 fadeOutTime)


[pure virtual]

Sets the amount of time it takes for each particle to fade out.

7.71.2.5 virtual void irr::scene::IParticleFadeOutAffector::setTargetColor (const video::SColor &


targetColor) [pure virtual]

Sets the targetColor, i.e. the color the particles will interpolate to over time.
The documentation for this class was generated from the following file:

• IParticleFadeOutAffector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.72 irr::scene::IParticleGravityAffector Class Reference 429

7.72 irr::scene::IParticleGravityAffector Class Reference


A particle affector which applies gravity to particles.
#include <IParticleGravityAffector.h>
Inheritance diagram for irr::scene::IParticleGravityAffector::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleAffector

irr::scene::IParticleGravityAffector

Public Member Functions


• virtual const core::vector3df & getGravity () const =0
Get the direction and force of gravity.

• virtual f32 getTimeForceLost () const =0


• virtual E_PARTICLE_AFFECTOR_TYPE getType () const
Get emitter type.

• virtual void setGravity (const core::vector3df &gravity)=0


Set the direction and force of gravity in all 3 dimensions.

• virtual void setTimeForceLost (f32 timeForceLost)=0

7.72.1 Detailed Description

A particle affector which applies gravity to particles.


Definition at line 16 of file IParticleGravityAffector.h.

7.72.2 Member Function Documentation

7.72.2.1 virtual const core::vector3df& irr::scene::IParticleGravityAffector::getGravity () const


[pure virtual]

Get the direction and force of gravity.

7.72.2.2 virtual f32 irr::scene::IParticleGravityAffector::getTimeForceLost () const [pure


virtual]

Get the time in milliseconds when the gravity force is totally lost and the particle does not move any more.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


430 Irrlicht Engine Class Documentation

7.72.2.3 virtual E_PARTICLE_AFFECTOR_TYPE irr::scene::IParticleGravityAffector::getType


() const [inline, virtual]

Get emitter type.


Implements irr::scene::IParticleAffector.
Definition at line 35 of file IParticleGravityAffector.h.
References irr::scene::EPAT_GRAVITY.

7.72.2.4 virtual void irr::scene::IParticleGravityAffector::setGravity (const core::vector3df &


gravity) [pure virtual]

Set the direction and force of gravity in all 3 dimensions.

7.72.2.5 virtual void irr::scene::IParticleGravityAffector::setTimeForceLost (f32 timeForceLost)


[pure virtual]

Set the time in milliseconds when the gravity force is totally lost and the particle does not move any more.
The documentation for this class was generated from the following file:

• IParticleGravityAffector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.73 irr::scene::IParticleMeshEmitter Class Reference 431

7.73 irr::scene::IParticleMeshEmitter Class Reference


A particle emitter which emits from vertices of a mesh.
#include <IParticleMeshEmitter.h>
Inheritance diagram for irr::scene::IParticleMeshEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleMeshEmitter

Public Member Functions


• virtual bool getEveryMeshVertex () const =0
• virtual const IMesh ∗ getMesh () const =0
Get Mesh we’re emitting particles from.

• virtual f32 getNormalDirectionModifier () const =0


Get the amount that the normal is divided by for getting a particles direction.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual bool isUsingNormalDirection () const =0


Get whether to use vertex normal for direction, or direction specified.

• virtual void setEveryMeshVertex (bool everyMeshVertex=true)=0


• virtual void setMesh (IMesh ∗mesh)=0
Set Mesh to emit particles from.

• virtual void setNormalDirectionModifier (f32 normalDirectionModifier)=0


Set the amount that the normal is divided by for getting a particles direction.

• virtual void setUseNormalDirection (bool useNormalDirection=true)=0


Set whether to use vertex normal for direction, or direction specified.

7.73.1 Detailed Description

A particle emitter which emits from vertices of a mesh.


Definition at line 17 of file IParticleMeshEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


432 Irrlicht Engine Class Documentation

7.73.2 Member Function Documentation

7.73.2.1 virtual bool irr::scene::IParticleMeshEmitter::getEveryMeshVertex () const [pure


virtual]

Gets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second

7.73.2.2 virtual const IMesh∗ irr::scene::IParticleMeshEmitter::getMesh () const [pure


virtual]

Get Mesh we’re emitting particles from.

7.73.2.3 virtual f32 irr::scene::IParticleMeshEmitter::getNormalDirectionModifier () const


[pure virtual]

Get the amount that the normal is divided by for getting a particles direction.

7.73.2.4 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleMeshEmitter::getType ()


const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 48 of file IParticleMeshEmitter.h.
References irr::scene::EPET_MESH.

7.73.2.5 virtual bool irr::scene::IParticleMeshEmitter::isUsingNormalDirection () const [pure


virtual]

Get whether to use vertex normal for direction, or direction specified.

7.73.2.6 virtual void irr::scene::IParticleMeshEmitter::setEveryMeshVertex (bool


everyMeshVertex = true) [pure virtual]

Sets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second

7.73.2.7 virtual void irr::scene::IParticleMeshEmitter::setMesh (IMesh ∗ mesh) [pure


virtual]

Set Mesh to emit particles from.

7.73.2.8 virtual void irr::scene::IParticleMeshEmitter::setNormalDirectionModifier (f32


normalDirectionModifier) [pure virtual]

Set the amount that the normal is divided by for getting a particles direction.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.73 irr::scene::IParticleMeshEmitter Class Reference 433

7.73.2.9 virtual void irr::scene::IParticleMeshEmitter::setUseNormalDirection (bool


useNormalDirection = true) [pure virtual]

Set whether to use vertex normal for direction, or direction specified.


The documentation for this class was generated from the following file:

• IParticleMeshEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


434 Irrlicht Engine Class Documentation

7.74 irr::scene::IParticleRingEmitter Class Reference

A particle emitter which emits particles along a ring shaped area.


#include <IParticleRingEmitter.h>
Inheritance diagram for irr::scene::IParticleRingEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleRingEmitter

Public Member Functions

• virtual const core::vector3df & getCenter () const =0


Get the center of the ring.

• virtual f32 getRadius () const =0


Get the radius of the ring.

• virtual f32 getRingThickness () const =0


Get the thickness of the ring.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual void setCenter (const core::vector3df &center)=0


Set the center of the ring.

• virtual void setRadius (f32 radius)=0


Set the radius of the ring.

• virtual void setRingThickness (f32 ringThickness)=0


Set the thickness of the ring.

7.74.1 Detailed Description

A particle emitter which emits particles along a ring shaped area.


Definition at line 16 of file IParticleRingEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.74 irr::scene::IParticleRingEmitter Class Reference 435

7.74.2 Member Function Documentation

7.74.2.1 virtual const core::vector3df& irr::scene::IParticleRingEmitter::getCenter () const


[pure virtual]

Get the center of the ring.

7.74.2.2 virtual f32 irr::scene::IParticleRingEmitter::getRadius () const [pure virtual]

Get the radius of the ring.

7.74.2.3 virtual f32 irr::scene::IParticleRingEmitter::getRingThickness () const [pure


virtual]

Get the thickness of the ring.

7.74.2.4 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleRingEmitter::getType ()


const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 39 of file IParticleRingEmitter.h.
References irr::scene::EPET_RING.

7.74.2.5 virtual void irr::scene::IParticleRingEmitter::setCenter (const core::vector3df & center)


[pure virtual]

Set the center of the ring.

7.74.2.6 virtual void irr::scene::IParticleRingEmitter::setRadius (f32 radius) [pure virtual]

Set the radius of the ring.

7.74.2.7 virtual void irr::scene::IParticleRingEmitter::setRingThickness (f32 ringThickness)


[pure virtual]

Set the thickness of the ring.


The documentation for this class was generated from the following file:

• IParticleRingEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


436 Irrlicht Engine Class Documentation

7.75 irr::scene::IParticleRotationAffector Class Reference


A particle affector which rotates the particle system.
#include <IParticleRotationAffector.h>
Inheritance diagram for irr::scene::IParticleRotationAffector::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleAffector

irr::scene::IParticleRotationAffector

Public Member Functions

• virtual const core::vector3df & getPivotPoint () const =0


Get the point that particles are attracted to.

• virtual const core::vector3df & getSpeed () const =0


Get the speed in degrees per second in all 3 dimensions.

• virtual E_PARTICLE_AFFECTOR_TYPE getType () const


Get emitter type.

• virtual void setPivotPoint (const core::vector3df &point)=0


Set the point that particles will rotate around.

• virtual void setSpeed (const core::vector3df &speed)=0


Set the speed in degrees per second in all 3 dimensions.

7.75.1 Detailed Description

A particle affector which rotates the particle system.


Definition at line 16 of file IParticleRotationAffector.h.

7.75.2 Member Function Documentation

7.75.2.1 virtual const core::vector3df& irr::scene::IParticleRotationAffector::getPivotPoint ()


const [pure virtual]

Get the point that particles are attracted to.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.75 irr::scene::IParticleRotationAffector Class Reference 437

7.75.2.2 virtual const core::vector3df& irr::scene::IParticleRotationAffector::getSpeed () const


[pure virtual]

Get the speed in degrees per second in all 3 dimensions.

7.75.2.3 virtual E_PARTICLE_AFFECTOR_TYPE irr::scene::IParticleRotationAffector::get-


Type () const [inline, virtual]

Get emitter type.


Implements irr::scene::IParticleAffector.
Definition at line 33 of file IParticleRotationAffector.h.
References irr::scene::EPAT_ROTATE.

7.75.2.4 virtual void irr::scene::IParticleRotationAffector::setPivotPoint (const core::vector3df &


point) [pure virtual]

Set the point that particles will rotate around.

7.75.2.5 virtual void irr::scene::IParticleRotationAffector::setSpeed (const core::vector3df &


speed) [pure virtual]

Set the speed in degrees per second in all 3 dimensions.


The documentation for this class was generated from the following file:

• IParticleRotationAffector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


438 Irrlicht Engine Class Documentation

7.76 irr::scene::IParticleSphereEmitter Class Reference


A particle emitter which emits from a spherical space.
#include <IParticleSphereEmitter.h>
Inheritance diagram for irr::scene::IParticleSphereEmitter::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::IParticleEmitter

irr::scene::IParticleSphereEmitter

Public Member Functions

• virtual const core::vector3df & getCenter () const =0


Get the center of the sphere for particle emissions.

• virtual f32 getRadius () const =0


Get the radius of the sphere for particle emissions.

• virtual E_PARTICLE_EMITTER_TYPE getType () const


Get emitter type.

• virtual void setCenter (const core::vector3df &center)=0


Set the center of the sphere for particle emissions.

• virtual void setRadius (f32 radius)=0


Set the radius of the sphere for particle emissions.

7.76.1 Detailed Description

A particle emitter which emits from a spherical space.


Definition at line 16 of file IParticleSphereEmitter.h.

7.76.2 Member Function Documentation

7.76.2.1 virtual const core::vector3df& irr::scene::IParticleSphereEmitter::getCenter () const


[pure virtual]

Get the center of the sphere for particle emissions.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.76 irr::scene::IParticleSphereEmitter Class Reference 439

7.76.2.2 virtual f32 irr::scene::IParticleSphereEmitter::getRadius () const [pure virtual]

Get the radius of the sphere for particle emissions.

7.76.2.3 virtual E_PARTICLE_EMITTER_TYPE irr::scene::IParticleSphereEmitter::getType ()


const [inline, virtual]

Get emitter type.


Reimplemented from irr::scene::IParticleEmitter.
Definition at line 33 of file IParticleSphereEmitter.h.
References irr::scene::EPET_SPHERE.

7.76.2.4 virtual void irr::scene::IParticleSphereEmitter::setCenter (const core::vector3df &


center) [pure virtual]

Set the center of the sphere for particle emissions.

7.76.2.5 virtual void irr::scene::IParticleSphereEmitter::setRadius (f32 radius) [pure


virtual]

Set the radius of the sphere for particle emissions.


The documentation for this class was generated from the following file:

• IParticleSphereEmitter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


440 Irrlicht Engine Class Documentation

7.77 irr::scene::IParticleSystemSceneNode Class Reference


A particle system scene node for creating snow, fire, exlosions, smoke...
#include <IParticleSystemSceneNode.h>
Inheritance diagram for irr::scene::IParticleSystemSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IParticleSystemSceneNode

Public Member Functions


• virtual void addAffector (IParticleAffector ∗affector)=0
Adds new particle effector to the particle system.

• virtual IParticleAnimatedMeshSceneNodeEmitter ∗ createAnimatedMeshSceneNodeEmitter


(scene::IAnimatedMeshSceneNode ∗node, bool useNormalDirection=true, const core::vector3df
&direction=core::vector3df(0.0f, 0.0f, 0.0f), f32 normalDirectionModifier=100.0f, s32 mb-
Number=-1, bool everyMeshVertex=false, u32 minParticlesPerSecond=5, u32 maxParticlesPer-
Second=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor
&maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTime-
Max=4000, s32 maxAngleDegrees=0)=0
Creates a particle emitter for an animated mesh scene node.

• virtual IParticleAttractionAffector ∗ createAttractionAffector (const core::vector3df &point, f32


speed=1.0f, bool attract=true, bool affectX=true, bool affectY=true, bool affectZ=true)=0
Creates a point attraction affector.

• virtual IParticleBoxEmitter ∗ createBoxEmitter (const core::aabbox3df &box=core::aabbox3df(-


10, 28,-10, 10, 30, 10), const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f),
u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStart-
Color=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255,
255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0
Creates a box particle emitter.

• virtual IParticleCylinderEmitter ∗ createCylinderEmitter (const core::vector3df &center, f32 ra-


dius, const core::vector3df &normal, f32 length, bool outlineOnly=false, const core::vector3df
&direction=core::vector3df(0.0f, 0.0f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPer-
Second=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor
&maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTime-
Max=4000, s32 maxAngleDegrees=0)=0
Creates a particle emitter for emitting from a cylinder.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.77 irr::scene::IParticleSystemSceneNode Class Reference 441

• virtual IParticleFadeOutAffector ∗ createFadeOutParticleAffector (const video::SColor &target-


Color=video::SColor(0, 0, 0, 0), u32 timeNeededToFadeOut=1000)=0
Creates a fade out particle affector.

• virtual IParticleGravityAffector ∗ createGravityAffector (const core::vector3df &grav-


ity=core::vector3df(0.0f,-0.03f, 0.0f), u32 timeForceLost=1000)=0
Creates a gravity affector.

• virtual IParticleMeshEmitter ∗ createMeshEmitter (scene::IMesh ∗mesh, bool useNormal-


Direction=true, const core::vector3df &direction=core::vector3df(0.0f, 0.0f, 0.0f), f32
normalDirectionModifier=100.0f, s32 mbNumber=-1, bool everyMeshVertex=false, u32
minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStart-
Color=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255,
255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0
Creates a mesh particle emitter.

• virtual IParticlePointEmitter ∗ createPointEmitter (const core::vector3df &direc-


tion=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPer-
Second=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor
&maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTime-
Max=4000, s32 maxAngleDegrees=0)=0
Creates a point particle emitter.

• virtual IParticleRingEmitter ∗ createRingEmitter (const core::vector3df &center, f32 ra-


dius, f32 ringThickness, const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f),
u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStart-
Color=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255,
255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0
Creates a ring particle emitter.

• virtual IParticleRotationAffector ∗ createRotationAffector (const core::vector3df


&speed=core::vector3df(5.0f, 5.0f, 5.0f), const core::vector3df &pivotPoint=core::vector3df(0.0f,
0.0f, 0.0f))=0
Creates a rotation affector.

• virtual IParticleSphereEmitter ∗ createSphereEmitter (const core::vector3df &center, f32 radius,


const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5,
u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0),
const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, s32 maxAngleDegrees=0)=0
Creates a sphere particle emitter.

• IParticleSystemSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const


core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rota-
tion=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.

• virtual void removeAllAffectors ()=0


Removes all particle affectors in the particle system.

• virtual void setEmitter (IParticleEmitter ∗emitter)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


442 Irrlicht Engine Class Documentation

Sets the particle emitter, which creates the particles.

• virtual void setParticlesAreGlobal (bool global)=0


Sets if the particles should be global.

• virtual void setParticleSize (const core::dimension2d< f32 > &size=core::dimension2d< f32


>(5.0f, 5.0f))=0
Sets the size of all particles.

7.77.1 Detailed Description

A particle system scene node for creating snow, fire, exlosions, smoke...
A scene node controlling a particle System. The behavior of the particles can be controlling by setting the
right particle emitters and effectors. You can for example easily a campfire by doing this:

scene::IParticleSystemSceneNode* p = scenemgr->addParticleSystemSceneNode();
p->setParticleSize(core::dimension2d<f32>(20.0f, 10.0f));
scene::IParticleEmitter* em = p->createBoxEmitter(
core::aabbox3d<f32>(-5,0,-5,5,1,5),
core::vector3df(0.0f,0.03f,0.0f),
40,80, video::SColor(0,255,255,255),video::SColor(0,255,255,255), 1100,2000);
p->setEmitter(em);
em->drop();
scene::IParticleAffector* paf = p->createFadeOutParticleAffector();
p->addAffector(paf);
paf->drop();

Definition at line 46 of file IParticleSystemSceneNode.h.

7.77.2 Constructor & Destructor Documentation

7.77.2.1 irr::scene::IParticleSystemSceneNode::IParticleSystemSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id, const core::vector3df
& position = core::vector3df(0,0,0), const core::vector3df &
rotation = core::vector3df(0,0,0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [inline]

Constructor.
Definition at line 51 of file IParticleSystemSceneNode.h.

7.77.3 Member Function Documentation

7.77.3.1 virtual void irr::scene::IParticleSystemSceneNode::addAffector (IParticleAffector ∗


affector) [pure virtual]

Adds new particle effector to the particle system.


A particle affector modifies the particles. For example, the FadeOut affector lets all particles fade out after
some time. It is created and used in this way:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.77 irr::scene::IParticleSystemSceneNode Class Reference 443

IParticleAffector* p = createFadeOutParticleAffector();
addAffector(p);
p->drop();

Please note that a affector is not necessary for the particle system to work.

Parameters:
affector: New affector.

7.77.3.2 virtual IParticleAnimatedMeshSceneNodeEmitter∗ irr::scene::IParticleSystemScene-


Node::createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode
∗ node, bool useNormalDirection = true, const core::vector3df & direction =
core::vector3df(0.0f, 0.0f, 0.0f), f32 normalDirectionModifier = 100.0f,
s32 mbNumber = -1, bool everyMeshVertex = false, u32 minParticlesPerSecond
= 5, u32 maxParticlesPerSecond = 10, const video::SColor & minStartColor =
video::SColor(255, 0, 0, 0), const video::SColor & maxStartColor =
video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000, u32 lifeTimeMax
= 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a particle emitter for an animated mesh scene node.

Parameters:
node: Pointer to the animated mesh scene node to emit particles from
useNormalDirection: If true, the direction of each particle created will be the normal of the vertex
that it’s emitting from. The normal is divided by the normalDirectionModifier parameter, which
defaults to 100.0f.
direction: Direction and speed of particle emission.
normalDirectionModifier: If the emitter is using the normal direction then the normal of the vertex
that is being emitted from is divided by this number.
mbNumber: This allows you to specify a specific meshBuffer for the IMesh∗ to emit particles from.
The default value is -1, which means a random meshBuffer picked from all of the meshes mesh-
Buffers will be selected to pick a random vertex from. If the value is 0 or greater, it will only
pick random vertices from the meshBuffer specified by this value.
everyMeshVertex: If true, the emitter will emit between min/max particles every second, for every
vertex in the mesh, if false, it will emit between min/max particles from random vertices in the
mesh.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


444 Irrlicht Engine Class Documentation

7.77.3.3 virtual IParticleAttractionAffector∗ irr::scene::IParticleSystemSceneNode::create-


AttractionAffector (const core::vector3df & point, f32 speed = 1.0f, bool attract = true,
bool affectX = true, bool affectY = true, bool affectZ = true) [pure virtual]

Creates a point attraction affector.


This affector modifies the positions of the particles and attracts them to a specified point at a specified
speed per second.

Parameters:
point: Point to attract particles to.
speed: Speed in units per second, to attract to the specified point.
attract: Whether the particles attract or detract from this point.
affectX: Whether or not this will affect the X position of the particle.
affectY: Whether or not this will affect the Y position of the particle.
affectZ: Whether or not this will affect the Z position of the particle.

Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.

7.77.3.4 virtual IParticleBoxEmitter∗ irr::scene::IParticleSystemSceneNode::createBoxEmitter


(const core::aabbox3df & box = core::aabbox3df(-10, 28,-10, 10, 30, 10),
const core::vector3df & direction = core::vector3df(0.0f, 0.03f, 0.0f),
u32 minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10, const video::SColor
& minStartColor = video::SColor(255, 0, 0, 0), const video::SColor &
maxStartColor = video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000,
u32 lifeTimeMax = 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a box particle emitter.

Parameters:
box: The box for the emitter.
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.77 irr::scene::IParticleSystemSceneNode Class Reference 445

7.77.3.5 virtual IParticleCylinderEmitter∗ irr::scene::IParticleSystemSceneNode::create-


CylinderEmitter (const core::vector3df & center, f32 radius, const core::vector3df
& normal, f32 length, bool outlineOnly = false, const core::vector3df & direction
= core::vector3df(0.0f, 0.0f, 0.0f), u32 minParticlesPerSecond =
5, u32 maxParticlesPerSecond = 10, const video::SColor & minStartColor =
video::SColor(255, 0, 0, 0), const video::SColor & maxStartColor =
video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000, u32 lifeTimeMax
= 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a particle emitter for emitting from a cylinder.

Parameters:
center: The center of the circle at the base of the cylinder
radius: The thickness of the cylinder
normal: Direction of the length of the cylinder
length: The length of the the cylinder
outlineOnly: Whether or not to put points inside the cylinder or on the outline only
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

7.77.3.6 virtual IParticleFadeOutAffector∗ irr::scene::IParticleSystemScene-


Node::createFadeOutParticleAffector (const video::SColor & targetColor =
video::SColor(0, 0, 0, 0), u32 timeNeededToFadeOut = 1000) [pure
virtual]

Creates a fade out particle affector.


This affector modifies the color of every particle and and reaches the final color when the particle dies.
This affector looks really good, if the EMT_TRANSPARENT_VERTEX_ALPHA material is used and the
targetColor is video::SColor(0,0,0,0): Particles are fading out into void with this setting.

Parameters:
targetColor: Color whereto the color of the particle is changed.
timeNeededToFadeOut: How much time in milli seconds should the affector need to change the color
to the targetColor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


446 Irrlicht Engine Class Documentation

Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.

7.77.3.7 virtual IParticleGravityAffector∗ irr::scene::IParticleSystemScene-


Node::createGravityAffector (const core::vector3df & gravity =
core::vector3df(0.0f,-0.03f, 0.0f), u32 timeForceLost = 1000) [pure
virtual]

Creates a gravity affector.


This affector modifies the direction of the particle. It assumes that the particle is fired out of the emitter
with huge force, but is loosing this after some time and is catched by the gravity then. This affector is ideal
for creating things like fountains.

Parameters:
gravity: Direction and force of gravity.
timeForceLost: Time in milli seconds when the force of the emitter is totally lost and the particle does
not move any more. This is the time where gravity fully affects the particle.

Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.

7.77.3.8 virtual IParticleMeshEmitter∗ irr::scene::IParticleSystemSceneNode::createMesh-


Emitter (scene::IMesh ∗ mesh, bool useNormalDirection = true, const core::vector3df &
direction = core::vector3df(0.0f, 0.0f, 0.0f), f32 normalDirectionModifier =
100.0f, s32 mbNumber = -1, bool everyMeshVertex = false, u32 minParticlesPerSecond
= 5, u32 maxParticlesPerSecond = 10, const video::SColor & minStartColor =
video::SColor(255, 0, 0, 0), const video::SColor & maxStartColor =
video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000, u32 lifeTimeMax
= 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a mesh particle emitter.

Parameters:
mesh: Pointer to mesh to emit particles from
useNormalDirection: If true, the direction of each particle created will be the normal of the vertex
that it’s emitting from. The normal is divided by the normalDirectionModifier parameter, which
defaults to 100.0f.
direction: Direction and speed of particle emission.
normalDirectionModifier: If the emitter is using the normal direction then the normal of the vertex
that is being emitted from is divided by this number.
mbNumber: This allows you to specify a specific meshBuffer for the IMesh∗ to emit particles from.
The default value is -1, which means a random meshBuffer picked from all of the meshes mesh-
Buffers will be selected to pick a random vertex from. If the value is 0 or greater, it will only
pick random vertices from the meshBuffer specified by this value.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.77 irr::scene::IParticleSystemSceneNode Class Reference 447

everyMeshVertex: If true, the emitter will emit between min/max particles every second, for every
vertex in the mesh, if false, it will emit between min/max particles from random vertices in the
mesh.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

7.77.3.9 virtual IParticlePointEmitter∗ irr::scene::IParticleSystemSceneNode::createPointEmitter


(const core::vector3df & direction = core::vector3df(0.0f, 0.03f, 0.0f),
u32 minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10, const video::SColor
& minStartColor = video::SColor(255, 0, 0, 0), const video::SColor &
maxStartColor = video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000,
u32 lifeTimeMax = 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a point particle emitter.

Parameters:
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


448 Irrlicht Engine Class Documentation

7.77.3.10 virtual IParticleRingEmitter∗ irr::scene::IParticleSystemSceneNode::createRing-


Emitter (const core::vector3df & center, f32 radius, f32 ringThickness, const
core::vector3df & direction = core::vector3df(0.0f, 0.03f, 0.0f), u32
minParticlesPerSecond = 5, u32 maxParticlesPerSecond = 10, const video::SColor
& minStartColor = video::SColor(255, 0, 0, 0), const video::SColor &
maxStartColor = video::SColor(255, 255, 255, 255), u32 lifeTimeMin =
2000, u32 lifeTimeMax = 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a ring particle emitter.

Parameters:
center: Center of ring
radius: Distance of points from center, points will be rotated around the Y axis at a random 360
degrees and will then be shifted by the provided ringThickness values in each axis.
ringThickness : thickness of the ring or how wide the ring is
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

7.77.3.11 virtual IParticleRotationAffector∗ irr::scene::IParticleSystemScene-


Node::createRotationAffector (const core::vector3df & speed =
core::vector3df(5.0f, 5.0f, 5.0f), const core::vector3df & pivotPoint =
core::vector3df(0.0f, 0.0f, 0.0f)) [pure virtual]

Creates a rotation affector.


This affector modifies the positions of the particles and attracts them to a specified point at a specified
speed per second.

Parameters:
speed: Rotation in degrees per second
pivotPoint: Point to rotate the particles around

Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.77 irr::scene::IParticleSystemSceneNode Class Reference 449

7.77.3.12 virtual IParticleSphereEmitter∗ irr::scene::IParticleSystemSceneNode::create-


SphereEmitter (const core::vector3df & center, f32 radius, const core::vector3df &
direction = core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond
= 5, u32 maxParticlesPerSecond = 10, const video::SColor & minStartColor =
video::SColor(255, 0, 0, 0), const video::SColor & maxStartColor =
video::SColor(255, 255, 255, 255), u32 lifeTimeMin = 2000, u32
lifeTimeMax = 4000, s32 maxAngleDegrees = 0) [pure virtual]

Creates a sphere particle emitter.

Parameters:
center: Center of sphere
radius: Radius of sphere
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.

Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.

7.77.3.13 virtual void irr::scene::IParticleSystemSceneNode::removeAllAffectors () [pure


virtual]

Removes all particle affectors in the particle system.

7.77.3.14 virtual void irr::scene::IParticleSystemSceneNode::setEmitter (IParticleEmitter ∗


emitter) [pure virtual]

Sets the particle emitter, which creates the particles.


A particle emitter can be created using one of the methods. For example to create and use a simple Point-
Emitter, call IParticleEmitter∗ p = createPointEmitter(); setEmitter(p); p->drop();

Parameters:
emitter: Sets the particle emitter. You can set this to 0 for removing the current emitter and stopping
the particle system emitting new particles.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


450 Irrlicht Engine Class Documentation

7.77.3.15 virtual void irr::scene::IParticleSystemSceneNode::setParticlesAreGlobal (bool global)


[pure virtual]

Sets if the particles should be global.


If it is, the particles are affected by the movement of the particle system scene node too, otherwise they
completely ignore it. Default is true.

7.77.3.16 virtual void irr::scene::IParticleSystemSceneNode::setParticleSize (const


core::dimension2d< f32 > & size = core::dimension2d< f32 >(5.0f, 5.0f))
[pure virtual]

Sets the size of all particles.


The documentation for this class was generated from the following file:

• IParticleSystemSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.78 irr::scene::IQ3LevelMesh Class Reference 451

7.78 irr::scene::IQ3LevelMesh Class Reference

Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
#include <IQ3LevelMesh.h>
Inheritance diagram for irr::scene::IQ3LevelMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::IQ3LevelMesh

Public Member Functions

• virtual const quake3::tQ3EntityList & getEntityList ()=0


get’s an interface to the entities

• virtual const quake3::SShader ∗ getShader (u32 index) const =0


returns a already loaded Shader

• virtual const quake3::SShader ∗ getShader (const c8 ∗filename, s32 fileNameIsValid)=0


loads the shader definition

• virtual void releaseMesh (s32 index)=0


releases a Mesh from the Q3 Loader

7.78.1 Detailed Description

Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
The Mesh tries to load all textures of the map. There are currently no additional methods in this class, but
maybe there will be some in later releases if there are feature requests.
Definition at line 19 of file IQ3LevelMesh.h.

7.78.2 Member Function Documentation

7.78.2.1 virtual const quake3::tQ3EntityList& irr::scene::IQ3LevelMesh::getEntityList ()


[pure virtual]

get’s an interface to the entities

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


452 Irrlicht Engine Class Documentation

7.78.2.2 virtual const quake3::SShader∗ irr::scene::IQ3LevelMesh::getShader (u32 index) const


[pure virtual]

returns a already loaded Shader

7.78.2.3 virtual const quake3::SShader∗ irr::scene::IQ3LevelMesh::getShader (const c8 ∗


filename, s32 fileNameIsValid) [pure virtual]

loads the shader definition


Either from file ( we assume /scripts on fileNameIsValid == 0 )

7.78.2.4 virtual void irr::scene::IQ3LevelMesh::releaseMesh (s32 index) [pure virtual]

releases a Mesh from the Q3 Loader


The documentation for this class was generated from the following file:

• IQ3LevelMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.79 irr::io::IReadFile Class Reference 453

7.79 irr::io::IReadFile Class Reference


Interface providing read acess to a file.
#include <IReadFile.h>
Inheritance diagram for irr::io::IReadFile::

irr::IReferenceCounted

irr::io::IReadFile

Public Member Functions

• virtual const c8 ∗ getFileName () const =0


Get name of file.

• virtual long getPos () const =0


Get the current position in the file.

• virtual long getSize () const =0


Get size of file.

• virtual s32 read (void ∗buffer, u32 sizeToRead)=0


Reads an amount of bytes from the file.

• virtual bool seek (long finalPos, bool relativeMovement=false)=0


Changes position in file.

• virtual ∼IReadFile ()
Destructor.

7.79.1 Detailed Description

Interface providing read acess to a file.


Definition at line 16 of file IReadFile.h.

7.79.2 Constructor & Destructor Documentation

7.79.2.1 virtual irr::io::IReadFile::∼IReadFile () [inline, virtual]

Destructor.
Definition at line 20 of file IReadFile.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


454 Irrlicht Engine Class Documentation

7.79.3 Member Function Documentation

7.79.3.1 virtual const c8∗ irr::io::IReadFile::getFileName () const [pure virtual]

Get name of file.


Returns:
File name as zero terminated character string.

7.79.3.2 virtual long irr::io::IReadFile::getPos () const [pure virtual]

Get the current position in the file.

Returns:
Current position in the file in bytes.

7.79.3.3 virtual long irr::io::IReadFile::getSize () const [pure virtual]

Get size of file.


Returns:
Size of the file in bytes.

7.79.3.4 virtual s32 irr::io::IReadFile::read (void ∗ buffer, u32 sizeToRead) [pure virtual]

Reads an amount of bytes from the file.

Parameters:
buffer Pointer to buffer where to read bytes will be written to.
sizeToRead Amount of bytes to read from the file.

Returns:
How much bytes were read.

7.79.3.5 virtual bool irr::io::IReadFile::seek (long finalPos, bool relativeMovement = false)


[pure virtual]

Changes position in file.

Parameters:
finalPos: Destination position in the file.
relativeMovement: If set to true, the position in the file is changed relative to current position. Other-
wise the position is changed from beginning of file.

Returns:
True if successful, otherwise false.

The documentation for this class was generated from the following file:

• IReadFile.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.80 irr::IReferenceCounted Class Reference 455

7.80 irr::IReferenceCounted Class Reference


Base class of most objects of the Irrlicht Engine.
#include <IReferenceCounted.h>
Inheritance diagram for irr::IReferenceCounted::
irr::IReferenceCounted

irr::gui::ICursorControl

irr::gui::IGUIElementFactory

irr::gui::IGUIEnvironment

irr::gui::IGUIFont

irr::gui::IGUISpriteBank

irr::ILogger

irr::io::IAttributeExchangingObject

irr::io::IAttributes

irr::io::IFileList

irr::io::IFileSystem

irr::io::IReadFile

irr::io::IWriteFile

irr::io::IXMLWriter

irr::IOSOperator

irr::IrrlichtDevice

irr::ITimer

irr::scene::IAnimationEndCallBack

irr::scene::IMesh

irr::scene::IMeshBuffer

irr::scene::IMeshCache

irr::scene::IMeshLoader

irr::scene::IMeshManipulator

irr::scene::IMeshWriter

irr::scene::ISceneCollisionManager

irr::scene::ISceneManager

irr::scene::ISceneNodeAnimatorFactory

irr::scene::ISceneNodeFactory

irr::scene::ITriangleSelector

irr::scene::quake3::IShaderManager

irr::scene::quake3::SVarGroupList

irr::scene::SMD3Mesh

irr::scene::SMD3MeshBuffer

irr::scene::SMD3QuaterionTagList

irr::video::IImage

irr::video::IImageLoader

irr::video::IImageWriter

irr::video::IMaterialRenderer

irr::video::IShaderConstantSetCallBack

irr::video::ITexture

irr::video::IVideoDriver

irr::video::IVideoModeList

Public Member Functions


• bool drop () const
Drops the object. Decrements the reference counter by one.

• const c8 ∗ getDebugName () const


Returns the debug name of the object.

• s32 getReferenceCount () const


Get the reference count.

• void grab () const


Grabs the object. Increments the reference counter by one.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


456 Irrlicht Engine Class Documentation

• IReferenceCounted ()
Constructor.

• virtual ∼IReferenceCounted ()
Destructor.

Protected Member Functions

• void setDebugName (const c8 ∗newName)


Sets the debug name of the object.

7.80.1 Detailed Description

Base class of most objects of the Irrlicht Engine.


This class provides reference counting through the methods grab() and drop(). It also is able to store a debug
string for every instance of an object. Most objects of the Irrlicht Engine are derived from IReference-
Counted, and so they are reference counted.
When you create an object in the Irrlicht engine, calling a method which starts with ’create’, an object is
created, and you get a pointer to the new object. If you no longer need the object, you have to call drop().
This will destroy the object, if grab() was not called in another part of you program, because this part still
needs the object. Note, that you only need to call drop() to the object, if you created it, and the method had
a ’create’ in it.
A simple example:
If you want to create a texture, you may want to call an imaginable method IDriver::createTexture. You
call ITexture∗ texture = driver->createTexture(dimension2d<s32>(128, 128)); If you no longer need the
texture, call texture->drop().
If you want to load a texture, you may want to call imaginable method IDriver::loadTexture. You do
this like ITexture∗ texture = driver->loadTexture("example.jpg"); You will not have to drop the pointer
to the loaded texture, because the name of the method does not start with ’create’. The texture is stored
somewhere by the driver.
Definition at line 41 of file IReferenceCounted.h.

7.80.2 Constructor & Destructor Documentation

7.80.2.1 irr::IReferenceCounted::IReferenceCounted () [inline]

Constructor.
Definition at line 46 of file IReferenceCounted.h.

7.80.2.2 virtual irr::IReferenceCounted::∼IReferenceCounted () [inline, virtual]

Destructor.
Definition at line 52 of file IReferenceCounted.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.80 irr::IReferenceCounted Class Reference 457

7.80.3 Member Function Documentation

7.80.3.1 bool irr::IReferenceCounted::drop () const [inline]

Drops the object. Decrements the reference counter by one.


The IReferenceCounted class provides a basic reference counting mechanism with its methods grab() and
drop(). Most objects of the Irrlicht Engine are derived from IReferenceCounted, and so they are reference
counted.
When you create an object in the Irrlicht engine, calling a method which starts with ’create’, an object is
created, and you get a pointer to the new object. If you no longer need the object, you have to call drop().
This will destroy the object, if grab() was not called in another part of you program, because this part still
needs the object. Note, that you only need to call drop() to the object, if you created it, and the method had
a ’create’ in it.
A simple example:
If you want to create a texture, you may want to call an imaginable method IDriver::createTexture. You
call ITexture∗ texture = driver->createTexture(dimension2d<s32>(128, 128)); If you no longer need the
texture, call texture->drop(). If you want to load a texture, you may want to call imaginable method
IDriver::loadTexture. You do this like ITexture∗ texture = driver->loadTexture("example.jpg"); You will
not have to drop the pointer to the loaded texture, because the name of the method does not start with
’create’. The texture is stored somewhere by the driver.

Returns:
True, if the object was deleted.

Definition at line 116 of file IReferenceCounted.h.


References _IRR_DEBUG_BREAK_IF.
Referenced by irr::scene::ISceneNode::cloneMembers(), irr::scene::ISceneNode::setParent(),
irr::scene::ISceneNode::setTriangleSelector(), and irr::scene::ISceneNode::∼ISceneNode().

7.80.3.2 const c8∗ irr::IReferenceCounted::getDebugName () const [inline]

Returns the debug name of the object.


The Debugname may only be set and changed by the object itself. This method should only be used in
Debug mode.

Returns:
Returns a string, previously set by setDebugName();

Definition at line 142 of file IReferenceCounted.h.

7.80.3.3 s32 irr::IReferenceCounted::getReferenceCount () const [inline]

Get the reference count.

Returns:
Current value of the reference counter.

Definition at line 133 of file IReferenceCounted.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


458 Irrlicht Engine Class Documentation

7.80.3.4 void irr::IReferenceCounted::grab () const [inline]

Grabs the object. Increments the reference counter by one.


Someone who calls grab() to an object, should later also call drop() to it. If an object never gets as much
drop() as grab() calls, it will never be destroyed. The IReferenceCounted class provides a basic reference
counting mechanism with its methods grab() and drop(). Most objects of the Irrlicht Engine are derived
from IReferenceCounted, and so they are reference counted.
When you create an object in the Irrlicht engine, calling a method which starts with ’create’, an object is
created, and you get a pointer to the new object. If you no longer need the object, you have to call drop().
This will destroy the object, if grab() was not called in another part of you program, because this part still
needs the object. Note, that you only need to call drop() to the object, if you created it, and the method had
a ’create’ in it.
A simple example:
If you want to create a texture, you may want to call an imaginable method IDriver::createTexture. You
call ITexture∗ texture = driver->createTexture(dimension2d<s32>(128, 128)); If you no longer need the
texture, call texture->drop(). If you want to load a texture, you may want to call imaginable method
IDriver::loadTexture. You do this like ITexture∗ texture = driver->loadTexture("example.jpg"); You will
not have to drop the pointer to the loaded texture, because the name of the method does not start with
’create’. The texture is stored somewhere by the driver.
Definition at line 86 of file IReferenceCounted.h.
Referenced by irr::scene::ISceneNode::setParent(), and irr::scene::ISceneNode::setTriangleSelector().

7.80.3.5 void irr::IReferenceCounted::setDebugName (const c8 ∗ newName) [inline,


protected]

Sets the debug name of the object.


The Debugname may only be set and changed by the object itself. This method should only be used in
Debug mode.

Parameters:
newName: New debug name to set.

Definition at line 153 of file IReferenceCounted.h.


Referenced by irr::scene::CMeshBuffer< T >::CMeshBuffer(), irr::gui::IGUIElement::IGUIElement(),
irr::scene::SAnimatedMesh::SAnimatedMesh(), irr::scene::SMesh::SMesh(), irr::scene::SSharedMesh-
Buffer::SSharedMeshBuffer(), and irr::scene::SSkinMeshBuffer::SSkinMeshBuffer().
The documentation for this class was generated from the following file:

• IReferenceCounted.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.81 irr::core::irrAllocator< T > Class Template Reference 459

7.81 irr::core::irrAllocator< T > Class Template Reference

Very simple allocator implementation, containers using it can be used across dll boundaries.
#include <irrAllocator.h>

Public Member Functions

• T ∗ allocate (size_t cnt)


Allocate memory for an array of objects.

• void construct (T ∗ptr, const T &e)


Construct an element.

• void deallocate (T ∗ptr)


Deallocate memory for an array of objects.

• void destruct (T ∗ptr)


Destruct an element.

• virtual ∼irrAllocator ()
Destructor.

Protected Member Functions

• virtual void internal_delete (void ∗ptr)


• virtual void ∗ internal_new (size_t cnt)

7.81.1 Detailed Description

template<typename T> class irr::core::irrAllocator< T >

Very simple allocator implementation, containers using it can be used across dll boundaries.
Definition at line 24 of file irrAllocator.h.

7.81.2 Constructor & Destructor Documentation

7.81.2.1 template<typename T> virtual irr::core::irrAllocator< T >::∼irrAllocator ()


[inline, virtual]

Destructor.
Definition at line 29 of file irrAllocator.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


460 Irrlicht Engine Class Documentation

7.81.3 Member Function Documentation

7.81.3.1 template<typename T> T∗ irr::core::irrAllocator< T >::allocate (size_t cnt)


[inline]

Allocate memory for an array of objects.


Definition at line 32 of file irrAllocator.h.

7.81.3.2 template<typename T> void irr::core::irrAllocator< T >::construct (T ∗ ptr, const T &


e) [inline]

Construct an element.
Definition at line 44 of file irrAllocator.h.

7.81.3.3 template<typename T> void irr::core::irrAllocator< T >::deallocate (T ∗ ptr)


[inline]

Deallocate memory for an array of objects.


Definition at line 38 of file irrAllocator.h.

7.81.3.4 template<typename T> void irr::core::irrAllocator< T >::destruct (T ∗ ptr)


[inline]

Destruct an element.
Definition at line 50 of file irrAllocator.h.

7.81.3.5 template<typename T> virtual void irr::core::irrAllocator< T >::internal_delete (void ∗


ptr) [inline, protected, virtual]

Definition at line 62 of file irrAllocator.h.


Referenced by irr::core::irrAllocator< IMesh ∗ >::deallocate().

7.81.3.6 template<typename T> virtual void∗ irr::core::irrAllocator< T >::internal_new (size_t


cnt) [inline, protected, virtual]

Definition at line 57 of file irrAllocator.h.


Referenced by irr::core::irrAllocator< IMesh ∗ >::allocate().
The documentation for this class was generated from the following file:

• irrAllocator.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.82 irr::core::irrAllocatorFast< T > Class Template Reference 461

7.82 irr::core::irrAllocatorFast< T > Class Template Reference


Fast allocator, only to be used in containers inside the same memory heap.
#include <irrAllocator.h>

Public Member Functions


• T ∗ allocate (size_t cnt)
Allocate memory for an array of objects.

• void construct (T ∗ptr, const T &e)


Construct an element.

• void deallocate (T ∗ptr)


Deallocate memory for an array of objects.

• void destruct (T ∗ptr)


Destruct an element.

7.82.1 Detailed Description

template<typename T> class irr::core::irrAllocatorFast< T >

Fast allocator, only to be used in containers inside the same memory heap.
Containers using it are NOT able to be used it across dll boundaries. Use this when using in an internal
class or function or when compiled into a static lib
Definition at line 74 of file irrAllocator.h.

7.82.2 Member Function Documentation

7.82.2.1 template<typename T> T∗ irr::core::irrAllocatorFast< T >::allocate (size_t cnt)


[inline]

Allocate memory for an array of objects.


Definition at line 79 of file irrAllocator.h.

7.82.2.2 template<typename T> void irr::core::irrAllocatorFast< T >::construct (T ∗ ptr, const


T & e) [inline]

Construct an element.
Definition at line 91 of file irrAllocator.h.

7.82.2.3 template<typename T> void irr::core::irrAllocatorFast< T >::deallocate (T ∗ ptr)


[inline]

Deallocate memory for an array of objects.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


462 Irrlicht Engine Class Documentation

Definition at line 85 of file irrAllocator.h.

7.82.2.4 template<typename T> void irr::core::irrAllocatorFast< T >::destruct (T ∗ ptr)


[inline]

Destruct an element.
Definition at line 97 of file irrAllocator.h.
The documentation for this class was generated from the following file:

• irrAllocator.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.83 irr::IrrlichtDevice Class Reference 463

7.83 irr::IrrlichtDevice Class Reference


The Irrlicht device. You can create it with createDevice() or createDeviceEx().
#include <IrrlichtDevice.h>
Inheritance diagram for irr::IrrlichtDevice::

irr::IReferenceCounted

irr::IrrlichtDevice

Public Member Functions


• virtual void closeDevice ()=0
Notifies the device that it should close itself.

• virtual gui::ICursorControl ∗ getCursorControl ()=0


Provides access to the cursor control.

• virtual IEventReceiver ∗ getEventReceiver ()=0


Provides access to the current event receiver.

• virtual io::IFileSystem ∗ getFileSystem ()=0


Provides access to the virtual file system.

• virtual gui::IGUIEnvironment ∗ getGUIEnvironment ()=0


Provides access to the 2d user interface environment.

• virtual ILogger ∗ getLogger ()=0


Provides access to the message logger.

• virtual IOSOperator ∗ getOSOperator ()=0


Provides access to the operation system operator object.

• virtual scene::ISceneManager ∗ getSceneManager ()=0


Provides access to the scene manager.

• virtual ITimer ∗ getTimer ()=0


Provides access to the engine’s timer.

• virtual const c8 ∗ getVersion () const =0


Get the version of the engine.

• virtual video::IVideoDriver ∗ getVideoDriver ()=0


Provides access to the video driver for drawing 3d and 2d geometry.

• virtual video::IVideoModeList ∗ getVideoModeList ()=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


464 Irrlicht Engine Class Documentation

Gets a list with all video modes available.

• virtual bool isWindowActive () const =0


Returns if the window is active.

• virtual void postEventFromUser (const SEvent &event)=0


Sends a user created event to the engine.

• virtual bool run ()=0


Runs the device.

• virtual void setEventReceiver (IEventReceiver ∗receiver)=0


Sets a new event receiver to receive events.

• virtual void setInputReceivingSceneManager (scene::ISceneManager ∗sceneManager)=0


Sets the input receiving scene manager.

• virtual void setResizeAble (bool resize=false)=0


Sets if the window should be resizeable in windowed mode.

• virtual void setWindowCaption (const wchar_t ∗text)=0


Sets the caption of the window.

• virtual void sleep (u32 timeMs, bool pauseTimer=false)=0


Pause execution and let other processes to run for a specified amount of time.

• virtual void yield ()=0


Cause the device to temporarily pause execution and let other processes run.

• virtual ∼IrrlichtDevice ()
Destructor.

7.83.1 Detailed Description

The Irrlicht device. You can create it with createDevice() or createDeviceEx().


This is the most important class of the Irrlicht Engine. You can access everything in the engine if you have
a pointer to an instance of this class. There should be only one instance of this class at any time.
Definition at line 40 of file IrrlichtDevice.h.

7.83.2 Constructor & Destructor Documentation

7.83.2.1 virtual irr::IrrlichtDevice::∼IrrlichtDevice () [inline, virtual]

Destructor.
Definition at line 45 of file IrrlichtDevice.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.83 irr::IrrlichtDevice Class Reference 465

7.83.3 Member Function Documentation

7.83.3.1 virtual void irr::IrrlichtDevice::closeDevice () [pure virtual]

Notifies the device that it should close itself.


IrrlichtDevice::run() will always return false after closeDevice() was called.

7.83.3.2 virtual gui::ICursorControl∗ irr::IrrlichtDevice::getCursorControl () [pure


virtual]

Provides access to the cursor control.

Returns:
Pointer to the mouse cursor control interface.

7.83.3.3 virtual IEventReceiver∗ irr::IrrlichtDevice::getEventReceiver () [pure virtual]

Provides access to the current event receiver.

Returns:
Pointer to the current event receiver. Returns 0 if there is none.

7.83.3.4 virtual io::IFileSystem∗ irr::IrrlichtDevice::getFileSystem () [pure virtual]

Provides access to the virtual file system.

Returns:
Pointer to the file system.

7.83.3.5 virtual gui::IGUIEnvironment∗ irr::IrrlichtDevice::getGUIEnvironment () [pure


virtual]

Provides access to the 2d user interface environment.

Returns:
Pointer to the gui environment.

7.83.3.6 virtual ILogger∗ irr::IrrlichtDevice::getLogger () [pure virtual]

Provides access to the message logger.

Returns:
Pointer to the logger.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


466 Irrlicht Engine Class Documentation

7.83.3.7 virtual IOSOperator∗ irr::IrrlichtDevice::getOSOperator () [pure virtual]

Provides access to the operation system operator object.


The OS operator provides methods for getting system specific informations and doing system specific
operations, such as exchanging data with the clipboard or reading the operation system version.

Returns:
Pointer to the OS operator.

7.83.3.8 virtual scene::ISceneManager∗ irr::IrrlichtDevice::getSceneManager () [pure


virtual]

Provides access to the scene manager.

Returns:
Pointer to the scene manager.

7.83.3.9 virtual ITimer∗ irr::IrrlichtDevice::getTimer () [pure virtual]

Provides access to the engine’s timer.


The system time can be retrieved by it as well as the virtual time, which also can be manipulated.

Returns:
Pointer to the ITimer object.

7.83.3.10 virtual const c8∗ irr::IrrlichtDevice::getVersion () const [pure virtual]

Get the version of the engine.


The returned string will look like this: "1.2.3" or this: "1.2".

Returns:
String which contains the version.

7.83.3.11 virtual video::IVideoDriver∗ irr::IrrlichtDevice::getVideoDriver () [pure virtual]

Provides access to the video driver for drawing 3d and 2d geometry.

Returns:
Pointer the video driver.

7.83.3.12 virtual video::IVideoModeList∗ irr::IrrlichtDevice::getVideoModeList () [pure


virtual]

Gets a list with all video modes available.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.83 irr::IrrlichtDevice Class Reference 467

If you are confused now, because you think you have to create an Irrlicht Device with a video mode before
being able to get the video mode list, let me tell you that there is no need to start up an Irrlicht Device with
EDT_DIRECT3D8, EDT_OPENGL or EDT_SOFTWARE: For this (and for lots of other reasons) the null
driver, EDT_NULL exists.

Returns:
Pointer to a list with all video modes supported by the gfx adapter.

7.83.3.13 virtual bool irr::IrrlichtDevice::isWindowActive () const [pure virtual]

Returns if the window is active.


If the window is inactive, nothing needs to be drawn. So if you don’t want to draw anything when the
window is inactive, create your drawing loop this way:

while(device->run())
{
if (device->isWindowActive())
{
// draw everything here
}
else
device->yield();
}

Returns:
True if window is active.

7.83.3.14 virtual void irr::IrrlichtDevice::postEventFromUser (const SEvent & event) [pure


virtual]

Sends a user created event to the engine.


Is is usually not necessary to use this. However, if you are using an own input library for example for doing
joystick input, you can use this to post key or mouse input events to the engine. Internally, this method
only delegates the events further to the scene manager and the GUI environment.

7.83.3.15 virtual bool irr::IrrlichtDevice::run () [pure virtual]

Runs the device.


Also increments the virtual timer by calling ITimer::tick();. You can prevent this by calling ITimer::stop();
before and ITimer::start() after calling IrrlichtDevice::run(). Returns false if device wants to be deleted.
Use it in this way:

while(device->run())
{
// draw everything here
}

If you want the device to do nothing if the window is inactive (recommended), use the slightly enhanced
code shown at isWindowActive().
Note if you are running Irrlicht inside an external, custom created window: Calling Device->run() will
cause Irrlicht to dispatch windows messages internally. If you are running Irrlicht in your own custom

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


468 Irrlicht Engine Class Documentation

window, you can also simply use your own message loop using GetMessage, DispatchMessage and what-
ever and simply don’t use this method. But note that Irrlicht will not be able to fetch user input then. See
irr::SIrrlichtCreationParameters::WindowId for more informations and example code.

7.83.3.16 virtual void irr::IrrlichtDevice::setEventReceiver (IEventReceiver ∗ receiver) [pure


virtual]

Sets a new event receiver to receive events.

Parameters:
receiver New receiver to be used.

7.83.3.17 virtual void irr::IrrlichtDevice::setInputReceivingSceneManager


(scene::ISceneManager ∗ sceneManager) [pure virtual]

Sets the input receiving scene manager.


If set to null, the main scene manager (returned by GetSceneManager()) will receive the input

Parameters:
sceneManager New scene manager to be used.

7.83.3.18 virtual void irr::IrrlichtDevice::setResizeAble (bool resize = false) [pure


virtual]

Sets if the window should be resizeable in windowed mode.


The default is false. This method only works in windowed mode.

Parameters:
resize Flag whether the window should be resizeable.

7.83.3.19 virtual void irr::IrrlichtDevice::setWindowCaption (const wchar_t ∗ text) [pure


virtual]

Sets the caption of the window.

Parameters:
text: New text of the window caption.

7.83.3.20 virtual void irr::IrrlichtDevice::sleep (u32 timeMs, bool pauseTimer = false) [pure
virtual]

Pause execution and let other processes to run for a specified amount of time.
It may not wait the full given time, as sleep may be interrupted

Parameters:
timeMs: Time to sleep for in milisecs.
pauseTimer: If true, pauses the device timer while sleeping

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.83 irr::IrrlichtDevice Class Reference 469

7.83.3.21 virtual void irr::IrrlichtDevice::yield () [pure virtual]

Cause the device to temporarily pause execution and let other processes run.
This should bring down processor usage without major performance loss for Irrlicht
The documentation for this class was generated from the following file:

• IrrlichtDevice.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


470 Irrlicht Engine Class Documentation

7.84 irr::scene::ISceneCollisionManager Class Reference


The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.
#include <ISceneCollisionManager.h>
Inheritance diagram for irr::scene::ISceneCollisionManager::

irr::IReferenceCounted

irr::scene::ISceneCollisionManager

Public Member Functions


• virtual bool getCollisionPoint (const core::line3d< f32 > &ray, ITriangleSelector ∗selector,
core::vector3df &outCollisionPoint, core::triangle3df &outTriangle)=0
Finds the collision point of a line and lots of triangles, if there is one.

• virtual core::vector3df getCollisionResultPosition (ITriangleSelector ∗selector, const core::vector3df


&ellipsoidPosition, const core::vector3df &ellipsoidRadius, const core::vector3df &ellipsoid-
DirectionAndSpeed, core::triangle3df &triout, bool &outFalling, f32 slidingSpeed=0.0005f, const
core::vector3df &gravityDirectionAndSpeed=core::vector3df(0.0f, 0.0f, 0.0f))=0
Collides a moving ellipsoid with a 3d world with gravity and returns the resulting new position of the
ellipsoid.

• virtual core::line3d< f32 > getRayFromScreenCoordinates (core::position2d< s32 > pos, ICamera-
SceneNode ∗camera=0)=0
Returns a 3d ray which would go through the 2d screen coodinates.

• virtual ISceneNode ∗ getSceneNodeFromCameraBB (ICameraSceneNode ∗camera, s32 idBit-


Mask=0, bool bNoDebugObjects=false)=0
Get the scene node, which the overgiven camera is looking at and whose id matches the bitmask.

• virtual ISceneNode ∗ getSceneNodeFromRayBB (core::line3d< f32 > ray, s32 idBitMask=0, bool
bNoDebugObjects=false)=0
Get the nearest scene node which collides with a 3d ray and whose id matches a bitmask.

• virtual ISceneNode ∗ getSceneNodeFromScreenCoordinatesBB (core::position2d< s32 > pos, s32


idBitMask=0, bool bNoDebugObjects=false)=0
Gets the scene node, which is currently visible under the given screencoordinates, viewed from the currently
active camera.

• virtual core::position2d< s32 > getScreenCoordinatesFrom3DPosition (core::vector3df pos,


ICameraSceneNode ∗camera=0)=0
Calculates 2d screen position from a 3d position.

• virtual ∼ISceneCollisionManager ()
Destructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.84 irr::scene::ISceneCollisionManager Class Reference 471

7.84.1 Detailed Description

The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.
Definition at line 24 of file ISceneCollisionManager.h.

7.84.2 Constructor & Destructor Documentation

7.84.2.1 virtual irr::scene::ISceneCollisionManager::∼ISceneCollisionManager () [inline,


virtual]

Destructor.
Definition at line 29 of file ISceneCollisionManager.h.

7.84.3 Member Function Documentation

7.84.3.1 virtual bool irr::scene::ISceneCollisionManager::getCollisionPoint (const core::line3d<


f32 > & ray, ITriangleSelector ∗ selector, core::vector3df & outCollisionPoint,
core::triangle3df & outTriangle) [pure virtual]

Finds the collision point of a line and lots of triangles, if there is one.

Parameters:
ray: Line with witch collisions are tested.
selector: TriangleSelector containing the triangles. It can be created for example using IScene-
Manager::createTriangleSelector() or ISceneManager::createTriangleOctTreeSelector().
outCollisionPoint: If a collision is detected, this will contain the position of the nearest collision.
outTriangle: If a collision is detected, this will contain the triangle with which the ray collided.

Returns:
True if a collision was detected and false if not.

7.84.3.2 virtual core::vector3df irr::scene::ISceneCollisionManager::getCollisionResultPosition


(ITriangleSelector ∗ selector, const core::vector3df & ellipsoidPosition,
const core::vector3df & ellipsoidRadius, const core::vector3df &
ellipsoidDirectionAndSpeed, core::triangle3df & triout, bool & outFalling, f32
slidingSpeed = 0.0005f, const core::vector3df & gravityDirectionAndSpeed =
core::vector3df(0.0f, 0.0f, 0.0f)) [pure virtual]

Collides a moving ellipsoid with a 3d world with gravity and returns the resulting new position of the
ellipsoid.
This can be used for moving a character in a 3d world: The character will slide at walls and is able to walk
up stairs. The method used how to calculate the collision result position is based on the paper "Improved
Collision detection and Response" by Kasper Fauerby.

Parameters:
selector: TriangleSelector containing the triangles of the world. It can be created for example using
ISceneManager::createTriangleSelector() or ISceneManager::createTriangleOctTreeSelector().
ellipsoidPosition: Position of the ellipsoid.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


472 Irrlicht Engine Class Documentation

ellipsoidRadius: Radius of the ellipsoid.


ellipsoidDirectionAndSpeed: Direction and speed of the movement of the ellipsoid.
triout: Optional parameter where the last triangle causing a collision is stored, if there is a collision.
outFalling: Is set to true if the ellipsoid is falling down, caused by gravity.
slidingSpeed: DOCUMENTATION NEEDED.
gravityDirectionAndSpeed: Direction and force of gravity.

Returns:
New position of the ellipsoid.

7.84.3.3 virtual core::line3d<f32> irr::scene::ISceneCollisionManager::getRayFromScreen-


Coordinates (core::position2d< s32 > pos, ICameraSceneNode ∗ camera = 0) [pure
virtual]

Returns a 3d ray which would go through the 2d screen coodinates.

Parameters:
pos: Screen coordinates in pixels.
camera: Camera from which the ray starts. If null, the active camera is used.

Returns:
Ray starting from the position of the camera and ending at a length of the far value of the camera at a
position which would be behind the 2d screen coodinates.

7.84.3.4 virtual ISceneNode∗ irr::scene::ISceneCollisionManager::getSceneNodeFromCameraBB


(ICameraSceneNode ∗ camera, s32 idBitMask = 0, bool bNoDebugObjects = false)
[pure virtual]

Get the scene node, which the overgiven camera is looking at and whose id matches the bitmask.
A ray is simply casted from the position of the camera to the view target position, and all scene nodes are
tested against this ray. The collision tests are done using a bounding box for each scene node.

Parameters:
camera: Camera from which the ray is casted.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.

Returns:
Scene node nearest to the camera, which collides with the ray and matches the idBitMask, if the mask
is not null. If no scene node is found, 0 is returned.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.84 irr::scene::ISceneCollisionManager Class Reference 473

7.84.3.5 virtual ISceneNode∗ irr::scene::ISceneCollisionManager::getSceneNodeFromRayBB


(core::line3d< f32 > ray, s32 idBitMask = 0, bool bNoDebugObjects = false) [pure
virtual]

Get the nearest scene node which collides with a 3d ray and whose id matches a bitmask.
The collision tests are done using a bounding box for each scene node.

Parameters:
ray: Line with witch collisions are tested.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.

Returns:
Scene node nearest to ray.start, which collides with the ray and matches the idBitMask, if the mask is
not null. If no scene node is found, 0 is returned.

7.84.3.6 virtual ISceneNode∗ irr::scene::ISceneCollisionManager::getSceneNodeFromScreen-


CoordinatesBB (core::position2d< s32 > pos, s32 idBitMask = 0, bool bNoDebugObjects =
false) [pure virtual]

Gets the scene node, which is currently visible under the given screencoordinates, viewed from the cur-
rently active camera.
The collision tests are done using a bounding box for each scene node.

Parameters:
pos: Position in pixel screen coordinates, under which the returned scene node will be.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.

Returns:
Visible scene node under screen coordinates with matching bits in its id. If there is no scene node
under this position, 0 is returned.

7.84.3.7 virtual core::position2d<s32> irr::scene::ISceneCollisionManager::getScreen-


CoordinatesFrom3DPosition (core::vector3df pos, ICameraSceneNode ∗ camera = 0)
[pure virtual]

Calculates 2d screen position from a 3d position.

Parameters:
pos: 3D position in world space to be transformed into 2d.
camera: Camera to be used. If null, the currently active camera is used.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


474 Irrlicht Engine Class Documentation

Returns:
2d screen coordinates which a object in the 3d world would have if it would be rendered to the screen.
If the 3d position is behind the camera, it is set to (-10000,-10000). In most cases you can ignore this
fact, because if you use this method for drawing a decorator over a 3d object, it will be clipped by the
screen borders.

The documentation for this class was generated from the following file:

• ISceneCollisionManager.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 475

7.85 irr::scene::ISceneManager Class Reference


The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
#include <ISceneManager.h>
Inheritance diagram for irr::scene::ISceneManager::

irr::IReferenceCounted

irr::scene::ISceneManager

Public Member Functions


• virtual IAnimatedMeshSceneNode ∗ addAnimatedMeshSceneNode (IAnimatedMesh ∗mesh,
ISceneNode ∗parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0,
0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df
&scale=core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering an animated mesh model.

• virtual IAnimatedMesh ∗ addArrowMesh (const c8 ∗name, video::SColor vtxColor0=0xFFFFFFFF,


video::SColor vtxColor1=0xFFFFFFFF, u32 tesselationCylinder=4, u32 tesselationCone=8, f32
height=1.f, f32 cylinderHeight=0.6f, f32 width0=0.05f, f32 width1=0.3f)=0
add a static arrow mesh to the meshpool

• virtual IBillboardSceneNode ∗ addBillboardSceneNode (ISceneNode ∗parent=0, const


core::dimension2d< f32 > &size=core::dimension2d< f32 >(10.0f, 10.0f), const core::vector3df
&position=core::vector3df(0, 0, 0), s32 id=-1, video::SColor shade_top=0xFFFFFFFF,
video::SColor shade_down=0xFFFFFFFF)=0
Adds a billboard scene node to the scene graph.

• virtual ITextSceneNode ∗ addBillboardTextSceneNode (gui::IGUIFont ∗font, const wchar_t ∗text,


ISceneNode ∗parent=0, const core::dimension2d< f32 > &size=core::dimension2d< f32 >(10.0f,
10.0f), const core::vector3df &position=core::vector3df(0, 0, 0), s32 id=-1, video::SColor shade_-
top=0xFFFFFFFF, video::SColor shade_down=0xFFFFFFFF)=0
Adds a text scene node, which uses billboards.

• virtual ICameraSceneNode ∗ addCameraSceneNode (ISceneNode ∗parent=0, const core::vector3df


&position=core::vector3df(0, 0, 0), const core::vector3df &lookat=core::vector3df(0, 0, 100), s32
id=-1)=0
Adds a camera scene node to the scene graph and sets it as active camera.

• virtual ICameraSceneNode ∗ addCameraSceneNodeFPS (ISceneNode ∗parent=0, f32 rotate-


Speed=100.0f, f32 moveSpeed=500.0f, s32 id=-1, SKeyMap ∗keyMapArray=0, s32 keyMapSize=0,
bool noVerticalMovement=false, f32 jumpSpeed=0.f)=0
Adds a camera scene node which is able to be controlled with the mouse and keys like in most first person
shooters (FPS).

• virtual ICameraSceneNode ∗ addCameraSceneNodeMaya (ISceneNode ∗parent=0, f32 rotate-


Speed=-1500.0f, f32 zoomSpeed=200.0f, f32 translationSpeed=1500.0f, s32 id=-1)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


476 Irrlicht Engine Class Documentation

Adds a maya style user controlled camera scene node to the scene graph.

• virtual ISceneNode ∗ addCubeSceneNode (f32 size=10.0f, ISceneNode ∗parent=0, s32 id=-


1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rota-
tion=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a test scene node for test purposes to the scene.

• virtual IDummyTransformationSceneNode ∗ addDummyTransformationSceneNode (ISceneNode


∗parent=0, s32 id=-1)=0
Adds a dummy transformation scene node to the scene graph.

• virtual ISceneNode ∗ addEmptySceneNode (ISceneNode ∗parent=0, s32 id=-1)=0


Adds an empty scene node to the scene graph.

• virtual void addExternalMeshLoader (IMeshLoader ∗externalLoader)=0


Adds an external mesh loader for extending the engine with new file formats.

• virtual IAnimatedMesh ∗ addHillPlaneMesh (const c8 ∗name, const core::dimension2d< f32 >


&tileSize, const core::dimension2d< u32 > &tileCount, video::SMaterial ∗material=0, f32 hill-
Height=0.0f, const core::dimension2d< f32 > &countHills=core::dimension2d< f32 >(0.0f, 0.0f),
const core::dimension2d< f32 > &textureRepeatCount=core::dimension2d< f32 >(1.0f, 1.0f))=0
Adds a Hill Plane mesh to the mesh pool.

• virtual ILightSceneNode ∗ addLightSceneNode (ISceneNode ∗parent=0, const core::vector3df


&position=core::vector3df(0, 0, 0), video::SColorf color=video::SColorf(1.0f, 1.0f, 1.0f), f32 ra-
dius=100.0f, s32 id=-1)=0
Adds a dynamic light scene node to the scene graph.

• virtual IMeshSceneNode ∗ addMeshSceneNode (IMesh ∗mesh, ISceneNode ∗parent=0, s32


id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rota-
tion=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), bool
alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering a static mesh.

• virtual ISceneNode ∗ addOctTreeSceneNode (IMesh ∗mesh, ISceneNode ∗parent=0, s32 id=-1, s32
minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octtree to the scene graph.

• virtual ISceneNode ∗ addOctTreeSceneNode (IAnimatedMesh ∗mesh, ISceneNode ∗parent=0, s32


id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octtree to the scene graph.

• virtual IParticleSystemSceneNode ∗ addParticleSystemSceneNode (bool withDefaultEmitter=true,


ISceneNode ∗parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0,
0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df
&scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a particle system scene node to the scene graph.

• virtual ISceneNode ∗ addQuake3SceneNode (IMeshBuffer ∗meshBuffer, const quake3::SShader


∗shader, ISceneNode ∗parent=0, s32 id=-1)=0
Adds a quake3 scene node to the scene graph.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 477

• virtual ISceneNode ∗ addSceneNode (const char ∗sceneNodeTypeName, ISceneNode


∗parent=0)=0
Adds a scene node to the scene by name.

• virtual ISceneNode ∗ addSkyBoxSceneNode (video::ITexture ∗top, video::ITexture ∗bottom,


video::ITexture ∗left, video::ITexture ∗right, video::ITexture ∗front, video::ITexture ∗back, IScene-
Node ∗parent=0, s32 id=-1)=0
Adds a skybox scene node to the scene graph.

• virtual ISceneNode ∗ addSkyDomeSceneNode (video::ITexture ∗texture, u32 horiRes, u32 vertRes,


f64 texturePercentage, f64 spherePercentage, ISceneNode ∗parent=0, s32 id=-1)=0
Adds a skydome scene node to the scene graph.

• virtual IAnimatedMesh ∗ addSphereMesh (const c8 ∗name, f32 radius=5.f, u32 polyCountX=16,


u32 polyCountY=16)=0
add a static sphere mesh to the meshpool

• virtual ISceneNode ∗ addSphereSceneNode (f32 radius=5.0f, s32 polyCount=16, ISceneNode


∗parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df
&rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f,
1.0f))=0
Adds a sphere scene node for test purposes to the scene.

• virtual IAnimatedMesh ∗ addTerrainMesh (const c8 ∗meshname, video::IImage ∗texture,


video::IImage ∗heightmap, const core::dimension2d< f32 > &stretchSize=core::dimension2d< f32
>(10.0f, 10.0f), f32 maxHeight=200.0f, const core::dimension2d< s32 > &defaultVertexBlock-
Size=core::dimension2d< s32 >(64, 64))=0
Adds a static terrain mesh to the mesh pool.

• virtual ITerrainSceneNode ∗ addTerrainSceneNode (io::IReadFile ∗heightMapFile, IScene-


Node ∗parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0.0f, 0.0f,
0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df
&scale=core::vector3df(1.0f, 1.0f, 1.0f), video::SColor vertexColor=video::SColor(255, 255, 255,
255), s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
bool addAlsoIfHeightmapEmpty=false)=0
Adds a terrain scene node to the scene graph.

• virtual ITerrainSceneNode ∗ addTerrainSceneNode (const c8 ∗heightMapFileName, IScene-


Node ∗parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0.0f, 0.0f,
0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df
&scale=core::vector3df(1.0f, 1.0f, 1.0f), video::SColor vertexColor=video::SColor(255, 255, 255,
255), s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
bool addAlsoIfHeightmapEmpty=false)=0
Adds a terrain scene node to the scene graph.

• virtual ITextSceneNode ∗ addTextSceneNode (gui::IGUIFont ∗font, const wchar_t ∗text,


video::SColor color=video::SColor(100, 255, 255, 255), ISceneNode ∗parent=0, const
core::vector3df &position=core::vector3df(0, 0, 0), s32 id=-1)=0
Adds a text scene node, which is able to display 2d text at a position in three dimensional space.

• virtual void addToDeletionQueue (ISceneNode ∗node)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


478 Irrlicht Engine Class Documentation

Adds a scene node to the deletion queue.

• virtual ISceneNode ∗ addWaterSurfaceSceneNode (IMesh ∗mesh, f32 waveHeight=2.0f, f32 wave-


Speed=300.0f, f32 waveLength=10.0f, ISceneNode ∗parent=0, s32 id=-1, const core::vector3df
&position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const
core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a scene node for rendering a animated water surface mesh.

• virtual void clear ()=0


Clears the whole scene.

• virtual ISceneNodeAnimatorCollisionResponse ∗ createCollisionResponseAnimator


(ITriangleSelector ∗world, ISceneNode ∗sceneNode, const core::vector3df &ellipsoid-
Radius=core::vector3df(30, 60, 30), const core::vector3df &gravityPerSecond=core::vector3df(0,-
100.0f, 0), const core::vector3df &ellipsoidTranslation=core::vector3df(0, 0, 0), f32 sliding-
Value=0.0005f)=0
Creates a special scene node animator for doing automatic collision detection and response.

• virtual ISceneNodeAnimator ∗ createDeleteAnimator (u32 timeMs)=0


Creates a scene node animator, which deletes the scene node after some time automatically.

• virtual ISceneNodeAnimator ∗ createFlyCircleAnimator (const core::vector3df &center, f32 radius,


f32 speed=0.001f, const core::vector3df &direction=core::vector3df(0.f, 1.f, 0.f))=0
Creates a fly circle animator, which lets the attached scene node fly around a center.

• virtual ISceneNodeAnimator ∗ createFlyStraightAnimator (const core::vector3df &startPoint, const


core::vector3df &endPoint, u32 timeForWay, bool loop=false)=0
Creates a fly straight animator, which lets the attached scene node fly or move along a line between two
points.

• virtual ISceneNodeAnimator ∗ createFollowSplineAnimator (s32 startTime, const core::array<


core::vector3df > &points, f32 speed=1.0f, f32 tightness=0.5f)=0
Creates a follow spline animator.

• virtual IMeshWriter ∗ createMeshWriter (EMESH_WRITER_TYPE type)=0


Returns a mesh writer implementation if available.

• virtual IMetaTriangleSelector ∗ createMetaTriangleSelector ()=0


Creates a meta triangle selector.

• virtual ISceneManager ∗ createNewSceneManager (bool cloneContent=false)=0


Creates a new scene manager.

• virtual ITriangleSelector ∗ createOctTreeTriangleSelector (IMesh ∗mesh, ISceneNode ∗node, s32


minimalPolysPerNode=32)=0
Creates a Triangle Selector, optimized by an octtree.

• virtual ISceneNodeAnimator ∗ createRotationAnimator (const core::vector3df &rotationPer-


Second)=0
Creates a rotation animator, which rotates the attached scene node around itself.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 479

• virtual ITriangleSelector ∗ createTerrainTriangleSelector (ITerrainSceneNode ∗node, s32


LOD=0)=0
Creates a triangle selector which can select triangles from a terrain scene node.

• virtual ISceneNodeAnimator ∗ createTextureAnimator (const core::array< video::ITexture ∗ >


&textures, s32 timePerFrame, bool loop=true)=0
Creates a texture animator, which switches the textures of the target scene node based on a list of textures.

• virtual ITriangleSelector ∗ createTriangleSelector (IMesh ∗mesh, ISceneNode ∗node)=0


Creates a simple ITriangleSelector, based on a mesh.

• virtual ITriangleSelector ∗ createTriangleSelectorFromBoundingBox (ISceneNode ∗node)=0


Creates a simple dynamic ITriangleSelector, based on a axis aligned bounding box.

• virtual void drawAll ()=0


Draws all the scene nodes.

• virtual ICameraSceneNode ∗ getActiveCamera ()=0


Get the current active camera.

• virtual const video::SColorf & getAmbientLight () const =0


Returns ambient color of the scene.

• virtual ISceneNodeAnimatorFactory ∗ getDefaultSceneNodeAnimatorFactory ()=0


Returns the default scene node animator factory which can create all built-in scene node animators.

• virtual ISceneNodeFactory ∗ getDefaultSceneNodeFactory ()=0


Returns the default scene node factory which can create all built in scene nodes.

• virtual gui::IGUIEnvironment ∗ getGUIEnvironment ()=0


Returns the active GUIEnvironment.

• virtual IAnimatedMesh ∗ getMesh (io::IReadFile ∗file)=0


Returns pointer to an animateable mesh. Loads the file if not loaded already.

• virtual IAnimatedMesh ∗ getMesh (const c8 ∗filename)=0


Returns pointer to an animateable mesh. Loads the file if not loaded already.

• virtual IMeshCache ∗ getMeshCache ()=0


Returns an interface to the mesh cache which is shared beween all existing scene managers.

• virtual IMeshManipulator ∗ getMeshManipulator ()=0


Returns a pointer to the mesh manipulator.

• virtual io::IAttributes ∗ getParameters ()=0


Returns interface to the parameters set in this scene.

• virtual u32 getRegisteredSceneNodeAnimatorFactoryCount () const =0


Returns amount of registered scene node animator factories.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


480 Irrlicht Engine Class Documentation

• virtual u32 getRegisteredSceneNodeFactoryCount () const =0


Returns amount of registered scene node factories.

• virtual ISceneNode ∗ getRootSceneNode ()=0


Returns the root scene node.

• virtual ISceneCollisionManager ∗ getSceneCollisionManager ()=0


Returns a pointer to the scene collision manager.

• virtual ISceneNodeAnimatorFactory ∗ getSceneNodeAnimatorFactory (u32 index)=0


Returns a scene node animator factory by index.

• virtual ISceneNodeFactory ∗ getSceneNodeFactory (u32 index)=0


Returns a scene node factory by index.

• virtual ISceneNode ∗ getSceneNodeFromId (s32 id, ISceneNode ∗start=0)=0


Returns the first scene node with the specified id.

• virtual ISceneNode ∗ getSceneNodeFromName (const c8 ∗name, ISceneNode ∗start=0)=0


Returns the first scene node with the specified name.

• virtual ISceneNode ∗ getSceneNodeFromType (scene::ESCENE_NODE_TYPE type, ISceneNode


∗start=0)=0
Returns the first scene node with the specified type.

• virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass () const =0


Returns current render pass.

• virtual void getSceneNodesFromType (ESCENE_NODE_TYPE type, core::array< scene::IScene-


Node ∗ > &outNodes, ISceneNode ∗start=0)=0
Get scene nodes by type.

• virtual const c8 ∗ getSceneNodeTypeName (ESCENE_NODE_TYPE type)=0


Returns a typename from a scene node type or null if not found.

• virtual video::SColor getShadowColor () const =0


Returns the current color of shadows.

• virtual video::IVideoDriver ∗ getVideoDriver ()=0


Returns the video driver.

• virtual bool loadScene (io::IReadFile ∗file, ISceneUserDataSerializer ∗userDataSerializer=0)=0


Loads a scene. Note that the current scene is not cleared before.

• virtual bool loadScene (const c8 ∗filename, ISceneUserDataSerializer ∗userDataSerializer=0)=0


Loads a scene. Note that the current scene is not cleared before.

• virtual bool postEventFromUser (const SEvent &event)=0


Posts an input event to the environment.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 481

• virtual u32 registerNodeForRendering (ISceneNode ∗node, E_SCENE_NODE_RENDER_PASS


pass=ESNRP_AUTOMATIC)=0
Registers a node for rendering it at a specific time.

• virtual void registerSceneNodeAnimatorFactory (ISceneNodeAnimatorFactory ∗factoryToAdd)=0


Adds a scene node animator factory to the scene manager.

• virtual void registerSceneNodeFactory (ISceneNodeFactory ∗factoryToAdd)=0


Adds a scene node factory to the scene manager.

• virtual bool saveScene (io::IWriteFile ∗file, ISceneUserDataSerializer ∗userDataSerializer=0)=0


Saves the current scene into a file.

• virtual bool saveScene (const c8 ∗filename, ISceneUserDataSerializer ∗userDataSerializer=0)=0


Saves the current scene into a file.

• virtual void setActiveCamera (ICameraSceneNode ∗camera)=0


Sets the currently active camera.

• virtual void setAmbientLight (const video::SColorf &ambientColor)=0


Sets ambient color of the scene.

• virtual void setShadowColor (video::SColor color=video::SColor(150, 0, 0, 0))=0


Sets the color of stencil buffers shadows drawn by the scene manager.

• virtual ∼ISceneManager ()
Destructor.

7.85.1 Detailed Description

The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
All Scene nodes can be created only here. There is a always growing list of scene nodes for lots of purposes:
Indoor rendering scene nodes like the Octree (addOctTreeSceneNode()) or the terrain renderer (addTerrain-
SceneNode()), different Camera scene nodes (addCameraSceneNode(), addCameraSceneNodeMaya()),
scene nodes for Light (addLightSceneNode()), Billboards (addBillboardSceneNode()) and so on. A scene
node is a node in the hierachical scene graph. Every scene node may have children, which are other scene
nodes. Children move relative the their parents position. If the parent of a node is not visible, its children
won’t be visible, too. In this way, it is for example easily possible to attach a light to a moving car or to
place a walking character on a moving platform on a moving ship. The SceneManager is also able to load
3d mesh files of different formats. Take a look at getMesh() to find out what formats are supported. And if
these formats are not enough use addExternalMeshLoader() to add new formats to the engine.
Definition at line 151 of file ISceneManager.h.

7.85.2 Constructor & Destructor Documentation

7.85.2.1 virtual irr::scene::ISceneManager::∼ISceneManager () [inline, virtual]

Destructor.
Definition at line 156 of file ISceneManager.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


482 Irrlicht Engine Class Documentation

7.85.3 Member Function Documentation

7.85.3.1 virtual IAnimatedMeshSceneNode∗ irr::scene::ISceneManager::addAnimatedMesh-


SceneNode (IAnimatedMesh ∗ mesh, ISceneNode ∗ parent = 0, s32 id = -1, const
core::vector3df & position = core::vector3df(0, 0, 0), const core::vector3df
& rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero = false)
[pure virtual]

Adds a scene node for rendering an animated mesh model.

Parameters:
mesh: Pointer to the loaded animated mesh to be displayed.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.

Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.2 virtual IAnimatedMesh∗ irr::scene::ISceneManager::addArrowMesh (const c8 ∗ name,


video::SColor vtxColor0 = 0xFFFFFFFF, video::SColor vtxColor1 = 0xFFFFFFFF, u32
tesselationCylinder = 4, u32 tesselationCone = 8, f32 height = 1.f, f32 cylinderHeight =
0.6f, f32 width0 = 0.05f, f32 width1 = 0.3f) [pure virtual]

add a static arrow mesh to the meshpool

7.85.3.3 virtual IBillboardSceneNode∗ irr::scene::ISceneManager::addBillboardSceneNode


(ISceneNode ∗ parent = 0, const core::dimension2d< f32 > & size =
core::dimension2d< f32 >(10.0f, 10.0f), const core::vector3df & position =
core::vector3df(0, 0, 0), s32 id = -1, video::SColor shade_top = 0xFFFFFFFF,
video::SColor shade_down = 0xFFFFFFFF) [pure virtual]

Adds a billboard scene node to the scene graph.


A billboard is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for things
like explosions, fire, lensflares and things like that.

Parameters:
parent: Parent scene node of the billboard. Can be null. If the parent moves, the billboard will move
too.
position: Position of the space relative to its parent where the billboard will be placed.
size: Size of the billboard. This size is 2 dimensional because a billboard only has width and height.
id: An id of the node. This id can be used to identify the node.
shade_top: vertex color top

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 483

shade_down: vertex color down

Returns:
Returns pointer to the billboard if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.85.3.4 virtual ITextSceneNode∗ irr::scene::ISceneManager::addBillboard-


TextSceneNode (gui::IGUIFont ∗ font, const wchar_t ∗ text,
ISceneNode ∗ parent = 0, const core::dimension2d< f32 > & size =
core::dimension2d< f32 >(10.0f, 10.0f), const core::vector3df & position =
core::vector3df(0, 0, 0), s32 id = -1, video::SColor shade_top = 0xFFFFFFFF,
video::SColor shade_down = 0xFFFFFFFF) [pure virtual]

Adds a text scene node, which uses billboards.

7.85.3.5 virtual ICameraSceneNode∗ irr::scene::ISceneManager::addCameraSceneNode (IScene-


Node ∗ parent = 0, const core::vector3df & position = core::vector3df(0, 0, 0),
const core::vector3df & lookat = core::vector3df(0, 0, 100), s32 id = -1)
[pure virtual]

Adds a camera scene node to the scene graph and sets it as active camera.
This camera does not react on user input like for example the one created with addCameraSceneNode-
FPS(). If you want to move or animate it, use animators or the ISceneNode::setPosition(), ICameraScene-
Node::setTarget() etc methods.

Parameters:
position: Position of the space relative to its parent where the camera will be placed.
lookat: Position where the camera will look at. Also known as target.
parent: Parent scene node of the camera. Can be null. If the parent moves, the camera will move too.
id: id of the camera. This id can be used to identify the camera.

Returns:
Returns pointer to interface to camera if successful, otherwise 0. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.85.3.6 virtual ICameraSceneNode∗ irr::scene::ISceneManager::addCameraSceneNodeFPS


(ISceneNode ∗ parent = 0, f32 rotateSpeed = 100.0f, f32 moveSpeed = 500.0f, s32 id
= -1, SKeyMap ∗ keyMapArray = 0, s32 keyMapSize = 0, bool noVerticalMovement =
false, f32 jumpSpeed = 0.f) [pure virtual]

Adds a camera scene node which is able to be controlled with the mouse and keys like in most first person
shooters (FPS).
Look with the mouse, move with cursor keys. If you do not like the default key layout, you may want to
specify your own. For example to make the camera be controlled by the cursor keys AND the keys W,A,S,
and D, do something like this:

SKeyMap keyMap[8];
keyMap[0].Action = EKA_MOVE_FORWARD;

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


484 Irrlicht Engine Class Documentation

keyMap[0].KeyCode = KEY_UP;
keyMap[1].Action = EKA_MOVE_FORWARD;
keyMap[1].KeyCode = KEY_KEY_W;

keyMap[2].Action = EKA_MOVE_BACKWARD;
keyMap[2].KeyCode = KEY_DOWN;
keyMap[3].Action = EKA_MOVE_BACKWARD;
keyMap[3].KeyCode = KEY_KEY_S;

keyMap[4].Action = EKA_STRAFE_LEFT;
keyMap[4].KeyCode = KEY_LEFT;
keyMap[5].Action = EKA_STRAFE_LEFT;
keyMap[5].KeyCode = KEY_KEY_A;

keyMap[6].Action = EKA_STRAFE_RIGHT;
keyMap[6].KeyCode = KEY_RIGHT;
keyMap[7].Action = EKA_STRAFE_RIGHT;
keyMap[7].KeyCode = KEY_KEY_D;

camera = sceneManager->addCameraSceneNodeFPS(0, 100, 500, -1, keyMap, 8);

Parameters:
parent: Parent scene node of the camera. Can be null.
rotateSpeed: Speed with which the camera is rotated. This can be done only with the mouse.
moveSpeed: Speed with which the camera is moved. Movement is done with the cursor keys.
id: id of the camera. This id can be used to identify the camera.
keyMapArray: Optional pointer to an array of a keymap, specifying what keys should be used to move
the camera. If this is null, the default keymap is used. You can define actions more then one time
in the array, to bind multiple keys to the same action.
keyMapSize: Amount of items in the keymap array.
noVerticalMovement: Setting this to true makes the camera only move within a horizontal plane, and
disables vertical movement as known from most ego shooters. Default is ’false’, with which it is
possible to fly around in space, if no gravity is there.
jumpSpeed: Speed with which the camera is moved when jumping.

Returns:
Returns a pointer to the interface of the camera if successful, otherwise 0. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

7.85.3.7 virtual ICameraSceneNode∗ irr::scene::ISceneManager::addCameraSceneNodeMaya


(ISceneNode ∗ parent = 0, f32 rotateSpeed = -1500.0f, f32 zoomSpeed = 200.0f, f32
translationSpeed = 1500.0f, s32 id = -1) [pure virtual]

Adds a maya style user controlled camera scene node to the scene graph.
The maya camera is able to be controlled with the mouse similar like in the 3D Software Maya by Alias
Wavefront.

Parameters:
parent: Parent scene node of the camera. Can be null.
rotateSpeed: Rotation speed of the camera.
zoomSpeed: Zoom speed of the camera.
translationSpeed: TranslationSpeed of the camera.
id: id of the camera. This id can be used to identify the camera.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 485

Returns:
Returns a pointer to the interface of the camera if successful, otherwise 0. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

7.85.3.8 virtual ISceneNode∗ irr::scene::ISceneManager::addCubeSceneNode (f32


size = 10.0f, ISceneNode ∗ parent = 0, s32 id = -1, const core::vector3df
& position = core::vector3df(0, 0, 0), const core::vector3df &
rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [pure virtual]

Adds a test scene node for test purposes to the scene.


It is a simple cube of (1,1,1) size.

Parameters:
size: Size of the cube.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.

Returns:
Returns pointer to the created test scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.9 virtual IDummyTransformationSceneNode∗ irr::scene::ISceneManager::add-


DummyTransformationSceneNode (ISceneNode ∗ parent = 0, s32 id = -1) [pure
virtual]

Adds a dummy transformation scene node to the scene graph.


This scene node does not render itself, and does not respond to set/getPosition, set/getRotation and set/get-
Scale. Its just a simple scene node that takes a matrix as relative transformation, making it possible to insert
any transformation anywhere into the scene graph.

Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.10 virtual ISceneNode∗ irr::scene::ISceneManager::addEmptySceneNode (ISceneNode ∗


parent = 0, s32 id = -1) [pure virtual]

Adds an empty scene node to the scene graph.


Can be used for doing advanced transformations or structuring the scene graph.

Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


486 Irrlicht Engine Class Documentation

7.85.3.11 virtual void irr::scene::ISceneManager::addExternalMeshLoader (IMeshLoader ∗


externalLoader) [pure virtual]

Adds an external mesh loader for extending the engine with new file formats.
If you want the engine to be extended with file formats it currently is not able to load (e.g. .cob), just
implement the IMeshLoader interface in your loading class and add it with this method. Using this method
it is also possible to override built-in mesh loaders with newer or updated versions without the need of
recompiling the engine.

Parameters:
externalLoader: Implementation of a new mesh loader.

7.85.3.12 virtual IAnimatedMesh∗ irr::scene::ISceneManager::addHillPlaneMesh


(const c8 ∗ name, const core::dimension2d< f32 > & tileSize, const
core::dimension2d< u32 > & tileCount, video::SMaterial ∗ material = 0,
f32 hillHeight = 0.0f, const core::dimension2d< f32 > & countHills =
core::dimension2d< f32 >(0.0f, 0.0f), const core::dimension2d< f32 > &
textureRepeatCount = core::dimension2d< f32 >(1.0f, 1.0f)) [pure
virtual]

Adds a Hill Plane mesh to the mesh pool.


The mesh is generated on the fly and looks like a plane with some hills on it. It is uses mostly for quick
tests of the engine only. You can specify how many hills there should be on the plane and how high they
should be. Also you must specify a name for the mesh, because the mesh is added to the mesh pool, and
can be retrieved again using ISceneManager::getMesh() with the name as parameter.

Parameters:
name: The name of this mesh which must be specified in order to be able to retrieve the mesh later
with ISceneManager::getMesh().
tileSize: Size of a tile of the mesh. (10.0f, 10.0f) would be a good value to start, for example.
tileCount: Specifies how much tiles there will be. If you specifiy for example that a tile has the
size (10.0f, 10.0f) and the tileCount is (10,10), than you get a field of 100 tiles which has the
dimension 100.0fx100.0f.
material: Material of the hill mesh.
hillHeight: Height of the hills. If you specify a negative value you will get holes instead of hills. If
the height is 0, no hills will be created.
countHills: Amount of hills on the plane. There will be countHills.X hills along the X axis and
countHills.Y along the Y axis. So in total there will be countHills.X ∗ countHills.Y hills.
textureRepeatCount: Defines how often the texture will be repeated in x and y direction.

Returns:
Returns null if the creation failed. The reason could be that you specified some invalid parameters or
that a mesh with that name already exists. If successful, a pointer to the mesh is returned. This pointer
should not be dropped. See IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 487

7.85.3.13 virtual ILightSceneNode∗ irr::scene::ISceneManager::addLightSceneNode (ISceneNode


∗ parent = 0, const core::vector3df & position = core::vector3df(0, 0, 0),
video::SColorf color = video::SColorf(1.0f, 1.0f, 1.0f), f32 radius =
100.0f, s32 id = -1) [pure virtual]

Adds a dynamic light scene node to the scene graph.


The light will cast dynamic light on all other scene nodes in the scene, which have the material flag
video::MTF_LIGHTING turned on. (This is the default setting in most scene nodes).

Parameters:
parent: Parent scene node of the light. Can be null. If the parent moves, the light will move too.
position: Position of the space relative to its parent where the light will be placed.
color: Diffuse color of the light. Ambient or Specular colors can be set manually with the ILight-
SceneNode::getLightData() method.
radius: Radius of the light.
id: id of the node. This id can be used to identify the node.

Returns:
Returns pointer to the interface of the light if successful, otherwise NULL. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

7.85.3.14 virtual IMeshSceneNode∗ irr::scene::ISceneManager::addMeshSceneNode


(IMesh ∗ mesh, ISceneNode ∗ parent = 0, s32 id = -1, const core::vector3df
& position = core::vector3df(0, 0, 0), const core::vector3df &
rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero =
false) [pure virtual]

Adds a scene node for rendering a static mesh.

Parameters:
mesh: Pointer to the loaded static mesh to be displayed.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.

Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


488 Irrlicht Engine Class Documentation

7.85.3.15 virtual ISceneNode∗ irr::scene::ISceneManager::addOctTreeSceneNode (IMesh


∗ mesh, ISceneNode ∗ parent = 0, s32 id = -1, s32 minimalPolysPerNode = 256, bool
alsoAddIfMeshPointerZero = false) [pure virtual]

Adds a scene node for rendering using a octtree to the scene graph.
This a good method for rendering scenes with lots of geometry. The Octree is built on the fly from the
mesh, much faster then a bsp tree.

Parameters:
mesh: The mesh containing all geometry from which the octtree will be build.
parent: Parent node of the octtree node.
id: id of the node. This id can be used to identify the node.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys than this value it will not be split into smaller nodes.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.

Returns:
Pointer to the octtree if successful, otherwise 0. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.16 virtual ISceneNode∗ irr::scene::ISceneManager::addOctTreeSceneNode


(IAnimatedMesh ∗ mesh, ISceneNode ∗ parent = 0, s32 id = -1, s32 minimalPolysPerNode
= 256, bool alsoAddIfMeshPointerZero = false) [pure virtual]

Adds a scene node for rendering using a octtree to the scene graph.
This a good method for rendering scenes with lots of geometry. The Octree is built on the fly from the
mesh.

Parameters:
mesh: The mesh containing all geometry from which the octtree will be build. If this animated mesh
has more than one frames in it, the first frame is taken.
parent: Parent node of the octtree node.
id: id of the node. This id can be used to identify the node.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys than this value it will not be split into smaller nodes.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.

Returns:
Pointer to the OctTree if successful, otherwise 0. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.17 virtual IParticleSystemSceneNode∗ irr::scene::ISceneManager::addParticleSystem-


SceneNode (bool withDefaultEmitter = true, ISceneNode ∗ parent = 0, s32 id = -1, const
core::vector3df & position = core::vector3df(0, 0, 0), const core::vector3df
& rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [pure virtual]

Adds a particle system scene node to the scene graph.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 489

Parameters:
withDefaultEmitter: Creates a default working point emitter which emitts some particles. Set this to
true to see a particle system in action. If set to false, you’ll have to set the emitter you want by
calling IParticleSystemSceneNode::setEmitter().
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.

Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.18 virtual ISceneNode∗ irr::scene::ISceneManager::addQuake3SceneNode (IMeshBuffer ∗


meshBuffer, const quake3::SShader ∗ shader, ISceneNode ∗ parent = 0, s32 id = -1)
[pure virtual]

Adds a quake3 scene node to the scene graph.


A Quake3 Scene renders multiple meshes for a specific HighLanguage Shader (Quake3 Style )

Returns:
Returns a pointer to the quake3 scene node if successful, otherwise NULL. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.

7.85.3.19 virtual ISceneNode∗ irr::scene::ISceneManager::addSceneNode (const char ∗


sceneNodeTypeName, ISceneNode ∗ parent = 0) [pure virtual]

Adds a scene node to the scene by name.

7.85.3.20 virtual ISceneNode∗ irr::scene::ISceneManager::addSkyBoxSceneNode


(video::ITexture ∗ top, video::ITexture ∗ bottom, video::ITexture ∗ left, video::ITexture ∗
right, video::ITexture ∗ front, video::ITexture ∗ back, ISceneNode ∗ parent = 0, s32 id =
-1) [pure virtual]

Adds a skybox scene node to the scene graph.


A skybox is a big cube with 6 textures on it and is drawn around the camera position.

Parameters:
top: Texture for the top plane of the box.
bottom: Texture for the bottom plane of the box.
left: Texture for the left plane of the box.
right: Texture for the right plane of the box.
front: Texture for the front plane of the box.
back: Texture for the back plane of the box.
parent: Parent scene node of the skybox. A skybox usually has no parent, so this should be null. Note:
If a parent is set to the skybox, the box will not change how it is drawn.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


490 Irrlicht Engine Class Documentation

id: An id of the node. This id can be used to identify the node.

Returns:
Returns a pointer to the sky box if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.85.3.21 virtual ISceneNode∗ irr::scene::ISceneManager::addSkyDomeSceneNode


(video::ITexture ∗ texture, u32 horiRes, u32 vertRes, f64 texturePercentage, f64
spherePercentage, ISceneNode ∗ parent = 0, s32 id = -1) [pure virtual]

Adds a skydome scene node to the scene graph.


A skydome is a large (half-) sphere with a panoramic texture on the inside and is drawn around the camera
position.

Parameters:
texture: Texture for the dome.
horiRes: Number of vertices of a horizontal layer of the sphere.
vertRes: Number of vertices of a vertical layer of the sphere.
texturePercentage: How much of the height of the texture is used. Should be between 0 and 1.
spherePercentage: How much of the sphere is drawn. Value should be between 0 and 2, where 1 is
an exact half-sphere and 2 is a full sphere.
parent: Parent scene node of the dome. A dome usually has no parent, so this should be null. Note:
If a parent is set, the dome will not change how it is drawn.
id: An id of the node. This id can be used to identify the node.

Returns:
Returns a pointer to the sky dome if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.85.3.22 virtual IAnimatedMesh∗ irr::scene::ISceneManager::addSphereMesh (const c8 ∗ name,


f32 radius = 5.f, u32 polyCountX = 16, u32 polyCountY = 16) [pure virtual]

add a static sphere mesh to the meshpool

7.85.3.23 virtual ISceneNode∗ irr::scene::ISceneManager::addSphereSceneNode (f32


radius = 5.0f, s32 polyCount = 16, ISceneNode ∗ parent = 0, s32 id = -1, const
core::vector3df & position = core::vector3df(0, 0, 0), const core::vector3df
& rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [pure virtual]

Adds a sphere scene node for test purposes to the scene.


It is a simple sphere.

Parameters:
radius: Radius of the sphere.
polyCount: Polycount of the sphere.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 491

parent: Parent of the scene node. Can be NULL if no parent.

id: Id of the node. This id can be used to identify the scene node.

position: Position of the space relative to its parent where the scene node will be placed.

rotation: Initital rotation of the scene node.

scale: Initial scale of the scene node.

Returns:
Returns pointer to the created test scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.24 virtual IAnimatedMesh∗ irr::scene::ISceneManager::addTerrainMesh


(const c8 ∗ meshname, video::IImage ∗ texture, video::IImage
∗ heightmap, const core::dimension2d< f32 > & stretchSize =
core::dimension2d< f32 >(10.0f, 10.0f), f32 maxHeight =
200.0f, const core::dimension2d< s32 > & defaultVertexBlockSize =
core::dimension2d< s32 >(64, 64)) [pure virtual]

Adds a static terrain mesh to the mesh pool.


The mesh is generated on the fly from a texture file and a height map file. Both files may be huge
(8000x8000 pixels would be no problem) because the generator splits the files into smaller textures if
necessary. You must specify a name for the mesh, because the mesh is added to the mesh pool, and can be
retrieved again using ISceneManager::getMesh() with the name as parameter.

Parameters:
meshname: The name of this mesh which must be specified in order to be able to retrieve the mesh
later with ISceneManager::getMesh().

texture: Texture for the terrain. Please note that this is not a hardware texture as usual (ITexture), but
an IImage software texture. You can load this texture with IVideoDriver::createImageFromFile().

heightmap: A grayscaled heightmap image. Like the texture, it can be created with IVideo-
Driver::createImageFromFile(). The amount of triangles created depends on the size of this
texture, so use a small heightmap to increase rendering speed.

stretchSize: Parameter defining how big a is pixel on the heightmap.

maxHeight: Defines how height a white pixel on the heighmap is.

defaultVertexBlockSize: Defines the initial dimension between vertices.

Returns:
Returns null if the creation failed. The reason could be that you specified some invalid parameters,
that a mesh with that name already exists, or that a texture could not be found. If successful, a pointer
to the mesh is returned. This pointer should not be dropped. See IReferenceCounted::drop() for more
information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


492 Irrlicht Engine Class Documentation

7.85.3.25 virtual ITerrainSceneNode∗ irr::scene::ISceneManager::addTerrainSceneNode


(io::IReadFile ∗ heightMapFile, ISceneNode ∗ parent = 0, s32 id = -1, const
core::vector3df & position = core::vector3df(0.0f, 0.0f, 0.0f), const
core::vector3df & rotation = core::vector3df(0.0f, 0.0f, 0.0f), const
core::vector3df & scale = core::vector3df(1.0f, 1.0f, 1.0f), video::SColor
vertexColor = video::SColor(255, 255, 255, 255), s32 maxLOD = 5,
E_TERRAIN_PATCH_SIZE patchSize = ETPS_17, s32 smoothFactor = 0, bool
addAlsoIfHeightmapEmpty = false) [pure virtual]

Adds a terrain scene node to the scene graph.


Just like the other addTerrainSceneNode() method, but takes an IReadFile pointer as parameter for the
heightmap. For more informations take a look at the other function.

Parameters:
heightMapFile: The file handle to read vertex data from. This should be a gray scale bitmap.
parent: Parent of the scene node. Can be 0 if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: The absolute position of this node.
rotation: The absolute rotation of this node. ( NOT YET IMPLEMENTED )
scale: The scale factor for the terrain. If you’re using a heightmap of size 129x129 and would like
your terrain to be 12900x12900 in game units, then use a scale factor of ( core::vector ( 100.0f,
100.0f, 100.0f ). If you use a Y scaling factor of 0.0f, then your terrain will be flat.
vertexColor: The default color of all the vertices. If no texture is associated with the scene node, then
all vertices will be this color. Defaults to white.
maxLOD: The maximum LOD (level of detail) for the node. Only change if you know what you are
doing, this might lead to strange behaviour.
patchSize: patch size of the terrain. Only change if you know what you are doing, this might lead to
strange behaviour.
smoothFactor: The number of times the vertices are smoothed.
addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.

Returns:
Returns pointer to the created scene node. Can be null if the terrain could not be created, for exam-
ple because the heightmap could not be loaded. The returned pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.85.3.26 virtual ITerrainSceneNode∗ irr::scene::ISceneManager::addTerrainSceneNode


(const c8 ∗ heightMapFileName, ISceneNode ∗ parent = 0, s32 id = -1, const
core::vector3df & position = core::vector3df(0.0f, 0.0f, 0.0f), const
core::vector3df & rotation = core::vector3df(0.0f, 0.0f, 0.0f), const
core::vector3df & scale = core::vector3df(1.0f, 1.0f, 1.0f), video::SColor
vertexColor = video::SColor(255, 255, 255, 255), s32 maxLOD = 5,
E_TERRAIN_PATCH_SIZE patchSize = ETPS_17, s32 smoothFactor = 0, bool
addAlsoIfHeightmapEmpty = false) [pure virtual]

Adds a terrain scene node to the scene graph.


This node implements is a simple terrain renderer which uses a technique known as geo mip mapping for
reducing the detail of triangle blocks which are far away. The code for the TerrainSceneNode is based on

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 493

the terrain renderer by Soconne and the GeoMipMapSceneNode developed by Spintz. They made their
code available for Irrlicht and allowed it to be distributed under this licence. I only modified some parts. A
lot of thanks go to them.
This scene node is capable of loading terrains and updating the indices at runtime to enable viewing very
large terrains very quickly. It uses a CLOD (Continuous Level of Detail) algorithm which updates the
indices for each patch based on a LOD (Level of Detail) which is determined based on a patch’s distance
from the camera.
The patch size of the terrain must always be a size of 2∧ N+1, i.e. 8+1(9), 16+1(17), etc. The MaxLOD
available is directly dependent on the patch size of the terrain. LOD 0 contains all of the indices to draw all
the triangles at the max detail for a patch. As each LOD goes up by 1 the step taken, in generating indices
increases by -2∧ LOD, so for LOD 1, the step taken is 2, for LOD 2, the step taken is 4, LOD 3 - 8, etc. The
step can be no larger than the size of the patch, so having a LOD of 8, with a patch size of 17, is asking
the algoritm to generate indices every 2∧ 8 ( 256 ) vertices, which is not possible with a patch size of 17.
The maximum LOD for a patch size of 17 is 2∧ 4 ( 16 ). So, with a MaxLOD of 5, you’ll have LOD 0 (
full detail ), LOD 1 ( every 2 vertices ), LOD 2 ( every 4 vertices ), LOD 3 ( every 8 vertices ) and LOD 4
( every 16 vertices ).

Parameters:
heightMapFileName: The name of the file on disk, to read vertex data from. This should be a gray
scale bitmap.
parent: Parent of the scene node. Can be 0 if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: The absolute position of this node.
rotation: The absolute rotation of this node. ( NOT YET IMPLEMENTED )
scale: The scale factor for the terrain. If you’re using a heightmap of size 129x129 and would like
your terrain to be 12900x12900 in game units, then use a scale factor of ( core::vector ( 100.0f,
100.0f, 100.0f ). If you use a Y scaling factor of 0.0f, then your terrain will be flat.
vertexColor: The default color of all the vertices. If no texture is associated with the scene node, then
all vertices will be this color. Defaults to white.
maxLOD: The maximum LOD (level of detail) for the node. Only change if you know what you are
doing, this might lead to strange behaviour.
patchSize: patch size of the terrain. Only change if you know what you are doing, this might lead to
strange behaviour.
smoothFactor: The number of times the vertices are smoothed.
addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.

Returns:
Returns pointer to the created scene node. Can be null if the terrain could not be created, for exam-
ple because the heightmap could not be loaded. The returned pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.85.3.27 virtual ITextSceneNode∗ irr::scene::ISceneManager::addTextSceneNode


(gui::IGUIFont ∗ font, const wchar_t ∗ text, video::SColor color =
video::SColor(100, 255, 255, 255), ISceneNode ∗ parent = 0, const
core::vector3df & position = core::vector3df(0, 0, 0), s32 id = -1) [pure
virtual]

Adds a text scene node, which is able to display 2d text at a position in three dimensional space.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


494 Irrlicht Engine Class Documentation

7.85.3.28 virtual void irr::scene::ISceneManager::addToDeletionQueue (ISceneNode ∗ node)


[pure virtual]

Adds a scene node to the deletion queue.


The scene node is immediatly deleted when it’s secure. Which means when the scene node does not execute
animators and things like that. This method is for example used for deleting scene nodes by their scene
node animators. In most other cases, a ISceneNode::remove() call is enough, using this deletion queue is
not necessary. See ISceneManager::createDeleteAnimator() for details.

Parameters:
node: Node to detete.

7.85.3.29 virtual ISceneNode∗ irr::scene::ISceneManager::addWaterSurfaceSceneNode


(IMesh ∗ mesh, f32 waveHeight = 2.0f, f32 waveSpeed = 300.0f, f32
waveLength = 10.0f, ISceneNode ∗ parent = 0, s32 id = -1, const core::vector3df
& position = core::vector3df(0, 0, 0), const core::vector3df &
rotation = core::vector3df(0, 0, 0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [pure virtual]

Adds a scene node for rendering a animated water surface mesh.


Looks really good when the Material type EMT_TRANSPARENT_REFLECTION is used.

Parameters:
waveHeight: Height of the water waves.
waveSpeed: Speed of the water waves.
waveLength: Lenght of a water wave.
mesh: Pointer to the loaded static mesh to be displayed with water waves on it.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.

Returns:
Pointer to the created scene node. This pointer should not be dropped. See IReferenceCounted::drop()
for more information.

7.85.3.30 virtual void irr::scene::ISceneManager::clear () [pure virtual]

Clears the whole scene.


All scene nodes are removed.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 495

7.85.3.31 virtual ISceneNodeAnimatorCollisionResponse∗ irr::scene::ISceneManager::create-


CollisionResponseAnimator (ITriangleSelector ∗ world, ISceneNode ∗ sceneNode,
const core::vector3df & ellipsoidRadius = core::vector3df(30, 60, 30),
const core::vector3df & gravityPerSecond = core::vector3df(0,-100.0f, 0),
const core::vector3df & ellipsoidTranslation = core::vector3df(0, 0, 0), f32
slidingValue = 0.0005f) [pure virtual]

Creates a special scene node animator for doing automatic collision detection and response.
See ISceneNodeAnimatorCollisionResponse for details.

Parameters:
world: Triangle selector holding all triangles of the world with which the scene node may collide. You
can create a triangle selector with ISceneManager::createTriangleSelector();
sceneNode: SceneNode which should be manipulated. After you added this animator to the scene
node, the scene node will not be able to move through walls and is affected by gravity.
ellipsoidRadius: Radius of the ellipsoid with which collision detection and response is done. If you
have got a scene node, and you are unsure about how big the radius should be, you could use the
following code to determine it:

const core::aabbox3d<f32>& box = yourSceneNode->getBoundingBox();


core::vector3df radius = box.MaxEdge - box.getCenter();

gravityPerSecond: Sets the gravity of the environment. A good example value would be
core::vector3df(0,-100.0f,0) for letting gravity affect all object to fall down. For bigger
gravity, make increase the length of the vector. You can disable gravity by setting it to
core::vector3df(0,0,0).
ellipsoidTranslation: By default, the ellipsoid for collision detection is created around the center of
the scene node, which means that the ellipsoid surrounds it completely. If this is not what you
want, you may specify a translation for the ellipsoid.
slidingValue: DOCUMENTATION NEEDED.

Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will cause it to do collision detection and response. If you no longer need the animator, you should
call ISceneNodeAnimator::drop(). See IReferenceCounted::drop() for more information.

7.85.3.32 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createDeleteAnimator (u32


timeMs) [pure virtual]

Creates a scene node animator, which deletes the scene node after some time automatically.

Parameters:
timeMs: Time in milliseconds, after when the node will be deleted.

Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


496 Irrlicht Engine Class Documentation

7.85.3.33 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createFlyCircleAnimator


(const core::vector3df & center, f32 radius, f32 speed = 0.001f, const core::vector3df &
direction = core::vector3df(0.f, 1.f, 0.f)) [pure virtual]

Creates a fly circle animator, which lets the attached scene node fly around a center.

Parameters:
center: Center of the circle.
radius: Radius of the circle.
speed: Specifies the speed of the flight.
direction: Specifies the upvector used for alignment of the mesh.

Returns:
The animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator will
animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.

7.85.3.34 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createFlyStraightAnimator


(const core::vector3df & startPoint, const core::vector3df & endPoint, u32 timeForWay,
bool loop = false) [pure virtual]

Creates a fly straight animator, which lets the attached scene node fly or move along a line between two
points.

Parameters:
startPoint: Start point of the line.
endPoint: End point of the line.
timeForWay: Time in milli seconds how long the node should need to move from the start point to the
end point.
loop: If set to false, the node stops when the end point is reached. If loop is true, the node begins
again at the start.

Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.

7.85.3.35 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createFollowSplineAnimator


(s32 startTime, const core::array< core::vector3df > & points, f32 speed = 1.0f, f32
tightness = 0.5f) [pure virtual]

Creates a follow spline animator.


The animator modifies the position of the attached scene node to make it follow a hermite spline. It uses
a subset of hermite splines: either cardinal splines (tightness != 0.5) or catmull-rom-splines (tightness ==
0.5). The animator moves from one control point to the next in 1/speed seconds. This code was sent in by
Matthias Gall.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 497

7.85.3.36 virtual IMeshWriter∗ irr::scene::ISceneManager::createMeshWriter


(EMESH_WRITER_TYPE type) [pure virtual]

Returns a mesh writer implementation if available.


Note: You need to drop() the pointer after use again, see IReferenceCounted::drop() for details.

7.85.3.37 virtual IMetaTriangleSelector∗ irr::scene::ISceneManager::createMetaTriangleSelector


() [pure virtual]

Creates a meta triangle selector.


A meta triangle selector is nothing more than a collection of one or more triangle selectors providing
together the interface of one triangle selector. In this way, collision tests can be done with different triangle
soups in one pass.

Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.

7.85.3.38 virtual ISceneManager∗ irr::scene::ISceneManager::createNewSceneManager (bool


cloneContent = false) [pure virtual]

Creates a new scene manager.


This can be used to easily draw and/or store two independent scenes at the same time. The mesh cache
will be shared between all existing scene managers, which means if you load a mesh in the original scene
manager using for example getMesh(), the mesh will be available in all other scene managers too, without
loading. The original/main scene manager will still be there and accessible via IrrlichtDevice::getScene-
Manager(). If you need input event in this new scene manager, for example for FPS cameras, you’ll need to
forward input to this manually: Just implement an IEventReceiver and call yourNewSceneManager->post-
EventFromUser(), and return true so that the original scene manager doesn’t get the event. Otherwise, all
input will go to the main scene manager automatically. If you no longer need the new scene manager, you
should call ISceneManager::drop(). See IReferenceCounted::drop() for more information.

7.85.3.39 virtual ITriangleSelector∗ irr::scene::ISceneManager::createOctTreeTriangleSelector


(IMesh ∗ mesh, ISceneNode ∗ node, s32 minimalPolysPerNode = 32) [pure
virtual]

Creates a Triangle Selector, optimized by an octtree.


Triangle selectors can be used for doing collision detection. This triangle selector is optimized for huge
amounts of triangle, it organizes them in an octtree. Please note that the created triangle selector is not
automaticly attached to the scene node. You will have to call ISceneNode::setTriangleSelector() for this.
To create and attach a triangle selector is done like this:

ITriangleSelector* s = sceneManager->createOctTreeTriangleSelector(yourMesh,
yourSceneNode);
yourSceneNode->setTriangleSelector(s);
s->drop();

For more informations and examples on this, take a look at the collision tutorial in the SDK.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


498 Irrlicht Engine Class Documentation

Parameters:
mesh: Mesh of which the triangles are taken.
node: Scene node of which visibility and transformation is used.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys the this value, it will not be splitted into smaller nodes.

Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.

7.85.3.40 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createRotationAnimator


(const core::vector3df & rotationPerSecond) [pure virtual]

Creates a rotation animator, which rotates the attached scene node around itself.

Parameters:
rotationPerSecond: Specifies the speed of the animation

Returns:
The animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator will
animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.

7.85.3.41 virtual ITriangleSelector∗ irr::scene::ISceneManager::createTerrainTriangleSelector


(ITerrainSceneNode ∗ node, s32 LOD = 0) [pure virtual]

Creates a triangle selector which can select triangles from a terrain scene node.

Parameters:
node: Pointer to the created terrain scene node
LOD: Level of detail, 0 for highest detail.

7.85.3.42 virtual ISceneNodeAnimator∗ irr::scene::ISceneManager::createTextureAnimator


(const core::array< video::ITexture ∗ > & textures, s32 timePerFrame, bool loop =
true) [pure virtual]

Creates a texture animator, which switches the textures of the target scene node based on a list of textures.

Parameters:
textures: List of textures to use.
timePerFrame: Time in milliseconds, how long any texture in the list should be visible.
loop: If set to to false, the last texture remains set, and the animation stops. If set to true, the animation
restarts with the first texture.

Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 499

7.85.3.43 virtual ITriangleSelector∗ irr::scene::ISceneManager::createTriangleSelector (IMesh ∗


mesh, ISceneNode ∗ node) [pure virtual]

Creates a simple ITriangleSelector, based on a mesh.


Triangle selectors can be used for doing collision detection. Don’t use this selector for a huge amount of
triangles like in Quake3 maps. Instead, use for example ISceneManager::createOctTreeTriangleSelector().
Please note that the created triangle selector is not automaticly attached to the scene node. You will have
to call ISceneNode::setTriangleSelector() for this. To create and attach a triangle selector is done like this:

ITriangleSelector* s = sceneManager->createTriangleSelector(yourMesh,
yourSceneNode);
yourSceneNode->setTriangleSelector(s);
s->drop();

Parameters:
mesh: Mesh of which the triangles are taken.
node: Scene node of which visibility and transformation is used.

Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.

7.85.3.44 virtual ITriangleSelector∗ irr::scene::ISceneManager::create-


TriangleSelectorFromBoundingBox (ISceneNode ∗ node) [pure
virtual]

Creates a simple dynamic ITriangleSelector, based on a axis aligned bounding box.


Triangle selectors can be used for doing collision detection. Every time when triangles are queried, the
triangle selector gets the bounding box of the scene node, an creates new triangles. In this way, it works
good with animated scene nodes.

Parameters:
node: Scene node of which the bounding box, visibility and transformation is used.

Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.

7.85.3.45 virtual void irr::scene::ISceneManager::drawAll () [pure virtual]

Draws all the scene nodes.


This can only be invoked between IVideoDriver::beginScene() and IVideoDriver::endScene(). Please note
that the scene is not only drawn when calling this, but also animated by existing scene node animators,
culling of scene nodes is done, etc.

7.85.3.46 virtual ICameraSceneNode∗ irr::scene::ISceneManager::getActiveCamera () [pure


virtual]

Get the current active camera.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


500 Irrlicht Engine Class Documentation

Returns:
The active camera is returned. Note that this can be NULL, if there was no camera created yet.

7.85.3.47 virtual const video::SColorf& irr::scene::ISceneManager::getAmbientLight () const


[pure virtual]

Returns ambient color of the scene.

7.85.3.48 virtual ISceneNodeAnimatorFactory∗ irr::scene::ISceneManager::getDefaultScene-


NodeAnimatorFactory () [pure virtual]

Returns the default scene node animator factory which can create all built-in scene node animators.

7.85.3.49 virtual ISceneNodeFactory∗ irr::scene::ISceneManager::getDefaultSceneNodeFactory


() [pure virtual]

Returns the default scene node factory which can create all built in scene nodes.

7.85.3.50 virtual gui::IGUIEnvironment∗ irr::scene::ISceneManager::getGUIEnvironment ()


[pure virtual]

Returns the active GUIEnvironment.

Returns:
Returns pointer to the GUIEnvironment This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.51 virtual IAnimatedMesh∗ irr::scene::ISceneManager::getMesh (io::IReadFile ∗ file)


[pure virtual]

Returns pointer to an animateable mesh. Loads the file if not loaded already.
Works just as getMesh(const char∗ filename). If you want to remove a loaded mesh from the cache again,
use removeMesh().

Parameters:
file File handle of the mesh to load.

Returns:
NULL if failed and pointer to the mesh if successful. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.85.3.52 virtual IAnimatedMesh∗ irr::scene::ISceneManager::getMesh (const c8 ∗ filename)


[pure virtual]

Returns pointer to an animateable mesh. Loads the file if not loaded already.
If you want to remove a loaded mesh from the cache again, use removeMesh(). Currently there are the
following mesh formats supported:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 501

Format Description
3D Studio (.3ds) Loader for 3D-Studio files which lots of 3D
packages are able to export. Only static meshes
are currently supported by this importer.
Bliz Basic B3D (.b3d) Loader for blitz basic files, developed by Mark
Sibly, also supports animations.
Cartography shop 4 (.csm) Cartography Shop is a modeling program for
creating architecture and calculating lighting.
Irrlicht can directly import .csm files thanks to the
IrrCSM library created by Saurav Mohapatra
which is now integrated directly in Irrlicht. If you
are using this loader, please note that you’ll have
to set the path of the textures before loading .csm
files. You can do this using
SceneManager->getParameters()->set-
Parameter(scene::CSM_TEXTURE_PATH,
”path/to/your/textures”);
COLLADA (.dae, .xml) COLLADA is an open Digital Asset Exchange
Schema for the interactive 3D industry. There are
exporters and importers for this format available
for most of the big 3d packagesat
http://collada.org. Irrlicht can import
COLLADA files by using the
ISceneManager::getMesh() method. COLLADA
files need not contain only one single mesh but
multiple meshes and a whole scene setup with
lights, cameras and mesh instances, this loader
can set up a scene as described by the COLLADA
file instead of loading and returning one single
mesh. By default, this loader behaves like the
other loaders and does not create instances, but it
can be switched into this mode by using
SceneManager->getParameters()->set-
Parameter(COLLADA_CREATE_SCENE_-
INSTANCES, true); Created scene nodes will be
named as the names of the nodes in the
COLLADA file. The returned mesh is just a
dummy object in this mode. Meshes included in
the scene will be added into the scene manager
with the following naming scheme:
path/to/file/file.dea#meshname. The loading of
such meshes is logged. Currently, this loader is
able to create meshes (made of only polygons),
lights, and cameras. Materials and animations are
currently not supported but this will change with
future releases.
Delgine DeleD (.dmf) DeleD (delgine.com) is a 3D editor and
level-editor combined into one and is specifically
designed for 3D game-development. With this
loader, it is possible to directly load all geometry
is as well as textures and lightmaps from .dmf
files. To set texture and material paths, see
scene::DMF_USE_MATERIALS_DIRS and
scene::DMF_TEXTURE_PATH. It is also
possible to flip the alpha texture by setting
Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen scene::DMF_FLIP_ALPHA_TEXTURES to true
and to set the material transparent reference value
by setting
scene::DMF_ALPHA_CHANNEL_REF to a
float between 0 and 1. The loader is based on
Salvatore Russo’s .dmf loader, I just changed
502 Irrlicht Engine Class Documentation

To load and display a mesh quickly, just do this:

SceneManager->addAnimatedMeshSceneNode(
SceneManager->getMesh("yourmesh.3ds"));

If you would like to implement and add your own file format loader to Irrlicht, see addExternalMesh-
Loader().

Parameters:
filename: Filename of the mesh to load.

Returns:
Returns NULL if failed and the pointer to the mesh if successful. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.

7.85.3.53 virtual IMeshCache∗ irr::scene::ISceneManager::getMeshCache () [pure


virtual]

Returns an interface to the mesh cache which is shared beween all existing scene managers.
With this interface, it is possible to manually add new loaded meshes (if ISceneManager::getMesh() is not
sufficient), to remove them and to iterate through already loaded meshes.

7.85.3.54 virtual IMeshManipulator∗ irr::scene::ISceneManager::getMeshManipulator ()


[pure virtual]

Returns a pointer to the mesh manipulator.

7.85.3.55 virtual io::IAttributes∗ irr::scene::ISceneManager::getParameters () [pure


virtual]

Returns interface to the parameters set in this scene.


String parameters can be used by plugins and mesh loaders. For example the CMS and LMTS
loader want a parameter named ’CSM_TexturePath’ and ’LMTS_TexturePath’ set to the path were
attached textures can be found. See CSM_TEXTURE_PATH, LMTS_TEXTURE_PATH, MY3D_-
TEXTURE_PATH, COLLADA_CREATE_SCENE_INSTANCES, DMF_TEXTURE_PATH and DMF_-
USE_MATERIALS_DIRS

7.85.3.56 virtual u32 irr::scene::ISceneManager::getRegisteredSceneNodeAnimatorFactoryCount


() const [pure virtual]

Returns amount of registered scene node animator factories.

7.85.3.57 virtual u32 irr::scene::ISceneManager::getRegisteredSceneNodeFactoryCount () const


[pure virtual]

Returns amount of registered scene node factories.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 503

7.85.3.58 virtual ISceneNode∗ irr::scene::ISceneManager::getRootSceneNode () [pure


virtual]

Returns the root scene node.


This is the scene node which is parent of all scene nodes. The root scene node is a special scene node which
only exists to manage all scene nodes. It will not be rendered and cannot be removed from the scene.

Returns:
Returns a pointer to the root scene node.

7.85.3.59 virtual ISceneCollisionManager∗ irr::scene::ISceneManager::getSceneCollision-


Manager () [pure virtual]

Returns a pointer to the scene collision manager.

7.85.3.60 virtual ISceneNodeAnimatorFactory∗ irr::scene::ISceneManager::getSceneNode-


AnimatorFactory (u32 index) [pure virtual]

Returns a scene node animator factory by index.

7.85.3.61 virtual ISceneNodeFactory∗ irr::scene::ISceneManager::getSceneNodeFactory (u32


index) [pure virtual]

Returns a scene node factory by index.

7.85.3.62 virtual ISceneNode∗ irr::scene::ISceneManager::getSceneNodeFromId (s32 id,


ISceneNode ∗ start = 0) [pure virtual]

Returns the first scene node with the specified id.

Parameters:
id: The id to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the first scene node with this id, and null if no scene node could be found.

7.85.3.63 virtual ISceneNode∗ irr::scene::ISceneManager::getSceneNodeFromName (const c8 ∗


name, ISceneNode ∗ start = 0) [pure virtual]

Returns the first scene node with the specified name.

Parameters:
name: The name to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the first scene node with this id, and null if no scene node could be found.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


504 Irrlicht Engine Class Documentation

7.85.3.64 virtual ISceneNode∗ irr::scene::ISceneManager::getSceneNodeFromType


(scene::ESCENE_NODE_TYPE type, ISceneNode ∗ start = 0) [pure virtual]

Returns the first scene node with the specified type.

Parameters:
type: The type to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.

Returns:
Returns pointer to the first scene node with this type, and null if no scene node could be found.

7.85.3.65 virtual E_SCENE_NODE_RENDER_PASS irr::scene::ISceneManager::getSceneNode-


RenderPass () const [pure virtual]

Returns current render pass.


All scene nodes are being rendered in a specific order. First lights, cameras, sky boxes, solid geometry, and
then transparent stuff. During the rendering process, scene nodes may want to know what the scene man-
ager is rendering currently, because for example they registered for rendering twice, once for transparent
geometry and once for solid. When knowing what rendering pass currently is active they can render the
correct part of their geometry.

7.85.3.66 virtual void irr::scene::ISceneManager::getSceneNodesFromType


(ESCENE_NODE_TYPE type, core::array< scene::ISceneNode ∗ > & outNodes,
ISceneNode ∗ start = 0) [pure virtual]

Get scene nodes by type.

Parameters:
type: Type of scene node to find.
outNodes: array to be filled with results.
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.

7.85.3.67 virtual const c8∗ irr::scene::ISceneManager::getSceneNodeTypeName


(ESCENE_NODE_TYPE type) [pure virtual]

Returns a typename from a scene node type or null if not found.

7.85.3.68 virtual video::SColor irr::scene::ISceneManager::getShadowColor () const [pure


virtual]

Returns the current color of shadows.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 505

7.85.3.69 virtual video::IVideoDriver∗ irr::scene::ISceneManager::getVideoDriver () [pure


virtual]

Returns the video driver.

Returns:
Returns pointer to the video Driver. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.85.3.70 virtual bool irr::scene::ISceneManager::loadScene (io::IReadFile ∗ file,


ISceneUserDataSerializer ∗ userDataSerializer = 0) [pure virtual]

Loads a scene. Note that the current scene is not cleared before.
The scene is usually load from an .irr file, an xml based format. .irr files can Be edited with the Irrlicht
Engine Editor, irrEdit (http://irredit.irrlicht3d.org) or saved directly by the engine using
ISceneManager::saveScene().

Parameters:
file: File where the scene is going to be saved into.
userDataSerializer: If you want to load user data possibily saved in that file for some scene nodes
in the file, implement the ISceneUserDataSerializer interface and provide it as parameter here.
Otherwise, simply specify 0 as this parameter.

Returns:
Returns true if successful.

7.85.3.71 virtual bool irr::scene::ISceneManager::loadScene (const c8 ∗ filename,


ISceneUserDataSerializer ∗ userDataSerializer = 0) [pure virtual]

Loads a scene. Note that the current scene is not cleared before.
The scene is usually load from an .irr file, an xml based format. .irr files can Be edited with the Irrlicht
Engine Editor, irrEdit (http://irredit.irrlicht3d.org) or saved directly by the engine using
ISceneManager::saveScene().

Parameters:
filename: Name of the file.
userDataSerializer: If you want to load user data possibily saved in that file for some scene nodes
in the file, implement the ISceneUserDataSerializer interface and provide it as parameter here.
Otherwise, simply specify 0 as this parameter.

Returns:
Returns true if successful.

7.85.3.72 virtual bool irr::scene::ISceneManager::postEventFromUser (const SEvent & event)


[pure virtual]

Posts an input event to the environment.


Usually you do not have to use this method, it is used by the internal engine.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


506 Irrlicht Engine Class Documentation

7.85.3.73 virtual u32 irr::scene::ISceneManager::registerNodeForRendering (ISceneNode ∗ node,


E_SCENE_NODE_RENDER_PASS pass = ESNRP_AUTOMATIC) [pure virtual]

Registers a node for rendering it at a specific time.


This method should only be used by SceneNodes when they get a ISceneNode::OnRegisterSceneNode()
call.

Parameters:
node: Node to register for drawing. Usually scene nodes would set ’this’ as parameter here because
they want to be drawn.
pass: Specifies when the node wants to be drawn in relation to the other nodes. For example, if
the node is a shadow, it usually wants to be drawn after all other nodes and will use ESNRP_-
SHADOW for this. See scene::E_SCENE_NODE_RENDER_PASS for details.

Returns:
scene will be rendered ( passed culling )

7.85.3.74 virtual void irr::scene::ISceneManager::registerSceneNodeAnimatorFactory


(ISceneNodeAnimatorFactory ∗ factoryToAdd) [pure virtual]

Adds a scene node animator factory to the scene manager.


Use this to extend the scene manager with new scene node animator types which it should be able to create
automaticly, for example when loading data from xml files.

7.85.3.75 virtual void irr::scene::ISceneManager::registerSceneNodeFactory (ISceneNodeFactory


∗ factoryToAdd) [pure virtual]

Adds a scene node factory to the scene manager.


Use this to extend the scene manager with new scene node types which it should be able to create automat-
icly, for example when loading data from xml files.

7.85.3.76 virtual bool irr::scene::ISceneManager::saveScene (io::IWriteFile ∗ file,


ISceneUserDataSerializer ∗ userDataSerializer = 0) [pure virtual]

Saves the current scene into a file.


Scene nodes with the option isDebugObject set to true are not being saved. The scene is usually writ-
ten to an .irr file, an xml based format. .irr files can Be edited with the Irrlicht Engine Editor, irrEdit
(http://irredit.irrlicht3d.org). To load .irr files again, see ISceneManager::loadScene().

Parameters:
file: File where the scene is saved into.
userDataSerializer: If you want to save some user data for every scene node into the file, imple-
ment the ISceneUserDataSerializer interface and provide it as parameter here. Otherwise, simply
specify 0 as this parameter.

Returns:
Returns true if successful.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.85 irr::scene::ISceneManager Class Reference 507

7.85.3.77 virtual bool irr::scene::ISceneManager::saveScene (const c8 ∗ filename,


ISceneUserDataSerializer ∗ userDataSerializer = 0) [pure virtual]

Saves the current scene into a file.


Scene nodes with the option isDebugObject set to true are not being saved. The scene is usually writ-
ten to an .irr file, an xml based format. .irr files can Be edited with the Irrlicht Engine Editor, irrEdit
(http://irredit.irrlicht3d.org). To load .irr files again, see ISceneManager::loadScene().

Parameters:
filename: Name of the file.
userDataSerializer: If you want to save some user data for every scene node into the file, imple-
ment the ISceneUserDataSerializer interface and provide it as parameter here. Otherwise, simply
specify 0 as this parameter.

Returns:
Returns true if successful.

7.85.3.78 virtual void irr::scene::ISceneManager::setActiveCamera (ICameraSceneNode ∗


camera) [pure virtual]

Sets the currently active camera.


The previous active camera will be deactivated.

Parameters:
camera: The new camera which should be active.

7.85.3.79 virtual void irr::scene::ISceneManager::setAmbientLight (const video::SColorf &


ambientColor) [pure virtual]

Sets ambient color of the scene.

7.85.3.80 virtual void irr::scene::ISceneManager::setShadowColor (video::SColor color =


video::SColor(150, 0, 0, 0)) [pure virtual]

Sets the color of stencil buffers shadows drawn by the scene manager.
The documentation for this class was generated from the following file:

• ISceneManager.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


508 Irrlicht Engine Class Documentation

7.86 irr::scene::ISceneNode Class Reference


Scene node interface.
#include <ISceneNode.h>
Inheritance diagram for irr::scene::ISceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IAnimatedMeshSceneNode

irr::scene::IBillboardSceneNode

irr::scene::IBoneSceneNode

irr::scene::ICameraSceneNode

irr::scene::IDummyTransformationSceneNode

irr::scene::ILightSceneNode

irr::scene::IMeshSceneNode

irr::scene::IParticleSystemSceneNode

irr::scene::IShadowVolumeSceneNode

irr::scene::ITerrainSceneNode

irr::scene::ITextSceneNode

Public Member Functions


• virtual void addAnimator (ISceneNodeAnimator ∗animator)
Adds an animator which should animate this node.

• virtual void addChild (ISceneNode ∗child)


Adds a child to this scene node.

• virtual ISceneNode ∗ clone (ISceneNode ∗newParent=0, ISceneManager ∗newManager=0)


Creates a clone of this scene node and its children.

• virtual void deserializeAttributes (io::IAttributes ∗in, io::SAttributeReadWriteOptions ∗options=0)


Reads attributes of the scene node.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 509

• virtual core::vector3df getAbsolutePosition () const


Gets the abolute position of the node.

• const core::matrix4 & getAbsoluteTransformation () const


• const core::list< ISceneNodeAnimator ∗ > & getAnimators () const
Get a list of all scene node animators.

• E_CULLING_TYPE getAutomaticCulling () const


Gets the automatic culling state.

• virtual const core::aabbox3d< f32 > & getBoundingBox () const =0


Get the axis aligned, not transformed bounding box of this node.

• const core::list< ISceneNode ∗ > & getChildren () const


Returns a const reference to the list of all children.

• virtual s32 getID () const


Get the id of the scene node.

• virtual video::SMaterial & getMaterial (u32 num)


Returns the material based on the zero based index i.

• virtual u32 getMaterialCount () const


Get amount of materials used by this scene node.

• virtual const c8 ∗ getName () const


Returns the name of the node.

• scene::ISceneNode ∗ getParent () const


Returns the parent of this scene node.

• virtual const core::vector3df getPosition () const


Gets the position of the node.

• virtual core::matrix4 getRelativeTransformation () const


Returns the relative transformation of the scene node.

• virtual const core::vector3df & getRotation () const


Gets the rotation of the node.

• virtual core::vector3df getScale () const


Gets the relative scale of the scene node.

• virtual const core::aabbox3d< f32 > getTransformedBoundingBox () const


Get the axis aligned, transformed and animated absolute bounding box of this node.

• virtual ITriangleSelector ∗ getTriangleSelector () const


Returns the triangle selector attached to this scene node.

• virtual ESCENE_NODE_TYPE getType () const

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


510 Irrlicht Engine Class Documentation

Returns type of the scene node.

• ISceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id=-1, const core::vector3df &po-
sition=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const
core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.

• s32 isDebugDataVisible () const


Returns if debug data like bounding boxes are drawn.

• bool isDebugObject () const


Returns if this scene node is a debug object.

• virtual bool isVisible () const


Returns true if the node is visible.

• virtual void OnAnimate (u32 timeMs)


OnAnimate() is called just before rendering the whole scene.

• virtual void OnRegisterSceneNode ()


This method is called just before the rendering process of the whole scene.

• virtual void remove ()


Removes this scene node from the scene, deleting it.

• virtual void removeAll ()


Removes all children of this scene node.

• virtual void removeAnimator (ISceneNodeAnimator ∗animator)


Removes an animator from this scene node.

• virtual void removeAnimators ()


Removes all animators from this scene node.

• virtual bool removeChild (ISceneNode ∗child)


Removes a child from this scene node.

• virtual void render ()=0


Renders the node.

• virtual void serializeAttributes (io::IAttributes ∗out, io::SAttributeReadWriteOptions ∗options=0)


const
Writes attributes of the scene node.

• void setAutomaticCulling (E_CULLING_TYPE state)


Enables or disables automatic culling based on the bounding box.

• virtual void setDebugDataVisible (s32 state)


Sets if debug data like bounding boxes should be drawn.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 511

• virtual void setID (s32 id)


Sets the id of the scene node.

• void setIsDebugObject (bool debugObject)


Sets if this scene node is a debug object.

• void setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)


Sets all material flags at once to a new value.

• void setMaterialTexture (u32 textureLayer, video::ITexture ∗texture)


Sets the texture of the specified layer in all materials of this scene node to the new texture.

• void setMaterialType (video::E_MATERIAL_TYPE newType)


Sets the material type of all materials in this scene node to a new material type.

• virtual void setName (const c8 ∗name)


Sets the name of the node.

• virtual void setParent (ISceneNode ∗newParent)


Changes the parent of the scene node.

• virtual void setPosition (const core::vector3df &newpos)


Sets the position of the node.

• virtual void setRotation (const core::vector3df &rotation)


Sets the rotation of the node.

• virtual void setScale (const core::vector3df &scale)


Sets the relative scale of the scene node.

• virtual void setTriangleSelector (ITriangleSelector ∗selector)


Sets the triangle selector of the scene node.

• virtual void setVisible (bool isVisible)


Sets if the node should be visible or not.

• virtual void updateAbsolutePosition ()


Updates the absolute position based on the relative and the parents position.

• virtual ∼ISceneNode ()
Destructor.

Protected Member Functions


• void cloneMembers (ISceneNode ∗toCopyFrom, ISceneManager ∗newManager)
A clone function for the ISceneNode members.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


512 Irrlicht Engine Class Documentation

Protected Attributes

• core::matrix4 AbsoluteTransformation
Absolute transformation of the node.

• core::list< ISceneNodeAnimator ∗ > Animators


List of all animator nodes.

• E_CULLING_TYPE AutomaticCullingState
Automatic culling state.

• core::list< ISceneNode ∗ > Children


List of all children of this node.

• s32 DebugDataVisible
Flag if debug data should be drawn, such as Bounding Boxes.

• s32 ID
ID of the node.

• bool IsDebugObject
Is debug object?

• bool IsVisible
Is the node visible?

• core::stringc Name
Name of the scene node.

• ISceneNode ∗ Parent
Pointer to the parent.

• core::vector3df RelativeRotation
Relative rotation of the scene node.

• core::vector3df RelativeScale
Relative scale of the scene node.

• core::vector3df RelativeTranslation
Relative translation of the scene node.

• ISceneManager ∗ SceneManager
Pointer to the scene manager.

• ITriangleSelector ∗ TriangleSelector
Pointer to the triangle selector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 513

7.86.1 Detailed Description

Scene node interface.


A scene node is a node in the hierarchical scene graph. Every scene node may have children, which are
also scene nodes. Children move relative to their parent’s position. If the parent of a node is not visible, its
children won’t be visible either. In this way, it is for example easily possible to attach a light to a moving
car, or to place a walking character on a moving platform on a moving ship.
Definition at line 35 of file ISceneNode.h.

7.86.2 Constructor & Destructor Documentation

7.86.2.1 irr::scene::ISceneNode::ISceneNode (ISceneNode ∗ parent, ISceneManager ∗ mgr,


s32 id = -1, const core::vector3df & position = core::vector3df(0,0,0), const
core::vector3df & rotation = core::vector3df(0,0,0), const core::vector3df &
scale = core::vector3df(1.0f, 1.0f, 1.0f)) [inline]

Constructor.
Definition at line 40 of file ISceneNode.h.
References addChild(), AutomaticCullingState, DebugDataVisible, irr::scene::EAC_BOX,
irr::scene::EDS_OFF, ID, IsDebugObject, IsVisible, Parent, RelativeRotation, RelativeScale, Relative-
Translation, SceneManager, TriangleSelector, and updateAbsolutePosition().

7.86.2.2 virtual irr::scene::ISceneNode::∼ISceneNode () [inline, virtual]

Destructor.
Definition at line 57 of file ISceneNode.h.
References Animators, irr::core::list< T >::begin(), irr::IReferenceCounted::drop(), irr::core::list< T
>::end(), removeAll(), and TriangleSelector.

7.86.3 Member Function Documentation

7.86.3.1 virtual void irr::scene::ISceneNode::addAnimator (ISceneNodeAnimator ∗ animator)


[inline, virtual]

Adds an animator which should animate this node.

Parameters:
animator A pointer to the new animator.

Definition at line 296 of file ISceneNode.h.


References Animators, and irr::core::list< T >::push_back().
Referenced by cloneMembers().

7.86.3.2 virtual void irr::scene::ISceneNode::addChild (ISceneNode ∗ child) [inline,


virtual]

Adds a child to this scene node.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


514 Irrlicht Engine Class Documentation

If the scene node already has a parent it is first removed from the other parent.

Parameters:
child A pointer to the new child.

Definition at line 239 of file ISceneNode.h.


References Children, and irr::core::list< T >::push_back().
Referenced by ISceneNode(), and setParent().

7.86.3.3 virtual ISceneNode∗ irr::scene::ISceneNode::clone (ISceneNode ∗ newParent = 0,


ISceneManager ∗ newManager = 0) [inline, virtual]

Creates a clone of this scene node and its children.

Parameters:
newParent An optional new parent.
newManager An optional new scene manager.

Returns:
The newly created clone of this node.

Definition at line 661 of file ISceneNode.h.

7.86.3.4 void irr::scene::ISceneNode::cloneMembers (ISceneNode ∗ toCopyFrom, ISceneManager


∗ newManager) [inline, protected]

A clone function for the ISceneNode members.


This method can be used by clone() implementations of derived classes

Parameters:
toCopyFrom The node from which the values are copied
newManager The new scene manager.

Definition at line 673 of file ISceneNode.h.


References AbsoluteTransformation, addAnimator(), AutomaticCullingState, DebugDataVisible,
irr::IReferenceCounted::drop(), irr::core::list< T >::end(), ID, IsDebugObject, IsVisible, Name, Relative-
Rotation, RelativeScale, RelativeTranslation, SceneManager, and setTriangleSelector().

7.86.3.5 virtual void irr::scene::ISceneNode::deserializeAttributes (io::IAttributes ∗ in,


io::SAttributeReadWriteOptions ∗ options = 0) [inline, virtual]

Reads attributes of the scene node.


Implement this to set the attributes of your scene node for scripting languages, editors, debuggers or xml
deserialization purposes.

Parameters:
in The attribute container to read from.
options Additional options which might influence the deserialization.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 515

Reimplemented from irr::io::IAttributeExchangingObject.


Definition at line 636 of file ISceneNode.h.
References AutomaticCullingState, DebugDataVisible, ID, IsDebugObject, IsVisible, Name, setPosition(),
setRotation(), setScale(), and updateAbsolutePosition().

7.86.3.6 virtual core::vector3df irr::scene::ISceneNode::getAbsolutePosition () const [inline,


virtual]

Gets the abolute position of the node.

Returns:
The current absolute position of the scene node.

Definition at line 451 of file ISceneNode.h.


References AbsoluteTransformation, and irr::core::CMatrix4< T >::getTranslation().

7.86.3.7 const core::matrix4& irr::scene::ISceneNode::getAbsoluteTransformation () const


[inline]

Get the absolute transformation of the node. Is recalculated every OnAnimate()-call.

Returns:
The absolute transformation matrix.

Definition at line 168 of file ISceneNode.h.


References AbsoluteTransformation.
Referenced by updateAbsolutePosition().

7.86.3.8 const core::list<ISceneNodeAnimator∗>& irr::scene::ISceneNode::getAnimators ()


const [inline]

Get a list of all scene node animators.

Returns:
The list of animators attached to this node.

Definition at line 308 of file ISceneNode.h.


References Animators.

7.86.3.9 E_CULLING_TYPE irr::scene::ISceneNode::getAutomaticCulling () const [inline]

Gets the automatic culling state.

Returns:
The automatic culling state.

Definition at line 471 of file ISceneNode.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and AutomaticCulling-
State.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


516 Irrlicht Engine Class Documentation

7.86.3.10 virtual const core::aabbox3d<f32>& irr::scene::ISceneNode::getBoundingBox () const


[pure virtual]

Get the axis aligned, not transformed bounding box of this node.
This means that if this node is an animated 3d character, moving in a room, the bounding box will always
be around the origin. To get the box in real world coordinates, just transform it with the matrix you receive
with getAbsoluteTransformation() or simply use getTransformedBoundingBox(), which does the same.

Returns:
The non-transformed bounding box.

Implemented in irr::scene::IBoneSceneNode, and irr::scene::ITerrainSceneNode.


Referenced by getTransformedBoundingBox().

7.86.3.11 const core::list<ISceneNode∗>& irr::scene::ISceneNode::getChildren () const


[inline]

Returns a const reference to the list of all children.

Returns:
The list of all children of this node.

Definition at line 517 of file ISceneNode.h.


References Children.

7.86.3.12 virtual s32 irr::scene::ISceneNode::getID () const [inline, virtual]

Get the id of the scene node.


This id can be used to identify the node.

Returns:
The id.

Definition at line 220 of file ISceneNode.h.


References ID.

7.86.3.13 virtual video::SMaterial& irr::scene::ISceneNode::getMaterial (u32 num) [inline,


virtual]

Returns the material based on the zero based index i.


To get the amount of materials used by this scene node, use getMaterialCount(). This function is needed
for inserting the node into the scene hierarchy at an optimal position for minimizing renderstate changes,
but can also be used to directly modify the material of a scene node.

Parameters:
num Zero based index. The maximal value is getMaterialCount() - 1.

Returns:
The material at that index.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 517

Definition at line 348 of file ISceneNode.h.


Referenced by setMaterialFlag(), setMaterialTexture(), and setMaterialType().

7.86.3.14 virtual u32 irr::scene::ISceneNode::getMaterialCount () const [inline, virtual]

Get amount of materials used by this scene node.

Returns:
Current amount of materials of this scene node.

Definition at line 356 of file ISceneNode.h.


Referenced by setMaterialFlag(), setMaterialTexture(), and setMaterialType().

7.86.3.15 virtual const c8∗ irr::scene::ISceneNode::getName () const [inline, virtual]

Returns the name of the node.

Returns:
Name as character string.

Definition at line 131 of file ISceneNode.h.


References irr::core::string< T, TAlloc >::c_str(), and Name.

7.86.3.16 scene::ISceneNode∗ irr::scene::ISceneNode::getParent () const [inline]

Returns the parent of this scene node.

Returns:
A pointer to the parent.

Definition at line 590 of file ISceneNode.h.


References Parent.

7.86.3.17 virtual const core::vector3df irr::scene::ISceneNode::getPosition () const [inline,


virtual]

Gets the position of the node.


Note that the position is relative to the parent.

Returns:
The current position of the node relative to the parent.

Definition at line 434 of file ISceneNode.h.


References RelativeTranslation.
Referenced by serializeAttributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


518 Irrlicht Engine Class Documentation

7.86.3.18 virtual core::matrix4 irr::scene::ISceneNode::getRelativeTransformation () const


[inline, virtual]

Returns the relative transformation of the scene node.


The relative transformation is stored internally as 3 vectors: translation, rotation and scale. To get the
relative transformation matrix, it is calculated from these values.

Returns:
The relative transformation matrix.

Definition at line 179 of file ISceneNode.h.


References RelativeRotation, RelativeScale, RelativeTranslation, irr::core::CMatrix4< T >::setRotation-
Degrees(), irr::core::CMatrix4< T >::setScale(), and irr::core::CMatrix4< T >::setTranslation().
Referenced by updateAbsolutePosition().

7.86.3.19 virtual const core::vector3df& irr::scene::ISceneNode::getRotation () const [inline,


virtual]

Gets the rotation of the node.


Note that this is the relative rotation of the node.

Returns:
Current relative rotation of the scene node.

Definition at line 416 of file ISceneNode.h.


References RelativeRotation.
Referenced by serializeAttributes().

7.86.3.20 virtual core::vector3df irr::scene::ISceneNode::getScale () const [inline,


virtual]

Gets the relative scale of the scene node.

Returns:
The scale of the scene node.

Definition at line 399 of file ISceneNode.h.


References RelativeScale.
Referenced by serializeAttributes().

7.86.3.21 virtual const core::aabbox3d<f32> irr::scene::ISceneNode::getTransformedBounding-


Box () const [inline, virtual]

Get the axis aligned, transformed and animated absolute bounding box of this node.

Returns:
The transformed bounding box.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 519

Definition at line 158 of file ISceneNode.h.


References AbsoluteTransformation, getBoundingBox(), and irr::core::CMatrix4< T >::transformBox().

7.86.3.22 virtual ITriangleSelector∗ irr::scene::ISceneNode::getTriangleSelector () const


[inline, virtual]

Returns the triangle selector attached to this scene node.


The Selector can be used by the engine for doing collision detection. You can create a TriangleSelector
with ISceneManager::createTriangleSelector() or ISceneManager::createOctTreeTriangleSelector and set
it with ISceneNode::setTriangleSelector(). If a scene node got no triangle selector, but collision tests should
be done with it, a triangle selector is created using the bounding box of the scene node.

Returns:
A pointer to the TriangleSelector or 0, if there is none.

Definition at line 549 of file ISceneNode.h.


References TriangleSelector.

7.86.3.23 virtual ESCENE_NODE_TYPE irr::scene::ISceneNode::getType () const [inline,


virtual]

Returns type of the scene node.

Returns:
The type of this node.

Definition at line 598 of file ISceneNode.h.


References irr::scene::ESNT_UNKNOWN.

7.86.3.24 s32 irr::scene::ISceneNode::isDebugDataVisible () const [inline]

Returns if debug data like bounding boxes are drawn.

Returns:
A bitwise OR of the debug data values currently visible.

Definition at line 489 of file ISceneNode.h.


References DebugDataVisible.

7.86.3.25 bool irr::scene::ISceneNode::isDebugObject () const [inline]

Returns if this scene node is a debug object.


Debug objects have some special properties, for example they can be easily excluded from collision detec-
tion or from serialization, etc.

Returns:
If this node is a debug object, true is returned.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


520 Irrlicht Engine Class Documentation

Definition at line 508 of file ISceneNode.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsDebugObject.

7.86.3.26 virtual bool irr::scene::ISceneNode::isVisible () const [inline, virtual]

Returns true if the node is visible.


This is only an option set by the user, but has nothing to do with geometry culling

Returns:
The visibility of the node, true means visible.

Definition at line 200 of file ISceneNode.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsVisible.

7.86.3.27 virtual void irr::scene::ISceneNode::OnAnimate (u32 timeMs) [inline, virtual]

OnAnimate() is called just before rendering the whole scene.


Nodes may calculate or store animations here, and may do other useful things, depending on what they are.
Also, OnAnimate() should be called for all child scene nodes here. This method will be called once per
frame, independent of whether the scene node is visible or not.

Parameters:
timeMs Current time in milliseconds.

Reimplemented in irr::scene::IBoneSceneNode.
Definition at line 103 of file ISceneNode.h.
References Animators, irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), IsVisible, and
updateAbsolutePosition().

7.86.3.28 virtual void irr::scene::ISceneNode::OnRegisterSceneNode () [inline, virtual]

This method is called just before the rendering process of the whole scene.
Nodes may register themselves in the render pipeline during this call, precalculate the geometry which
should be renderered, and prevent their children from being able to register themselves if they are clipped
by simply not calling their OnRegisterSceneNode method. If you are implementing your own scene node,
you should overwrite this method with an implementation code looking like this:

if (IsVisible)
SceneManager->registerNodeForRendering(this);

ISceneNode::OnRegisterSceneNode();

Definition at line 86 of file ISceneNode.h.


References irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), and IsVisible.

7.86.3.29 virtual void irr::scene::ISceneNode::remove () [inline, virtual]

Removes this scene node from the scene, deleting it.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 521

Definition at line 287 of file ISceneNode.h.


References Parent, and removeChild().
Referenced by setParent().

7.86.3.30 virtual void irr::scene::ISceneNode::removeAll () [inline, virtual]

Removes all children of this scene node.


Definition at line 273 of file ISceneNode.h.
References irr::core::list< T >::begin(), Children, irr::core::list< T >::clear(), and irr::core::list< T
>::end().
Referenced by ∼ISceneNode().

7.86.3.31 virtual void irr::scene::ISceneNode::removeAnimator (ISceneNodeAnimator ∗


animator) [inline, virtual]

Removes an animator from this scene node.

Parameters:
animator A pointer to the animator to be deleted.

Definition at line 316 of file ISceneNode.h.


References Animators, irr::core::list< T >::begin(), irr::core::list< T >::end(), and irr::core::list< T
>::erase().

7.86.3.32 virtual void irr::scene::ISceneNode::removeAnimators () [inline, virtual]

Removes all animators from this scene node.


Definition at line 330 of file ISceneNode.h.
References Animators, irr::core::list< T >::begin(), irr::core::list< T >::clear(), and irr::core::list< T
>::end().

7.86.3.33 virtual bool irr::scene::ISceneNode::removeChild (ISceneNode ∗ child) [inline,


virtual]

Removes a child from this scene node.

Parameters:
child A pointer to the new child.

Returns:
True if the child was removed, and false if not, e.g. because it couldn’t be found in the children list.

Definition at line 255 of file ISceneNode.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, irr::core::list< T >::begin(),
Children, irr::core::list< T >::end(), and irr::core::list< T >::erase().
Referenced by remove().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


522 Irrlicht Engine Class Documentation

7.86.3.34 virtual void irr::scene::ISceneNode::render () [pure virtual]

Renders the node.


Implemented in irr::scene::IBoneSceneNode.

7.86.3.35 virtual void irr::scene::ISceneNode::serializeAttributes (io::IAttributes ∗ out,


io::SAttributeReadWriteOptions ∗ options = 0) const [inline, virtual]

Writes attributes of the scene node.


Implement this to expose the attributes of your scene node for scripting languages, editors, debuggers or
xml serialization purposes.

Parameters:
out The attribute container to write into.
options Additional options which might influence the serialization.

Reimplemented from irr::io::IAttributeExchangingObject.


Definition at line 611 of file ISceneNode.h.
References irr::scene::AutomaticCullingNames, AutomaticCullingState, irr::core::string< T, TAlloc
>::c_str(), DebugDataVisible, getPosition(), getRotation(), getScale(), ID, IsDebugObject, IsVisible, and
Name.

7.86.3.36 void irr::scene::ISceneNode::setAutomaticCulling (E_CULLING_TYPE state)


[inline]

Enables or disables automatic culling based on the bounding box.


Automatic culling is enabled by default. Note that not all SceneNodes support culling and that some nodes
always cull their geometry because it is their only reason for existence, for example the OctreeScene-
Node.

Parameters:
state The culling state to be used.

Definition at line 463 of file ISceneNode.h.


References AutomaticCullingState.

7.86.3.37 virtual void irr::scene::ISceneNode::setDebugDataVisible (s32 state) [inline,


virtual]

Sets if debug data like bounding boxes should be drawn.


A bitwise OR of the types is supported. Please note that not all scene nodes support this feature.

Parameters:
state The debug data visibility state to be used.

Definition at line 482 of file ISceneNode.h.


References DebugDataVisible.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 523

7.86.3.38 virtual void irr::scene::ISceneNode::setID (s32 id) [inline, virtual]

Sets the id of the scene node.


This id can be used to identify the node.

Parameters:
id The new id.

Definition at line 229 of file ISceneNode.h.


References ID.

7.86.3.39 void irr::scene::ISceneNode::setIsDebugObject (bool debugObject) [inline]

Sets if this scene node is a debug object.


Debug objects have some special properties, for example they can be easily excluded from collision detec-
tion or from serialization, etc.
Definition at line 498 of file ISceneNode.h.
References IsDebugObject.

7.86.3.40 void irr::scene::ISceneNode::setMaterialFlag (video::E_MATERIAL_FLAG flag, bool


newvalue) [inline]

Sets all material flags at once to a new value.


Useful, for example, if you want the whole mesh to be affected by light.

Parameters:
flag Which flag of all materials to be set.
newvalue New value of that flag.

Definition at line 367 of file ISceneNode.h.


References getMaterial(), getMaterialCount(), and irr::video::SMaterial::setFlag().

7.86.3.41 void irr::scene::ISceneNode::setMaterialTexture (u32 textureLayer, video::ITexture ∗


texture) [inline]

Sets the texture of the specified layer in all materials of this scene node to the new texture.

Parameters:
textureLayer Layer of texture to be set. Must be a value smaller than MATERIAL_MAX_-
TEXTURES.
texture New texture to be used.

Definition at line 378 of file ISceneNode.h.


References getMaterial(), getMaterialCount(), and irr::video::SMaterial::setTexture().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


524 Irrlicht Engine Class Documentation

7.86.3.42 void irr::scene::ISceneNode::setMaterialType (video::E_MATERIAL_TYPE newType)


[inline]

Sets the material type of all materials in this scene node to a new material type.

Parameters:
newType New type of material to be set.

Definition at line 390 of file ISceneNode.h.


References getMaterial(), getMaterialCount(), and irr::video::SMaterial::MaterialType.

7.86.3.43 virtual void irr::scene::ISceneNode::setName (const c8 ∗ name) [inline,


virtual]

Sets the name of the node.

Parameters:
name New name of the scene node.

Definition at line 139 of file ISceneNode.h.


References Name.

7.86.3.44 virtual void irr::scene::ISceneNode::setParent (ISceneNode ∗ newParent) [inline,


virtual]

Changes the parent of the scene node.

Parameters:
newParent The new parent to be used.

Definition at line 525 of file ISceneNode.h.


References addChild(), irr::IReferenceCounted::drop(), irr::IReferenceCounted::grab(), Parent, and re-
move().

7.86.3.45 virtual void irr::scene::ISceneNode::setPosition (const core::vector3df & newpos)


[inline, virtual]

Sets the position of the node.


Note that the position is relative to the parent.

Parameters:
newpos New relative postition of the scene node.

Definition at line 443 of file ISceneNode.h.


References RelativeTranslation.
Referenced by deserializeAttributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 525

7.86.3.46 virtual void irr::scene::ISceneNode::setRotation (const core::vector3df & rotation)


[inline, virtual]

Sets the rotation of the node.


This only modifies the relative rotation of the node.

Parameters:
rotation New rotation of the node in degrees.

Definition at line 425 of file ISceneNode.h.


References RelativeRotation.
Referenced by deserializeAttributes().

7.86.3.47 virtual void irr::scene::ISceneNode::setScale (const core::vector3df & scale)


[inline, virtual]

Sets the relative scale of the scene node.

Parameters:
scale New scale of the node

Definition at line 407 of file ISceneNode.h.


References RelativeScale.
Referenced by deserializeAttributes().

7.86.3.48 virtual void irr::scene::ISceneNode::setTriangleSelector (ITriangleSelector ∗ selector)


[inline, virtual]

Sets the triangle selector of the scene node.


The Selector can be used by the engine for doing collision detection. You can create a TriangleSelector
with ISceneManager::createTriangleSelector() or ISceneManager::createOctTreeTriangleSelector(). Some
nodes may create their own selector by default, so it would be good to check if there is already a selector
in this node by calling ISceneNode::getTriangleSelector().

Parameters:
selector New triangle selector for this scene node.

Definition at line 564 of file ISceneNode.h.


References irr::IReferenceCounted::drop(), irr::IReferenceCounted::grab(), and TriangleSelector.
Referenced by cloneMembers().

7.86.3.49 virtual void irr::scene::ISceneNode::setVisible (bool isVisible) [inline, virtual]

Sets if the node should be visible or not.


All children of this node won’t be visible either, when set to true.

Parameters:
isVisible If the node shall be visible.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


526 Irrlicht Engine Class Documentation

Definition at line 211 of file ISceneNode.h.


References IsVisible.

7.86.3.50 virtual void irr::scene::ISceneNode::updateAbsolutePosition () [inline,


virtual]

Updates the absolute position based on the relative and the parents position.
Definition at line 576 of file ISceneNode.h.
References AbsoluteTransformation, getAbsoluteTransformation(), getRelativeTransformation(), and Par-
ent.
Referenced by deserializeAttributes(), ISceneNode(), and OnAnimate().

7.86.4 Member Data Documentation

7.86.4.1 core::matrix4 irr::scene::ISceneNode::AbsoluteTransformation [protected]

Absolute transformation of the node.


Definition at line 716 of file ISceneNode.h.
Referenced by cloneMembers(), getAbsolutePosition(), getAbsoluteTransformation(), getTransformed-
BoundingBox(), and updateAbsolutePosition().

7.86.4.2 core::list<ISceneNodeAnimator∗> irr::scene::ISceneNode::Animators [protected]

List of all animator nodes.


Definition at line 734 of file ISceneNode.h.
Referenced by addAnimator(), getAnimators(), OnAnimate(), removeAnimator(), removeAnimators(), and
∼ISceneNode().

7.86.4.3 E_CULLING_TYPE irr::scene::ISceneNode::AutomaticCullingState [protected]

Automatic culling state.


Definition at line 746 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), getAutomaticCulling(), ISceneNode(), serialize-
Attributes(), and setAutomaticCulling().

7.86.4.4 core::list<ISceneNode∗> irr::scene::ISceneNode::Children [protected]

List of all children of this node.


Definition at line 731 of file ISceneNode.h.
Referenced by addChild(), getChildren(), OnAnimate(), OnRegisterSceneNode(), removeAll(), and
removeChild().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.86 irr::scene::ISceneNode Class Reference 527

7.86.4.5 s32 irr::scene::ISceneNode::DebugDataVisible [protected]

Flag if debug data should be drawn, such as Bounding Boxes.


Definition at line 752 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), ISceneNode(), isDebugDataVisible(), serialize-
Attributes(), and setDebugDataVisible().

7.86.4.6 s32 irr::scene::ISceneNode::ID [protected]

ID of the node.
Definition at line 737 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), getID(), ISceneNode(), serializeAttributes(), and
setID().

7.86.4.7 bool irr::scene::ISceneNode::IsDebugObject [protected]

Is debug object?
Definition at line 755 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), ISceneNode(), isDebugObject(), serialize-
Attributes(), and setIsDebugObject().

7.86.4.8 bool irr::scene::ISceneNode::IsVisible [protected]

Is the node visible?


Definition at line 749 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), ISceneNode(), isVisible(), OnAnimate(), On-
RegisterSceneNode(), serializeAttributes(), and setVisible().

7.86.4.9 core::stringc irr::scene::ISceneNode::Name [protected]

Name of the scene node.


Definition at line 713 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), getName(), serializeAttributes(), and setName().

7.86.4.10 ISceneNode∗ irr::scene::ISceneNode::Parent [protected]

Pointer to the parent.


Definition at line 728 of file ISceneNode.h.
Referenced by getParent(), ISceneNode(), remove(), setParent(), and updateAbsolutePosition().

7.86.4.11 core::vector3df irr::scene::ISceneNode::RelativeRotation [protected]

Relative rotation of the scene node.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


528 Irrlicht Engine Class Documentation

Definition at line 722 of file ISceneNode.h.


Referenced by cloneMembers(), getRelativeTransformation(), getRotation(), ISceneNode(), and set-
Rotation().

7.86.4.12 core::vector3df irr::scene::ISceneNode::RelativeScale [protected]

Relative scale of the scene node.


Definition at line 725 of file ISceneNode.h.
Referenced by cloneMembers(), getRelativeTransformation(), getScale(), ISceneNode(), and setScale().

7.86.4.13 core::vector3df irr::scene::ISceneNode::RelativeTranslation [protected]

Relative translation of the scene node.


Definition at line 719 of file ISceneNode.h.
Referenced by cloneMembers(), getPosition(), getRelativeTransformation(), ISceneNode(), and set-
Position().

7.86.4.14 ISceneManager∗ irr::scene::ISceneNode::SceneManager [protected]

Pointer to the scene manager.


Definition at line 740 of file ISceneNode.h.
Referenced by cloneMembers(), and ISceneNode().

7.86.4.15 ITriangleSelector∗ irr::scene::ISceneNode::TriangleSelector [protected]

Pointer to the triangle selector.


Definition at line 743 of file ISceneNode.h.
Referenced by getTriangleSelector(), ISceneNode(), setTriangleSelector(), and ∼ISceneNode().
The documentation for this class was generated from the following file:

• ISceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.87 irr::scene::ISceneNodeAnimator Class Reference 529

7.87 irr::scene::ISceneNodeAnimator Class Reference


Animates a scene node. Can animate position, rotation, material, and so on.
#include <ISceneNodeAnimator.h>
Inheritance diagram for irr::scene::ISceneNodeAnimator::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNodeAnimator

irr::scene::ISceneNodeAnimatorCollisionResponse

Public Member Functions


• virtual void animateNode (ISceneNode ∗node, u32 timeMs)=0
Animates a scene node.

• virtual ISceneNodeAnimator ∗ createClone (ISceneNode ∗node, ISceneManager ∗new-


Manager=0)
Creates a clone of this animator.

• virtual ESCENE_NODE_ANIMATOR_TYPE getType () const


Returns type of the scene node animator.

• virtual ∼ISceneNodeAnimator ()
Destructor.

7.87.1 Detailed Description

Animates a scene node. Can animate position, rotation, material, and so on.
A scene node animator is able to animate a scene node in a very simple way. It may change its position,
rotation, scale and/or material. There are lots of animators to choose from. You can create scene node
animators with the ISceneManager interface.
Definition at line 29 of file ISceneNodeAnimator.h.

7.87.2 Constructor & Destructor Documentation

7.87.2.1 virtual irr::scene::ISceneNodeAnimator::∼ISceneNodeAnimator () [inline,


virtual]

Destructor.
Definition at line 34 of file ISceneNodeAnimator.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


530 Irrlicht Engine Class Documentation

7.87.3 Member Function Documentation

7.87.3.1 virtual void irr::scene::ISceneNodeAnimator::animateNode (ISceneNode ∗ node, u32


timeMs) [pure virtual]

Animates a scene node.

Parameters:
node Node to animate.
timeMs Current time in milli seconds.

7.87.3.2 virtual ISceneNodeAnimator∗ irr::scene::ISceneNodeAnimator::createClone


(ISceneNode ∗ node, ISceneManager ∗ newManager = 0) [inline, virtual]

Creates a clone of this animator.


Please note that you will have to drop (IReferenceCounted::drop()) the returned pointer after calling this.
Definition at line 45 of file ISceneNodeAnimator.h.

7.87.3.3 virtual ESCENE_NODE_ANIMATOR_TYPE irr::scene::ISceneNodeAnimator::getType


() const [inline, virtual]

Returns type of the scene node animator.


Definition at line 51 of file ISceneNodeAnimator.h.
References irr::scene::ESNAT_UNKNOWN.
The documentation for this class was generated from the following file:

• ISceneNodeAnimator.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.88 irr::scene::ISceneNodeAnimatorCollisionResponse Class Reference 531

7.88 irr::scene::ISceneNodeAnimatorCollisionResponse Class Ref-


erence
Special scene node animator for doing automatic collision detection and response.
#include <ISceneNodeAnimatorCollisionResponse.h>
Inheritance diagram for irr::scene::ISceneNodeAnimatorCollisionResponse::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNodeAnimator

irr::scene::ISceneNodeAnimatorCollisionResponse

Public Member Functions


• virtual core::vector3df getEllipsoidRadius () const =0
Returns the radius of the ellipsoid for collision detection and response.

• virtual core::vector3df getEllipsoidTranslation () const =0


Get the translation of the ellipsoid for collision detection.

• ∗virtual core::vector3df getGravity () const =0


• virtual ITriangleSelector ∗ getWorld () const =0
Get the current triangle selector containing all triangles for collision detection.

• virtual bool isFalling () const =0


Check if the attached scene node is falling.

• virtual void setEllipsoidRadius (const core::vector3df &radius)=0


Sets the radius of the ellipsoid for collision detection and response.

• virtual void setEllipsoidTranslation (const core::vector3df &translation)=0


Set translation of the collision ellipsoid.

• virtual void setGravity (const core::vector3df &gravity)=0


Sets the gravity of the environment.

• virtual void setWorld (ITriangleSelector ∗newWorld)=0


Sets a triangle selector holding all triangles of the world with which the scene node may collide.

• virtual ∼ISceneNodeAnimatorCollisionResponse ()
Destructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


532 Irrlicht Engine Class Documentation

7.88.1 Detailed Description

Special scene node animator for doing automatic collision detection and response.
This scene node animator can be attached to any scene node modifying it in that way, that it cannot move
through walls of the world, is influenced by gravity and acceleration. This animator is useful for example
for first person shooter games. Attach it for example to a first person shooter camera, and the camera will
behave as the player control in a first person shooter game: The camera stops and slides at walls, walks up
stairs, falls down if there is no floor under it, and so on.
Definition at line 24 of file ISceneNodeAnimatorCollisionResponse.h.

7.88.2 Constructor & Destructor Documentation

7.88.2.1 virtual irr::scene::ISceneNodeAnimatorCollisionResponse::∼ISceneNodeAnimator-


CollisionResponse () [inline, virtual]

Destructor.
Definition at line 29 of file ISceneNodeAnimatorCollisionResponse.h.

7.88.3 Member Function Documentation

7.88.3.1 virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoid-


Radius () const [pure virtual]

Returns the radius of the ellipsoid for collision detection and response.

Returns:
Radius of the ellipsoid.

7.88.3.2 virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoid-


Translation () const [pure virtual]

Get the translation of the ellipsoid for collision detection.


See ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation() for more details.

Returns:
Translation of the ellipsoid relative to the position of the scene node.

7.88.3.3 ∗ virtual core::vector3df irr::scene::ISceneNodeAnimatorCollisionResponse::getGravity


() const [pure virtual]

Get current vector of gravity.

Returns:
Gravity vector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.88 irr::scene::ISceneNodeAnimatorCollisionResponse Class Reference 533

7.88.3.4 virtual ITriangleSelector∗ irr::scene::ISceneNodeAnimatorCollisionResponse::getWorld


() const [pure virtual]

Get the current triangle selector containing all triangles for collision detection.

7.88.3.5 virtual bool irr::scene::ISceneNodeAnimatorCollisionResponse::isFalling () const


[pure virtual]

Check if the attached scene node is falling.


Falling means that there is no blocking wall from the scene node in the direction of the gravity. The
implementation of this method is very fast, no collision detection is done when invoking it.

Returns:
True if the scene node is falling, false if not.

7.88.3.6 virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidRadius


(const core::vector3df & radius) [pure virtual]

Sets the radius of the ellipsoid for collision detection and response.
If you have a scene node, and you are unsure about how big the radius should be, you could use the
following code to determine it:

core::aabbox<f32> box = yourSceneNode->getBoundingBox();


core::vector3df radius = box.MaxEdge - box.getCenter();

Parameters:
radius: New radius of the ellipsoid.

7.88.3.7 virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation


(const core::vector3df & translation) [pure virtual]

Set translation of the collision ellipsoid.


By default, the ellipsoid for collision detection is created around the center of the scene node, which means
that the ellipsoid surrounds it completely. If this is not what you want, you may specify a translation for
the ellipsoid.

Parameters:
translation: Translation of the ellipsoid relative to the position of the scene node.

7.88.3.8 virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setGravity (const


core::vector3df & gravity) [pure virtual]

Sets the gravity of the environment.


A good example value would be core::vector3df(0,-100.0f,0) for letting gravity affect all object to fall
down. For bigger gravity, make increase the length of the vector. You can disable gravity by setting it to
core::vector3df(0,0,0);

Parameters:
gravity: New gravity vector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


534 Irrlicht Engine Class Documentation

7.88.3.9 virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setWorld


(ITriangleSelector ∗ newWorld) [pure virtual]

Sets a triangle selector holding all triangles of the world with which the scene node may collide.

Parameters:
newWorld: New triangle selector containing triangles to let the scene node collide with.

The documentation for this class was generated from the following file:

• ISceneNodeAnimatorCollisionResponse.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.89 irr::scene::ISceneNodeAnimatorFactory Class Reference 535

7.89 irr::scene::ISceneNodeAnimatorFactory Class Reference


Interface for dynamic creation of scene node animators.
#include <ISceneNodeAnimatorFactory.h>
Inheritance diagram for irr::scene::ISceneNodeAnimatorFactory::

irr::IReferenceCounted

irr::scene::ISceneNodeAnimatorFactory

Public Member Functions


• virtual ISceneNodeAnimator ∗ createSceneNodeAnimator (const c8 ∗typeName, ISceneNode
∗target)=0
creates a scene node animator based on its type name

• virtual ISceneNodeAnimator ∗ createSceneNodeAnimator (ESCENE_NODE_ANIMATOR_TYPE


type, ISceneNode ∗target)=0
creates a scene node animator based on its type id

• virtual u32 getCreatableSceneNodeAnimatorTypeCount () const =0


returns amount of scene node animator types this factory is able to create

• virtual ESCENE_NODE_ANIMATOR_TYPE getCreateableSceneNodeAnimatorType (u32 idx)


const =0
returns type of a createable scene node animator type

• virtual const c8 ∗ getCreateableSceneNodeAnimatorTypeName (ESCENE_NODE_ANIMATOR_-


TYPE type) const =0
returns type name of a createable scene node animator type

• virtual const c8 ∗ getCreateableSceneNodeAnimatorTypeName (u32 idx) const =0


returns type name of a createable scene node animator type

• virtual ∼ISceneNodeAnimatorFactory ()

7.89.1 Detailed Description

Interface for dynamic creation of scene node animators.


To be able to add custom scene node animators to Irrlicht and to make it possible for the scene manager
to save and load those external animators, simply implement this interface and register it in you scene
manager via ISceneManager::registerSceneNodeAnimatorFactory. Note: When implementing your own
scene node factory, don’t call ISceneNodeManager::grab() to increase the reference counter of the scene
node manager. This is not necessary because the scene node manager will grab() the factory anyway, and
otherwise cyclic references will be created and the scene manager and all its nodes won’t get deallocated.
Definition at line 27 of file ISceneNodeAnimatorFactory.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


536 Irrlicht Engine Class Documentation

7.89.2 Constructor & Destructor Documentation

7.89.2.1 virtual irr::scene::ISceneNodeAnimatorFactory::∼ISceneNodeAnimatorFactory ()


[inline, virtual]

Definition at line 31 of file ISceneNodeAnimatorFactory.h.

7.89.3 Member Function Documentation

7.89.3.1 virtual ISceneNodeAnimator∗ irr::scene::ISceneNodeAnimatorFactory::create-


SceneNodeAnimator (const c8 ∗ typeName, ISceneNode ∗ target) [pure
virtual]

creates a scene node animator based on its type name

Parameters:
typeName: Type of the scene node animator to add.
target: Target scene node of the new animator.

Returns:
Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer
after calling this, see IReferenceCounted::drop() for details.

7.89.3.2 virtual ISceneNodeAnimator∗ irr::scene::ISceneNodeAnimatorFactory::createScene-


NodeAnimator (ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode ∗ target)
[pure virtual]

creates a scene node animator based on its type id

Parameters:
type: Type of the scene node animator to add.
target: Target scene node of the new animator.

Returns:
Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer
after calling this, see IReferenceCounted::drop() for details.

7.89.3.3 virtual u32 irr::scene::ISceneNodeAnimatorFactory::getCreatableSceneNodeAnimator-


TypeCount () const [pure virtual]

returns amount of scene node animator types this factory is able to create

7.89.3.4 virtual ESCENE_NODE_ANIMATOR_TYPE irr::scene::ISceneNodeAnimator-


Factory::getCreateableSceneNodeAnimatorType (u32 idx) const [pure
virtual]

returns type of a createable scene node animator type

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.89 irr::scene::ISceneNodeAnimatorFactory Class Reference 537

Parameters:
idx: Index of scene node animator type in this factory. Must be a value between 0 and getCreatable-
SceneNodeTypeCount()

7.89.3.5 virtual const c8∗ irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNode-


AnimatorTypeName (ESCENE_NODE_ANIMATOR_TYPE type) const [pure
virtual]

returns type name of a createable scene node animator type

Parameters:
type: Type of scene node animator.

Returns:
: Returns name of scene node animator type if this factory can create the type, otherwise 0.

7.89.3.6 virtual const c8∗ irr::scene::ISceneNodeAnimatorFactory::get-


CreateableSceneNodeAnimatorTypeName (u32 idx) const [pure
virtual]

returns type name of a createable scene node animator type

Parameters:
idx: Index of scene node animator type in this factory. Must be a value between 0 and getCreatable-
SceneNodeAnimatorTypeCount()

The documentation for this class was generated from the following file:

• ISceneNodeAnimatorFactory.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


538 Irrlicht Engine Class Documentation

7.90 irr::scene::ISceneNodeFactory Class Reference

Interface for dynamic creation of scene nodes.


#include <ISceneNodeFactory.h>
Inheritance diagram for irr::scene::ISceneNodeFactory::

irr::IReferenceCounted

irr::scene::ISceneNodeFactory

Public Member Functions

• virtual ISceneNode ∗ addSceneNode (const c8 ∗typeName, ISceneNode ∗parent=0)=0


adds a scene node to the scene graph based on its type name

• virtual ISceneNode ∗ addSceneNode (ESCENE_NODE_TYPE type, ISceneNode ∗parent=0)=0


adds a scene node to the scene graph based on its type id

• virtual u32 getCreatableSceneNodeTypeCount () const =0


returns amount of scene node types this factory is able to create

• virtual ESCENE_NODE_TYPE getCreateableSceneNodeType (u32 idx) const =0


returns type of a createable scene node type

• virtual const c8 ∗ getCreateableSceneNodeTypeName (ESCENE_NODE_TYPE type) const =0


returns type name of a createable scene node type

• virtual const c8 ∗ getCreateableSceneNodeTypeName (u32 idx) const =0


returns type name of a createable scene node type by index

• virtual ∼ISceneNodeFactory ()

7.90.1 Detailed Description

Interface for dynamic creation of scene nodes.


To be able to add custom scene nodes to Irrlicht and to make it possible for the scene manager to save
and load those external scene nodes, simply implement this interface and register it in you scene manager
via ISceneManager::registerSceneNodeFactory. Note: When implementing your own scene node factory,
don’t call ISceneNodeManager::grab() to increase the reference counter of the scene node manager. This
is not necessary because the scene node manager will grab() the factory anyway, and otherwise cyclic
references will be created and the scene manager and all its nodes won’t get deallocated.
Definition at line 27 of file ISceneNodeFactory.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.90 irr::scene::ISceneNodeFactory Class Reference 539

7.90.2 Constructor & Destructor Documentation

7.90.2.1 virtual irr::scene::ISceneNodeFactory::∼ISceneNodeFactory () [inline, virtual]

Definition at line 31 of file ISceneNodeFactory.h.

7.90.3 Member Function Documentation

7.90.3.1 virtual ISceneNode∗ irr::scene::ISceneNodeFactory::addSceneNode (const c8 ∗


typeName, ISceneNode ∗ parent = 0) [pure virtual]

adds a scene node to the scene graph based on its type name

Parameters:
typeName: Type name of the scene node to add.
parent: Parent scene node of the new node, can be null to add the scene node to the root.

Returns:
Returns pointer to the new scene node or null if not successful.

7.90.3.2 virtual ISceneNode∗ irr::scene::ISceneNodeFactory::addSceneNode


(ESCENE_NODE_TYPE type, ISceneNode ∗ parent = 0) [pure virtual]

adds a scene node to the scene graph based on its type id

Parameters:
type: Type of the scene node to add.
parent: Parent scene node of the new node, can be null to add the scene node to the root.

Returns:
Returns pointer to the new scene node or null if not successful.

7.90.3.3 virtual u32 irr::scene::ISceneNodeFactory::getCreatableSceneNodeTypeCount () const


[pure virtual]

returns amount of scene node types this factory is able to create

7.90.3.4 virtual ESCENE_NODE_TYPE irr::scene::ISceneNodeFactory::getCreateableScene-


NodeType (u32 idx) const [pure virtual]

returns type of a createable scene node type

Parameters:
idx: Index of scene node type in this factory. Must be a value between 0 and getCreatableSceneNode-
TypeCount()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


540 Irrlicht Engine Class Documentation

7.90.3.5 virtual const c8∗ irr::scene::ISceneNodeFactory::getCreateableSceneNodeTypeName


(ESCENE_NODE_TYPE type) const [pure virtual]

returns type name of a createable scene node type

Parameters:
type: Type of scene node.

Returns:
: Returns name of scene node type if this factory can create the type, otherwise 0.

7.90.3.6 virtual const c8∗ irr::scene::ISceneNodeFactory::getCreateableSceneNodeTypeName


(u32 idx) const [pure virtual]

returns type name of a createable scene node type by index

Parameters:
idx: Index of scene node type in this factory. Must be a value between 0 and getCreatableSceneNode-
TypeCount()

The documentation for this class was generated from the following file:

• ISceneNodeFactory.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.91 irr::scene::ISceneUserDataSerializer Class Reference 541

7.91 irr::scene::ISceneUserDataSerializer Class Reference


Interface to read and write user data to and from .irr files.
#include <ISceneUserDataSerializer.h>

Public Member Functions


• virtual io::IAttributes ∗ createUserData (ISceneNode ∗forSceneNode)=0
Called when the scene manager is writing a scene node to an xml file for example.

• virtual void OnReadUserData (ISceneNode ∗forSceneNode, io::IAttributes ∗userData)=0


Called when the scene manager read a scene node while loading a file.

• virtual ∼ISceneUserDataSerializer ()

7.91.1 Detailed Description

Interface to read and write user data to and from .irr files.
This interface is to be imlpemented by the user, to make it possible to read and write user data when
reading or writing .irr files via ISceneManager. To be used with ISceneManager::loadScene() and IScene-
Manager::saveScene()
Definition at line 24 of file ISceneUserDataSerializer.h.

7.91.2 Constructor & Destructor Documentation

7.91.2.1 virtual irr::scene::ISceneUserDataSerializer::∼ISceneUserDataSerializer () [inline,


virtual]

Definition at line 28 of file ISceneUserDataSerializer.h.

7.91.3 Member Function Documentation

7.91.3.1 virtual io::IAttributes∗ irr::scene::ISceneUserDataSerializer::createUserData


(ISceneNode ∗ forSceneNode) [pure virtual]

Called when the scene manager is writing a scene node to an xml file for example.
Implement this method and return a list of attributes containing the user data you want to be saved together
with the scene node. Return 0 if no user data should be added. Please note that the scene manager will call
drop() to the returned pointer after it no longer needs it, so if you didn’t create a new object for the return
value and returning a longer existing IAttributes object, simply call grab() before returning it.

7.91.3.2 virtual void irr::scene::ISceneUserDataSerializer::OnReadUserData (ISceneNode ∗


forSceneNode, io::IAttributes ∗ userData) [pure virtual]

Called when the scene manager read a scene node while loading a file.
The userData pointer contains a list of attributes with userData which were attached to the scene node in
the read scene file.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


542 Irrlicht Engine Class Documentation

The documentation for this class was generated from the following file:

• ISceneUserDataSerializer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.92 irr::video::IShaderConstantSetCallBack Class Reference 543

7.92 irr::video::IShaderConstantSetCallBack Class Reference


Interface making it possible to set constants for gpu programs every frame.
#include <IShaderConstantSetCallBack.h>
Inheritance diagram for irr::video::IShaderConstantSetCallBack::

irr::IReferenceCounted

irr::video::IShaderConstantSetCallBack

Public Member Functions


• virtual void OnSetConstants (IMaterialRendererServices ∗services, s32 userData)=0
Called by the engine when the vertex and/or pixel shader constants for an material renderer should be set.

• virtual ∼IShaderConstantSetCallBack ()
Destructor.

7.92.1 Detailed Description

Interface making it possible to set constants for gpu programs every frame.
Implement this interface in an own class and pass a pointer to it to one of the methods in
IGPUProgrammingServices when creating a shader. The OnSetConstants method will be called every
frame now.
Definition at line 20 of file IShaderConstantSetCallBack.h.

7.92.2 Constructor & Destructor Documentation

7.92.2.1 virtual irr::video::IShaderConstantSetCallBack::∼IShaderConstantSetCallBack ()


[inline, virtual]

Destructor.
Definition at line 25 of file IShaderConstantSetCallBack.h.

7.92.3 Member Function Documentation

7.92.3.1 virtual void irr::video::IShaderConstantSetCallBack::OnSetConstants


(IMaterialRendererServices ∗ services, s32 userData) [pure virtual]

Called by the engine when the vertex and/or pixel shader constants for an material renderer should be set.
Implement the IShaderConstantSetCallBack in an own class and implement your own OnSetConstants
method using the given IMaterialRendererServices interface. Pass a pointer to this class to one of the
methods in IGPUProgrammingServices when creating a shader. The OnSetConstants method will now be

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


544 Irrlicht Engine Class Documentation

called every time before geometry is being drawn using your shader material. A sample implementation
would look like this:

virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData)


{
video::IVideoDriver* driver = services->getVideoDriver();

// set clip matrix at register 4


core::matrix4 worldViewProj(driver->getTransform(video::ETS_PROJECTION));
worldViewProj *= driver->getTransform(video::ETS_VIEW);
worldViewProj *= driver->getTransform(video::ETS_WORLD);
services->setVertexShaderConstant(&worldViewProj.M[0], 4, 4);
// for high level shading languages, this would be another solution:
//services->setVertexShaderConstant("mWorldViewProj", worldViewProj.M, 16);

// set some light color at register 9


video::SColorf col(0.0f,1.0f,1.0f,0.0f);
services->setVertexShaderConstant(reinterpret_cast<const f32*>(&col), 9, 1);
// for high level shading languages, this would be another solution:
//services->setVertexShaderConstant("myColor", reinterpret_cast<f32*>(&col), 4);
}

Parameters:
services: Pointer to an interface providing methods to set the constants for the shader.
userData: Userdata int which can be specified when creating the shader.

The documentation for this class was generated from the following file:

• IShaderConstantSetCallBack.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.93 irr::scene::quake3::IShaderManager Class Reference 545

7.93 irr::scene::quake3::IShaderManager Class Reference


Manages various Quake3 Shader Styles.
#include <IQ3Shader.h>
Inheritance diagram for irr::scene::quake3::IShaderManager::

irr::IReferenceCounted

irr::scene::quake3::IShaderManager

7.93.1 Detailed Description

Manages various Quake3 Shader Styles.


Definition at line 599 of file IQ3Shader.h.
The documentation for this class was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


546 Irrlicht Engine Class Documentation

7.94 irr::scene::IShadowVolumeSceneNode Class Reference


Scene node for rendering a shadow volume into a stencil buffer.
#include <IShadowVolumeSceneNode.h>
Inheritance diagram for irr::scene::IShadowVolumeSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::IShadowVolumeSceneNode

Public Member Functions


• IShadowVolumeSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id)
constructor

• virtual void setMeshToRenderFrom (const IMesh ∗mesh)=0


sets the mesh from which the shadow volume should be generated.

7.94.1 Detailed Description

Scene node for rendering a shadow volume into a stencil buffer.


Definition at line 17 of file IShadowVolumeSceneNode.h.

7.94.2 Constructor & Destructor Documentation

7.94.2.1 irr::scene::IShadowVolumeSceneNode::IShadowVolumeSceneNode (ISceneNode ∗


parent, ISceneManager ∗ mgr, s32 id) [inline]

constructor
Definition at line 22 of file IShadowVolumeSceneNode.h.

7.94.3 Member Function Documentation

7.94.3.1 virtual void irr::scene::IShadowVolumeSceneNode::setMeshToRenderFrom (const IMesh


∗ mesh) [pure virtual]

sets the mesh from which the shadow volume should be generated.
The documentation for this class was generated from the following file:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.94 irr::scene::IShadowVolumeSceneNode Class Reference 547

• IShadowVolumeSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


548 Irrlicht Engine Class Documentation

7.95 irr::scene::ISkinnedMesh Class Reference


Interface for using some special functions of Skinned meshes.
#include <ISkinnedMesh.h>
Inheritance diagram for irr::scene::ISkinnedMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::ISkinnedMesh

Public Member Functions


• virtual void animateMesh (f32 frame, f32 blend)=0
Animates this mesh’s joints based on frame input.

• virtual void convertMeshToTangents ()=0


• virtual SSkinMeshBuffer ∗ createBuffer ()=0
• virtual SJoint ∗ createJoint (SJoint ∗parent=0)=0
• virtual SPositionKey ∗ createPositionKey (SJoint ∗joint)=0
• virtual SRotationKey ∗ createRotationKey (SJoint ∗joint)=0
• virtual SScaleKey ∗ createScaleKey (SJoint ∗joint)=0
• virtual SWeight ∗ createWeight (SJoint ∗joint)=0
• virtual void finalize ()=0
loaders should call this after populating the mesh

• virtual const core::array< SJoint ∗ > & getAllJoints () const =0


exposed for loaders: joints list

• virtual core::array< SJoint ∗ > & getAllJoints ()=0


exposed for loaders: joints list

• virtual u32 getJointCount () const =0


• virtual const c8 ∗ getJointName (u32 number) const =0
• virtual s32 getJointNumber (const c8 ∗name) const =0
• virtual core::array< SSkinMeshBuffer ∗ > & getMeshBuffers ()=0
exposed for loaders: to add mesh buffers

• virtual void setInterpolationMode (E_INTERPOLATION_MODE mode)=0


Sets Interpolation Mode.

• virtual void skinMesh ()=0


Preforms a software skin on this mesh based of joint positions.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.95 irr::scene::ISkinnedMesh Class Reference 549

• virtual void updateNormalsWhenAnimating (bool on)=0

• virtual bool useAnimationFrom (const ISkinnedMesh ∗mesh)=0

Classes

• struct SJoint

Joints.

• struct SPositionKey

Animation keyframe which describes a new position.

• struct SRotationKey

Animation keyframe which describes a new rotation.

• struct SScaleKey

Animation keyframe which describes a new scale.

• struct SWeight

A vertex weight.

7.95.1 Detailed Description

Interface for using some special functions of Skinned meshes.


Definition at line 32 of file ISkinnedMesh.h.

7.95.2 Member Function Documentation

7.95.2.1 virtual void irr::scene::ISkinnedMesh::animateMesh (f32 frame, f32 blend) [pure


virtual]

Animates this mesh’s joints based on frame input.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


550 Irrlicht Engine Class Documentation

7.95.2.2 virtual void irr::scene::ISkinnedMesh::convertMeshToTangents () [pure virtual]

7.95.2.3 virtual SSkinMeshBuffer∗ irr::scene::ISkinnedMesh::createBuffer () [pure


virtual]

7.95.2.4 virtual SJoint∗ irr::scene::ISkinnedMesh::createJoint (SJoint ∗ parent = 0) [pure


virtual]

7.95.2.5 virtual SPositionKey∗ irr::scene::ISkinnedMesh::createPositionKey (SJoint ∗ joint)


[pure virtual]

7.95.2.6 virtual SRotationKey∗ irr::scene::ISkinnedMesh::createRotationKey (SJoint ∗ joint)


[pure virtual]

7.95.2.7 virtual SScaleKey∗ irr::scene::ISkinnedMesh::createScaleKey (SJoint ∗ joint) [pure


virtual]

7.95.2.8 virtual SWeight∗ irr::scene::ISkinnedMesh::createWeight (SJoint ∗ joint) [pure


virtual]

7.95.2.9 virtual void irr::scene::ISkinnedMesh::finalize () [pure virtual]

loaders should call this after populating the mesh

7.95.2.10 virtual const core::array<SJoint∗>& irr::scene::ISkinnedMesh::getAllJoints () const


[pure virtual]

exposed for loaders: joints list

7.95.2.11 virtual core::array<SJoint∗>& irr::scene::ISkinnedMesh::getAllJoints () [pure


virtual]

exposed for loaders: joints list

7.95.2.12 virtual u32 irr::scene::ISkinnedMesh::getJointCount () const [pure virtual]

Gets joint count.

Returns:
Returns amount of joints in the skeletal animated mesh.

7.95.2.13 virtual const c8∗ irr::scene::ISkinnedMesh::getJointName (u32 number) const [pure


virtual]

Gets the name of a joint.

Parameters:
number: Zero based index of joint. The last joint has the number getJointCount()-1;

Returns:
Returns name of joint and null if an error happened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.95 irr::scene::ISkinnedMesh Class Reference 551

7.95.2.14 virtual s32 irr::scene::ISkinnedMesh::getJointNumber (const c8 ∗ name) const [pure


virtual]

Gets a joint number from its name

Parameters:
name: Name of the joint.

Returns:
Returns the number of the joint or -1 if not found.

7.95.2.15 virtual core::array<SSkinMeshBuffer∗>& irr::scene::ISkinnedMesh::getMeshBuffers


() [pure virtual]

exposed for loaders: to add mesh buffers

7.95.2.16 virtual void irr::scene::ISkinnedMesh::setInterpolationMode


(E_INTERPOLATION_MODE mode) [pure virtual]

Sets Interpolation Mode.

7.95.2.17 virtual void irr::scene::ISkinnedMesh::skinMesh () [pure virtual]

Preforms a software skin on this mesh based of joint positions.

7.95.2.18 virtual void irr::scene::ISkinnedMesh::updateNormalsWhenAnimating (bool on)


[pure virtual]

Update Normals when Animating False= Don’t animate, faster True= Update normals

7.95.2.19 virtual bool irr::scene::ISkinnedMesh::useAnimationFrom (const ISkinnedMesh ∗


mesh) [pure virtual]

uses animation from another mesh the animation is linked (not copied) based on joint names (so make sure
they are unique)

Returns:
Returns true if all joints in this mesh were matched up (empty names will not be matched, and it’s case
sensitive). Unmatched joints will not be animated.

The documentation for this class was generated from the following file:

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


552 Irrlicht Engine Class Documentation

7.96 irr::scene::ISkinnedMesh::SJoint Struct Reference


Joints.
#include <ISkinnedMesh.h>

Public Member Functions


• SJoint ()

Public Attributes
• core::vector3df Animatedposition
• core::quaternion Animatedrotation
• core::vector3df Animatedscale
• core::array< u32 > AttachedMeshes
List of attached meshes.

• core::array< SJoint ∗ > Children


List of child joints.

• core::matrix4 GlobalAnimatedMatrix
• core::matrix4 GlobalInversedMatrix
• core::matrix4 GlobalMatrix
Unnecessary for loaders, will be overwritten on finalize.

• core::matrix4 LocalAnimatedMatrix
• core::matrix4 LocalMatrix
Local matrix of this joint.

• core::stringc Name
The name of this joint.

• core::array< SPositionKey > PositionKeys


Animation keys causing translation change.

• core::array< SRotationKey > RotationKeys


Animation keys causing rotation change.

• core::array< SScaleKey > ScaleKeys


Animation keys causing scale change.

• core::array< SWeight > Weights


Skin weights.

Friends
• class CSkinnedMesh
Internal members used by CSkinnedMesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.96 irr::scene::ISkinnedMesh::SJoint Struct Reference 553

7.96.1 Detailed Description

Joints.
Definition at line 117 of file ISkinnedMesh.h.

7.96.2 Constructor & Destructor Documentation

7.96.2.1 irr::scene::ISkinnedMesh::SJoint::SJoint () [inline]

Definition at line 119 of file ISkinnedMesh.h.

7.96.3 Friends And Related Function Documentation

7.96.3.1 friend class CSkinnedMesh [friend]

Internal members used by CSkinnedMesh.


Definition at line 162 of file ISkinnedMesh.h.

7.96.4 Member Data Documentation

7.96.4.1 core::vector3df irr::scene::ISkinnedMesh::SJoint::Animatedposition

Definition at line 152 of file ISkinnedMesh.h.

7.96.4.2 core::quaternion irr::scene::ISkinnedMesh::SJoint::Animatedrotation

Definition at line 154 of file ISkinnedMesh.h.

7.96.4.3 core::vector3df irr::scene::ISkinnedMesh::SJoint::Animatedscale

Definition at line 153 of file ISkinnedMesh.h.

7.96.4.4 core::array<u32> irr::scene::ISkinnedMesh::SJoint::AttachedMeshes

List of attached meshes.


Definition at line 134 of file ISkinnedMesh.h.

7.96.4.5 core::array<SJoint∗> irr::scene::ISkinnedMesh::SJoint::Children

List of child joints.


Definition at line 131 of file ISkinnedMesh.h.

7.96.4.6 core::matrix4 irr::scene::ISkinnedMesh::SJoint::GlobalAnimatedMatrix

Definition at line 150 of file ISkinnedMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


554 Irrlicht Engine Class Documentation

7.96.4.7 core::matrix4 irr::scene::ISkinnedMesh::SJoint::GlobalInversedMatrix

Definition at line 158 of file ISkinnedMesh.h.

7.96.4.8 core::matrix4 irr::scene::ISkinnedMesh::SJoint::GlobalMatrix

Unnecessary for loaders, will be overwritten on finalize.


Definition at line 149 of file ISkinnedMesh.h.

7.96.4.9 core::matrix4 irr::scene::ISkinnedMesh::SJoint::LocalAnimatedMatrix

Definition at line 151 of file ISkinnedMesh.h.

7.96.4.10 core::matrix4 irr::scene::ISkinnedMesh::SJoint::LocalMatrix

Local matrix of this joint.


Definition at line 128 of file ISkinnedMesh.h.

7.96.4.11 core::stringc irr::scene::ISkinnedMesh::SJoint::Name

The name of this joint.


Definition at line 125 of file ISkinnedMesh.h.

7.96.4.12 core::array<SPositionKey> irr::scene::ISkinnedMesh::SJoint::PositionKeys

Animation keys causing translation change.


Definition at line 137 of file ISkinnedMesh.h.

7.96.4.13 core::array<SRotationKey> irr::scene::ISkinnedMesh::SJoint::RotationKeys

Animation keys causing rotation change.


Definition at line 143 of file ISkinnedMesh.h.

7.96.4.14 core::array<SScaleKey> irr::scene::ISkinnedMesh::SJoint::ScaleKeys

Animation keys causing scale change.


Definition at line 140 of file ISkinnedMesh.h.

7.96.4.15 core::array<SWeight> irr::scene::ISkinnedMesh::SJoint::Weights

Skin weights.
Definition at line 146 of file ISkinnedMesh.h.
The documentation for this struct was generated from the following file:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.96 irr::scene::ISkinnedMesh::SJoint Struct Reference 555

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


556 Irrlicht Engine Class Documentation

7.97 irr::scene::ISkinnedMesh::SPositionKey Struct Reference


Animation keyframe which describes a new position.
#include <ISkinnedMesh.h>

Public Attributes
• f32 frame
• core::vector3df position

7.97.1 Detailed Description

Animation keyframe which describes a new position.


Definition at line 96 of file ISkinnedMesh.h.

7.97.2 Member Data Documentation

7.97.2.1 f32 irr::scene::ISkinnedMesh::SPositionKey::frame

Definition at line 98 of file ISkinnedMesh.h.

7.97.2.2 core::vector3df irr::scene::ISkinnedMesh::SPositionKey::position

Definition at line 99 of file ISkinnedMesh.h.


The documentation for this struct was generated from the following file:

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.98 irr::scene::ISkinnedMesh::SRotationKey Struct Reference 557

7.98 irr::scene::ISkinnedMesh::SRotationKey Struct Reference


Animation keyframe which describes a new rotation.
#include <ISkinnedMesh.h>

Public Attributes
• f32 frame
• core::quaternion rotation

7.98.1 Detailed Description

Animation keyframe which describes a new rotation.


Definition at line 110 of file ISkinnedMesh.h.

7.98.2 Member Data Documentation

7.98.2.1 f32 irr::scene::ISkinnedMesh::SRotationKey::frame

Definition at line 112 of file ISkinnedMesh.h.

7.98.2.2 core::quaternion irr::scene::ISkinnedMesh::SRotationKey::rotation

Definition at line 113 of file ISkinnedMesh.h.


The documentation for this struct was generated from the following file:

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


558 Irrlicht Engine Class Documentation

7.99 irr::scene::ISkinnedMesh::SScaleKey Struct Reference


Animation keyframe which describes a new scale.
#include <ISkinnedMesh.h>

Public Attributes
• f32 frame
• core::vector3df scale

7.99.1 Detailed Description

Animation keyframe which describes a new scale.


Definition at line 103 of file ISkinnedMesh.h.

7.99.2 Member Data Documentation

7.99.2.1 f32 irr::scene::ISkinnedMesh::SScaleKey::frame

Definition at line 105 of file ISkinnedMesh.h.

7.99.2.2 core::vector3df irr::scene::ISkinnedMesh::SScaleKey::scale

Definition at line 106 of file ISkinnedMesh.h.


The documentation for this struct was generated from the following file:

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.100 irr::scene::ISkinnedMesh::SWeight Struct Reference 559

7.100 irr::scene::ISkinnedMesh::SWeight Struct Reference


A vertex weight.
#include <ISkinnedMesh.h>

Public Attributes
• u16 buffer_id
Index of the mesh buffer.

• f32 strength
Weight Strength/Percentage (0-1).

• u32 vertex_id
Index of the vertex.

Friends
• class CSkinnedMesh
Internal members used by CSkinnedMesh.

7.100.1 Detailed Description

A vertex weight.
Definition at line 75 of file ISkinnedMesh.h.

7.100.2 Friends And Related Function Documentation

7.100.2.1 friend class CSkinnedMesh [friend]

Internal members used by CSkinnedMesh.


Definition at line 88 of file ISkinnedMesh.h.

7.100.3 Member Data Documentation

7.100.3.1 u16 irr::scene::ISkinnedMesh::SWeight::buffer_id

Index of the mesh buffer.


Definition at line 78 of file ISkinnedMesh.h.

7.100.3.2 f32 irr::scene::ISkinnedMesh::SWeight::strength

Weight Strength/Percentage (0-1).


Definition at line 84 of file ISkinnedMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


560 Irrlicht Engine Class Documentation

7.100.3.3 u32 irr::scene::ISkinnedMesh::SWeight::vertex_id

Index of the vertex.


Definition at line 81 of file ISkinnedMesh.h.
The documentation for this struct was generated from the following file:

• ISkinnedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.101 irr::scene::ITerrainSceneNode Class Reference 561

7.101 irr::scene::ITerrainSceneNode Class Reference


A scene node for displaying terrain using the geo mip map algorithm.
#include <ITerrainSceneNode.h>
Inheritance diagram for irr::scene::ITerrainSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::ITerrainSceneNode

Public Member Functions


• virtual const core::aabbox3d< f32 > & getBoundingBox (s32 patchX, s32 patchZ) const =0
Get the bounding box of a patch.

• virtual const core::aabbox3d< f32 > & getBoundingBox () const =0


Get the bounding box of the terrain.

• virtual s32 getCurrentLODOfPatches (core::array< s32 > &LODs) const =0


Populates an array with the CurrentLOD of each patch.

• virtual f32 getHeight (f32 x, f32 y) const =0


Get height of a point of the terrain.

• virtual u32 getIndexCount () const =0


Get the number of indices currently in the meshbuffer.

• virtual s32 getIndicesForPatch (core::array< u32 > &indices, s32 patchX, s32 patchZ, s32
LOD=0)=0
Gets the indices for a specified patch at a specified Level of Detail.

• virtual IMesh ∗ getMesh ()=0


Get pointer to the mesh.

• virtual void getMeshBufferForLOD (SMeshBufferLightMap &mb, s32 LOD) const =0


Gets the meshbuffer data based on a specified level of detail.

• virtual const core::vector3df & getTerrainCenter () const =0


Get center of terrain.

• ITerrainSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &po-
sition=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f,
0.0f), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


562 Irrlicht Engine Class Documentation

Constructor.

• virtual bool overrideLODDistance (s32 LOD, f64 newDistance)=0


Override the default generation of distance thresholds.

• virtual void scaleTexture (f32 scale=1.0f, f32 scale2=0.0f)=0


Scales the base texture, similar to makePlanarTextureMapping.

• virtual void setCameraMovementDelta (f32 delta)=0


Sets the movement camera threshold.

• virtual void setCameraRotationDelta (f32 delta)=0


Sets the rotation camera threshold.

• virtual void setDynamicSelectorUpdate (bool bVal)=0


Sets whether or not the node should dynamically update its associated selector when the geomipmap data
changes.

• virtual void setLODOfPatch (s32 patchX, s32 patchZ, s32 LOD)=0


Manually sets the LOD of a patch.

• virtual ∼ITerrainSceneNode ()
Destructor.

7.101.1 Detailed Description

A scene node for displaying terrain using the geo mip map algorithm.
The code for the TerrainSceneNode is based on the Terrain renderer by Soconne and the GeoMipMap-
SceneNode developed by Spintz. They made their code available for Irrlicht and allowed it to be distributed
under this licence. I only modified some parts. A lot of thanks go to them.
This scene node is capable of very quickly loading terrains and updating the indices at runtime to enable
viewing very large terrains. It uses a CLOD ( Continuous Level of Detail ) algorithm which updates the
indices for each patch based on a LOD ( Level of Detail ) which is determined based on a patch’s distance
from the camera.
The Patch Size of the terrain must always be a size of ( 2∧ N+1, i.e. 8+1(9), 16+1(17), etc. ). The MaxLOD
available is directly dependent on the patch size of the terrain. LOD 0 contains all of the indices to draw all
the triangles at the max detail for a patch. As each LOD goes up by 1 the step taken, in generating indices
increases by - 2∧ LOD, so for LOD 1, the step taken is 2, for LOD 2, the step taken is 4, LOD 3 - 8, etc.
The step can be no larger than the size of the patch, so having a LOD of 8, with a patch size of 17, is asking
the algoritm to generate indices every 2∧ 8 ( 256 ) vertices, which is not possible with a patch size of 17.
The maximum LOD for a patch size of 17 is 2∧ 4 ( 16 ). So, with a MaxLOD of 5, you’ll have LOD 0 (
full detail ), LOD 1 ( every 2 vertices ), LOD 2 ( every 4 vertices ), LOD 3 ( every 8 vertices ) and LOD 4
( every 16 vertices ).
Definition at line 45 of file ITerrainSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.101 irr::scene::ITerrainSceneNode Class Reference 563

7.101.2 Constructor & Destructor Documentation

7.101.2.1 irr::scene::ITerrainSceneNode::ITerrainSceneNode (ISceneNode ∗


parent, ISceneManager ∗ mgr, s32 id, const core::vector3df & position =
core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df & rotation =
core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [inline]

Constructor.
Definition at line 50 of file ITerrainSceneNode.h.

7.101.2.2 virtual irr::scene::ITerrainSceneNode::∼ITerrainSceneNode () [inline,


virtual]

Destructor.
Definition at line 57 of file ITerrainSceneNode.h.

7.101.3 Member Function Documentation

7.101.3.1 virtual const core::aabbox3d<f32>& irr::scene::ITerrainSceneNode::getBoundingBox


(s32 patchX, s32 patchZ) const [pure virtual]

Get the bounding box of a patch.

Returns:
The bounding box of the chosen patch.

7.101.3.2 virtual const core::aabbox3d<f32>& irr::scene::ITerrainSceneNode::getBoundingBox


() const [pure virtual]

Get the bounding box of the terrain.

Returns:
The bounding box of the entire terrain.

Implements irr::scene::ISceneNode.

7.101.3.3 virtual s32 irr::scene::ITerrainSceneNode::getCurrentLODOfPatches (core::array< s32


> & LODs) const [pure virtual]

Populates an array with the CurrentLOD of each patch.

Parameters:
LODs A reference to a core::array<s32> to hold the values

Returns:
Number of elements in the array

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


564 Irrlicht Engine Class Documentation

7.101.3.4 virtual f32 irr::scene::ITerrainSceneNode::getHeight (f32 x, f32 y) const [pure


virtual]

Get height of a point of the terrain.

7.101.3.5 virtual u32 irr::scene::ITerrainSceneNode::getIndexCount () const [pure virtual]

Get the number of indices currently in the meshbuffer.

Returns:
The index count.

7.101.3.6 virtual s32 irr::scene::ITerrainSceneNode::getIndicesForPatch (core::array< u32 > &


indices, s32 patchX, s32 patchZ, s32 LOD = 0) [pure virtual]

Gets the indices for a specified patch at a specified Level of Detail.

Parameters:
indices A reference to an array of u32 indices.
patchX Patch x coordinate.
patchZ Patch z coordinate.
LOD The level of detail to get for that patch. If -1, then get the CurrentLOD. If the CurrentLOD is set
to -1, meaning it’s not shown, then it will retrieve the triangles at the highest LOD ( 0 ).

Returns:
Number if indices put into the buffer.

7.101.3.7 virtual IMesh∗ irr::scene::ITerrainSceneNode::getMesh () [pure virtual]

Get pointer to the mesh.

Returns:
Pointer to the mesh.

7.101.3.8 virtual void irr::scene::ITerrainSceneNode::getMeshBufferForLOD


(SMeshBufferLightMap & mb, s32 LOD) const [pure virtual]

Gets the meshbuffer data based on a specified level of detail.

Parameters:
mb A reference to an SMeshBuffer object
LOD The level of detail you want the indices from.

7.101.3.9 virtual const core::vector3df& irr::scene::ITerrainSceneNode::getTerrainCenter ()


const [pure virtual]

Get center of terrain.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.101 irr::scene::ITerrainSceneNode Class Reference 565

7.101.3.10 virtual bool irr::scene::ITerrainSceneNode::overrideLODDistance (s32 LOD, f64


newDistance) [pure virtual]

Override the default generation of distance thresholds.


For determining the LOD a patch is rendered at. If any LOD is overridden, then the scene node will no
longer apply scaling factors to these values. If you override these distances, and then apply a scale to the
scene node, it is your responsibility to update the new distances to work best with your new terrain size.

7.101.3.11 virtual void irr::scene::ITerrainSceneNode::scaleTexture (f32 scale = 1.0f, f32 scale2


= 0.0f) [pure virtual]

Scales the base texture, similar to makePlanarTextureMapping.

Parameters:
scale The scaling amount. Values above 1.0 increase the number of time the texture is drawn on the
terrain. Values below 0 will decrease the number of times the texture is drawn on the terrain.
Using negative values will flip the texture, as well as still scaling it.
scale2 If set to 0 (default value), this will set the second texture coordinate set to the same values as
in the first set. If this is another value than zero, it will scale the second texture coordinate set by
this value.

7.101.3.12 virtual void irr::scene::ITerrainSceneNode::setCameraMovementDelta (f32 delta)


[pure virtual]

Sets the movement camera threshold.


It is used to determine when to recalculate indices for the scene node. The default value is 10.0f.

7.101.3.13 virtual void irr::scene::ITerrainSceneNode::setCameraRotationDelta (f32 delta)


[pure virtual]

Sets the rotation camera threshold.


It is used to determine when to recalculate indices for the scene node. The default value is 1.0f.

7.101.3.14 virtual void irr::scene::ITerrainSceneNode::setDynamicSelectorUpdate (bool bVal)


[pure virtual]

Sets whether or not the node should dynamically update its associated selector when the geomipmap data
changes.

Parameters:
bVal: Boolean value representing whether or not to update selector dynamically.

7.101.3.15 virtual void irr::scene::ITerrainSceneNode::setLODOfPatch (s32 patchX, s32 patchZ,


s32 LOD) [pure virtual]

Manually sets the LOD of a patch.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


566 Irrlicht Engine Class Documentation

Parameters:
patchX Patch x coordinate.
patchZ Patch z coordinate.
LOD The level of detail to set the patch to.

The documentation for this class was generated from the following file:

• ITerrainSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.102 irr::scene::ITextSceneNode Class Reference 567

7.102 irr::scene::ITextSceneNode Class Reference

A scene node for displaying 2d text at a position in three dimensional space.


#include <ITextSceneNode.h>
Inheritance diagram for irr::scene::ITextSceneNode::

irr::IReferenceCounted

irr::io::IAttributeExchangingObject

irr::scene::ISceneNode

irr::scene::ITextSceneNode

Public Member Functions

• ITextSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion=core::vector3df(0, 0, 0))
constructor

• virtual void setText (const wchar_t ∗text)=0


sets the text string

• virtual void setTextColor (video::SColor color)=0


sets the color of the text

7.102.1 Detailed Description

A scene node for displaying 2d text at a position in three dimensional space.


Definition at line 16 of file ITextSceneNode.h.

7.102.2 Constructor & Destructor Documentation

7.102.2.1 irr::scene::ITextSceneNode::ITextSceneNode (ISceneNode ∗ parent, ISceneManager


∗ mgr, s32 id, const core::vector3df & position = core::vector3df(0,0,0))
[inline]

constructor
Definition at line 21 of file ITextSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


568 Irrlicht Engine Class Documentation

7.102.3 Member Function Documentation

7.102.3.1 virtual void irr::scene::ITextSceneNode::setText (const wchar_t ∗ text) [pure


virtual]

sets the text string

7.102.3.2 virtual void irr::scene::ITextSceneNode::setTextColor (video::SColor color) [pure


virtual]

sets the color of the text


The documentation for this class was generated from the following file:

• ITextSceneNode.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.103 irr::video::ITexture Class Reference 569

7.103 irr::video::ITexture Class Reference


Interface of a Video Driver dependent Texture.
#include <ITexture.h>
Inheritance diagram for irr::video::ITexture::

irr::IReferenceCounted

irr::video::ITexture

Public Member Functions


• virtual ECOLOR_FORMAT getColorFormat () const =0
Returns the color format of texture.

• virtual E_DRIVER_TYPE getDriverType () const =0


Returns driver type of texture.

• const core::stringc & getName () const


Returns name of texture (in most cases this is the filename).

• virtual const core::dimension2d< s32 > & getOriginalSize () const =0


Returns original size of the texture.

• virtual u32 getPitch () const =0


Returns pitch of texture (in bytes).

• virtual const core::dimension2d< s32 > & getSize () const =0


Returns dimension (=size) of the texture.

• virtual bool hasMipMaps () const


Returns whether the texture has MipMaps.

• virtual bool isRenderTarget () const


Returns whether the texture is a render target.

• ITexture (const c8 ∗name)


constructor

• virtual void ∗ lock ()=0


Lock function.

• virtual void regenerateMipMapLevels ()=0


Regenerates the mip map levels of the texture.

• virtual void unlock ()=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


570 Irrlicht Engine Class Documentation

Unlock function. Must be called after a lock() to the texture.

• virtual ∼ITexture ()
destructor

Protected Attributes

• core::stringc Name

7.103.1 Detailed Description

Interface of a Video Driver dependent Texture.


An ITexture is created by an IVideoDriver by using IVideoDriver::addTexture or IVideoDriver::getTexture.
After that, the texture may only be used by this VideoDriver. As you can imagine, textures of the DirectX
and the OpenGL device will, e.g., not be compatible. An exception is the Software device and the NULL
device, their textures are compatible. If you try to use a texture created by one device with an other device,
the device will refuse to do that and write a warning or an error message to the output buffer.
Definition at line 97 of file ITexture.h.

7.103.2 Constructor & Destructor Documentation

7.103.2.1 irr::video::ITexture::ITexture (const c8 ∗ name) [inline]

constructor
Definition at line 102 of file ITexture.h.
References irr::core::string< T, TAlloc >::make_lower(), and Name.

7.103.2.2 virtual irr::video::ITexture::∼ITexture () [inline, virtual]

destructor
Definition at line 108 of file ITexture.h.

7.103.3 Member Function Documentation

7.103.3.1 virtual ECOLOR_FORMAT irr::video::ITexture::getColorFormat () const [pure


virtual]

Returns the color format of texture.

Returns:
Returns the color format of texture.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.103 irr::video::ITexture Class Reference 571

7.103.3.2 virtual E_DRIVER_TYPE irr::video::ITexture::getDriverType () const [pure


virtual]

Returns driver type of texture.


This is the driver, which created the texture. This method is used internally by the video devices, to check,
if they may use a texture because textures may be incompatible between different devices.

Returns:
Returns driver type of texture.

7.103.3.3 const core::stringc& irr::video::ITexture::getName () const [inline]

Returns name of texture (in most cases this is the filename).


Definition at line 168 of file ITexture.h.
References Name.

7.103.3.4 virtual const core::dimension2d<s32>& irr::video::ITexture::getOriginalSize () const


[pure virtual]

Returns original size of the texture.


The texture is usually scaled, if it was created with an unoptimal size. For example if the size of the
texture file it was loaded from was not a power of two. This returns the size of the texture, it had before
it was scaled. Can be useful when drawing 2d images on the screen, which should have the exact size
of the original texture. Use ITexture::getSize() if you want to know the real size it has now stored in the
system.

Returns:
Returns the original size of the texture.

7.103.3.5 virtual u32 irr::video::ITexture::getPitch () const [pure virtual]

Returns pitch of texture (in bytes).


The pitch is the amount of bytes used for a row of pixels in a texture.

Returns:
Returns pitch of texture in bytes.

7.103.3.6 virtual const core::dimension2d<s32>& irr::video::ITexture::getSize () const [pure


virtual]

Returns dimension (=size) of the texture.

Returns:
Returns the size of the texture.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


572 Irrlicht Engine Class Documentation

7.103.3.7 virtual bool irr::video::ITexture::hasMipMaps () const [inline, virtual]

Returns whether the texture has MipMaps.

Returns:
Returns true if texture has MipMaps, else false.

Definition at line 157 of file ITexture.h.

7.103.3.8 virtual bool irr::video::ITexture::isRenderTarget () const [inline, virtual]

Returns whether the texture is a render target.

Returns:
Returns true if this is a render target, otherwise false.

Definition at line 165 of file ITexture.h.

7.103.3.9 virtual void∗ irr::video::ITexture::lock () [pure virtual]

Lock function.
Locks the Texture and returns a pointer to access the pixels. After lock() has been called and all operations
on the pixels are done, you must call unlock().

Returns:
Returns a pointer to the pixel data. The format of the pixel can be determinated by using getColor-
Format(). NULL is returned, if the texture cannot be locked.

7.103.3.10 virtual void irr::video::ITexture::regenerateMipMapLevels () [pure virtual]

Regenerates the mip map levels of the texture.


Useful after locking and modifying the texture

7.103.3.11 virtual void irr::video::ITexture::unlock () [pure virtual]

Unlock function. Must be called after a lock() to the texture.

7.103.4 Member Data Documentation

7.103.4.1 core::stringc irr::video::ITexture::Name [protected]

Definition at line 172 of file ITexture.h.


Referenced by getName(), and ITexture().
The documentation for this class was generated from the following file:

• ITexture.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.104 irr::ITimer Class Reference 573

7.104 irr::ITimer Class Reference


Interface for getting and manipulating the virtual time.
#include <ITimer.h>
Inheritance diagram for irr::ITimer::

irr::IReferenceCounted

irr::ITimer

Public Member Functions


• virtual u32 getRealTime () const =0
Returns current real time in milliseconds of the system.

• virtual f32 getSpeed () const =0


Returns current speed of the timer.

• virtual u32 getTime () const =0


Returns current virtual time in milliseconds.

• virtual bool isStopped () const =0


Returns if the virtual timer is currently stopped.

• virtual void setSpeed (f32 speed=1.0f)=0


Sets the speed of the timer.

• virtual void setTime (u32 time)=0


sets current virtual time

• virtual void start ()=0


Starts the virtual timer.

• virtual void stop ()=0


Stops the virtual timer.

• virtual void tick ()=0


Advances the virtual time.

• virtual ∼ITimer ()
destructor

7.104.1 Detailed Description

Interface for getting and manipulating the virtual time.


Definition at line 14 of file ITimer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


574 Irrlicht Engine Class Documentation

7.104.2 Constructor & Destructor Documentation

7.104.2.1 virtual irr::ITimer::∼ITimer () [inline, virtual]

destructor
Definition at line 19 of file ITimer.h.

7.104.3 Member Function Documentation

7.104.3.1 virtual u32 irr::ITimer::getRealTime () const [pure virtual]

Returns current real time in milliseconds of the system.


This value does not start with 0 when the application starts. For example in one implementation the value
returned could be the amount of milliseconds which have elapsed since the system was started.

7.104.3.2 virtual f32 irr::ITimer::getSpeed () const [pure virtual]

Returns current speed of the timer.


The speed is the factor with which the time is running faster or slower then the real system time.

7.104.3.3 virtual u32 irr::ITimer::getTime () const [pure virtual]

Returns current virtual time in milliseconds.


This value starts with 0 and can be manipulated using setTime(), stopTimer(), startTimer(), etc. This value
depends on the set speed of the timer if the timer is stopped, etc. If you need the system time, use getReal-
Time()

7.104.3.4 virtual bool irr::ITimer::isStopped () const [pure virtual]

Returns if the virtual timer is currently stopped.

7.104.3.5 virtual void irr::ITimer::setSpeed (f32 speed = 1.0f) [pure virtual]

Sets the speed of the timer.


The speed is the factor with which the time is running faster or slower then the real system time.

7.104.3.6 virtual void irr::ITimer::setTime (u32 time) [pure virtual]

sets current virtual time

7.104.3.7 virtual void irr::ITimer::start () [pure virtual]

Starts the virtual timer.


The timer is reference counted, which means everything which calls stop() will also have to call start(),
otherwise the timer may not start/stop correctly again.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.104 irr::ITimer Class Reference 575

7.104.3.8 virtual void irr::ITimer::stop () [pure virtual]

Stops the virtual timer.


The timer is reference counted, which means everything which calls stop() will also have to call start(),
otherwise the timer may not start/stop correctly again.

7.104.3.9 virtual void irr::ITimer::tick () [pure virtual]

Advances the virtual time.


Makes the virtual timer update the time value based on the real time. This is called automatically when
calling IrrlichtDevice::run(), but you can call it manually if you don’t use this method.
The documentation for this class was generated from the following file:

• ITimer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


576 Irrlicht Engine Class Documentation

7.105 irr::scene::ITriangleSelector Class Reference

Interface to return triangles with specific properties.


#include <ITriangleSelector.h>
Inheritance diagram for irr::scene::ITriangleSelector::

irr::IReferenceCounted

irr::scene::ITriangleSelector

irr::scene::IMetaTriangleSelector

Public Member Functions

• virtual s32 getTriangleCount () const =0


Returns amount of all available triangles in this selector.

• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::line3d< f32 > &line, const core::matrix4 ∗transform=0) const =0
Gets all triangles which have or may have contact with a 3d line.

• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::aabbox3d< f32 > &box, const core::matrix4 ∗transform=0) const =0
Gets all triangles which lie within a specific bounding box.

• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::matrix4 ∗transform=0) const =0
Gets all triangles.

• virtual ∼ITriangleSelector ()
Destructor.

7.105.1 Detailed Description

Interface to return triangles with specific properties.


Every ISceneNode may have a triangle selector, available with ISceneNode::getTriangleScelector() or
ISceneManager::createTriangleSelector. This is used for doing collision detection: For example if you
know, that a collision may have happened in the area between (1,1,1) and (10,10,10), you can get all trian-
gles of the scene node in this area with the ITriangleSelector easily and check every triangle if it collided.
Definition at line 26 of file ITriangleSelector.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.105 irr::scene::ITriangleSelector Class Reference 577

7.105.2 Constructor & Destructor Documentation

7.105.2.1 virtual irr::scene::ITriangleSelector::∼ITriangleSelector () [inline, virtual]

Destructor.
Definition at line 31 of file ITriangleSelector.h.

7.105.3 Member Function Documentation

7.105.3.1 virtual s32 irr::scene::ITriangleSelector::getTriangleCount () const [pure


virtual]

Returns amount of all available triangles in this selector.

7.105.3.2 virtual void irr::scene::ITriangleSelector::getTriangles (core::triangle3df ∗ triangles, s32


arraySize, s32 & outTriangleCount, const core::line3d< f32 > & line, const core::matrix4
∗ transform = 0) const [pure virtual]

Gets all triangles which have or may have contact with a 3d line.
Please note that unoptimized triangle selectors also may return triangles which are not in contact at all with
the 3d line.

Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
line: Only triangles which may be in contact with this 3d line will be written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.

7.105.3.3 virtual void irr::scene::ITriangleSelector::getTriangles (core::triangle3df ∗ triangles,


s32 arraySize, s32 & outTriangleCount, const core::aabbox3d< f32 > & box, const
core::matrix4 ∗ transform = 0) const [pure virtual]

Gets all triangles which lie within a specific bounding box.


Please note that unoptimized triangle selectors also may return triangles which are not in the specific box
at all.

Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
box: Only triangles which are in this axis aligned bounding box will be written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


578 Irrlicht Engine Class Documentation

7.105.3.4 virtual void irr::scene::ITriangleSelector::getTriangles (core::triangle3df ∗ triangles, s32


arraySize, s32 & outTriangleCount, const core::matrix4 ∗ transform = 0) const [pure
virtual]

Gets all triangles.

Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.

The documentation for this class was generated from the following file:

• ITriangleSelector.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 579

7.106 irr::video::IVideoDriver Class Reference


Interface to driver which is able to perform 2d and 3d graphics functions.
#include <IVideoDriver.h>
Inheritance diagram for irr::video::IVideoDriver::

irr::IReferenceCounted

irr::video::IVideoDriver

Public Member Functions


• virtual void addDynamicLight (const SLight &light)=0
Adds a dynamic light.

• virtual void addExternalImageLoader (IImageLoader ∗loader)=0


Adds an external image loader to the engine.

• virtual void addExternalImageWriter (IImageWriter ∗writer)=0


Adds an external image writer to the engine.

• virtual s32 addMaterialRenderer (IMaterialRenderer ∗renderer, const c8 ∗name=0)=0


Adds a new material renderer to the video device.

• virtual ITexture ∗ addTexture (const c8 ∗name, IImage ∗image)=0


Creates a texture from an IImage.

• virtual ITexture ∗ addTexture (const core::dimension2d< s32 > &size, const c8 ∗name, ECOLOR_-
FORMAT format=ECF_A8R8G8B8)=0
Creates an empty texture of specified size.

• virtual bool beginScene (bool backBuffer, bool zBuffer, SColor color)=0


Applications must call this method before performing any rendering.

• virtual void clearZBuffer ()=0


Clears the ZBuffer.

• virtual io::IAttributes ∗ createAttributesFromMaterial (const video::SMaterial &material)=0


Creates material attributes list from a material.

• virtual IImage ∗ createImageFromData (ECOLOR_FORMAT format, const core::dimension2d< s32


> &size, void ∗data, bool ownForeignMemory=false, bool deleteMemory=true)=0
Creates a software image from a byte array.

• virtual IImage ∗ createImageFromFile (io::IReadFile ∗file)=0


Creates a software image from a file.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


580 Irrlicht Engine Class Documentation

• virtual IImage ∗ createImageFromFile (const c8 ∗filename)=0


Creates a software image from a file.

• virtual ITexture ∗ createRenderTargetTexture (const core::dimension2d< s32 > &size, const c8


∗name=0)=0
Creates a render target texture.

• virtual IImage ∗ createScreenShot ()=0


Make a screenshot of the last rendered frame.

• virtual void deleteAllDynamicLights ()=0


Deletes all dynamic lights which were previously added with addDynamicLight().

• virtual void draw2DImage (const video::ITexture ∗texture, const core::rect< s32 > &destRect, const
core::rect< s32 > &sourceRect, const core::rect< s32 > ∗clipRect=0, video::SColor ∗colors=0, bool
useAlphaChannelOfTexture=false)=0
Draws a part of the texture into the rectangle. Note that colors must be an array of 4 colors if used.

• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &pos,
const core::array< core::rect< s32 > > &sourceRects, const core::array< s32 > &indices, s32
kerningWidth=0, const core::rect< s32 > ∗clipRect=0, SColor color=SColor(255, 255, 255, 255),
bool useAlphaChannelOfTexture=false)=0
Draws a set of 2d images, using a color and the alpha channel of the texture.

• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &dest-
Pos, const core::rect< s32 > &sourceRect, const core::rect< s32 > ∗clipRect=0, SColor
color=SColor(255, 255, 255, 255), bool useAlphaChannelOfTexture=false)=0
Draws a 2d image using a color.

• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &dest-
Pos)=0
Draws a 2d image without any special effects.

• virtual void draw2DLine (const core::position2d< s32 > &start, const core::position2d< s32 >
&end, SColor color=SColor(255, 255, 255, 255))=0
Draws a 2d line.

• virtual void draw2DPolygon (core::position2d< s32 > center, f32 radius, video::SColor
color=SColor(100, 255, 255, 255), s32 vertexCount=10)=0
Draws a non filled concyclic regular 2d polyon.

• virtual void draw2DRectangle (const core::rect< s32 > &pos, SColor colorLeftUp, SColor color-
RightUp, SColor colorLeftDown, SColor colorRightDown, const core::rect< s32 > ∗clip=0)=0
Draws an 2d rectangle with a gradient.

• virtual void draw2DRectangle (SColor color, const core::rect< s32 > &pos, const core::rect< s32
> ∗clip=0)=0
Draws a 2d rectangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 581

• virtual void draw3DBox (const core::aabbox3d< f32 > &box, SColor color=SColor(255, 255, 255,
255))=0
Draws a 3d axis aligned box.

• virtual void draw3DLine (const core::vector3df &start, const core::vector3df &end, SColor
color=SColor(255, 255, 255, 255))=0
Draws a 3d line.

• virtual void draw3DTriangle (const core::triangle3df &triangle, SColor color=SColor(255, 255, 255,
255))=0
Draws a 3d triangle.

• virtual void drawIndexedTriangleFan (const S3DVertex2TCoords ∗vertices, u32 vertexCount, const


u16 ∗indexList, u32 triangleCount)=0
Draws an indexed triangle fan.

• virtual void drawIndexedTriangleFan (const S3DVertex ∗vertices, u32 vertexCount, const u16
∗indexList, u32 triangleCount)=0
Draws an indexed triangle fan.

• virtual void drawIndexedTriangleList (const S3DVertexTangents ∗vertices, u32 vertexCount, const


u16 ∗indexList, u32 triangleCount)=0
Draws an indexed triangle list.

• virtual void drawIndexedTriangleList (const S3DVertex2TCoords ∗vertices, u32 vertexCount, const


u16 ∗indexList, u32 triangleCount)=0
Draws an indexed triangle list.

• virtual void drawIndexedTriangleList (const S3DVertex ∗vertices, u32 vertexCount, const u16
∗indexList, u32 triangleCount)=0
Draws an indexed triangle list.

• virtual void drawMeshBuffer (const scene::IMeshBuffer ∗mb)=0


Draws a mesh buffer.

• virtual void drawStencilShadow (bool clearStencilBuffer=false, video::SColor leftUp-


Edge=video::SColor(255, 0, 0, 0), video::SColor rightUpEdge=video::SColor(255, 0, 0,
0), video::SColor leftDownEdge=video::SColor(255, 0, 0, 0), video::SColor rightDown-
Edge=video::SColor(255, 0, 0, 0))=0
Fills the stencil shadow with color.

• virtual void drawStencilShadowVolume (const core::vector3df ∗triangles, s32 count, bool


zfail=true)=0
Draws a shadow volume into the stencil buffer.

• virtual void drawVertexPrimitiveList (const void ∗vertices, u32 vertexCount, const u16 ∗indexList,
u32 triangleCount, E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType)=0
Draws a vertex primitive list.

• virtual void enableClipPlane (u32 index, bool enable)=0


Enable or disable a clipping plane.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


582 Irrlicht Engine Class Documentation

• virtual bool endScene (s32 windowId=0, core::rect< s32 > ∗sourceRect=0)=0


Presents the rendered image to the screen.

• virtual void fillMaterialStructureFromAttributes (video::SMaterial &outMaterial, io::IAttributes


∗attributes)=0
Fills an SMaterial structure from attributes.

• virtual video::ITexture ∗ findTexture (const c8 ∗filename)=0


Check if the image is already loaded.

• virtual const core::dimension2d< s32 > & getCurrentRenderTargetSize () const =0


Returns the size of the current render target.

• virtual E_DRIVER_TYPE getDriverType () const =0


Get type of video driver.

• virtual const SLight & getDynamicLight (u32 idx) const =0


Returns light data which was previously set by IVideoDriver::addDynamicLight().

• virtual u32 getDynamicLightCount () const =0


Returns amount of dynamic lights currently set.

• virtual const SExposedVideoData & getExposedVideoData ()=0


Returns driver and operating system specific data about the IVideoDriver.

• virtual s32 getFPS () const =0


Returns current frames per second value.

• virtual IGPUProgrammingServices ∗ getGPUProgrammingServices ()=0


Gets the IGPUProgrammingServices interface.

• virtual IMaterialRenderer ∗ getMaterialRenderer (u32 idx)=0


Get access to a material renderer by index.

• virtual u32 getMaterialRendererCount () const =0


Get amount of currently available material renderers.

• virtual const c8 ∗ getMaterialRendererName (u32 idx) const =0


Get name of a material renderer.

• virtual u32 getMaximalDynamicLightAmount () const =0


Returns the maximal amount of dynamic lights the device can handle.

• virtual u32 getMaximalPrimitiveCount () const =0


Returns the maximum amount of primitives.

• virtual const wchar_t ∗ getName () const =0


Gets name of this video driver.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 583

• virtual u32 getPrimitiveCountDrawn (u32 mode=0) const =0


Returns amount of primitives (mostly triangles) which were drawn in the last frame.

• virtual const core::dimension2d< s32 > & getScreenSize () const =0


Returns the size of the screen or render window.

• virtual ITexture ∗ getTexture (io::IReadFile ∗file)=0


Get access to a named texture.

• virtual ITexture ∗ getTexture (const c8 ∗filename)=0


Get access to a named texture.

• virtual ITexture ∗ getTextureByIndex (u32 index)=0


Returns a texture by index.

• virtual u32 getTextureCount () const =0


Returns amount of textures currently loaded.

• virtual bool getTextureCreationFlag (E_TEXTURE_CREATION_FLAG flag) const =0


Returns if a texture creation flag is enabled or disabled.

• virtual const core::matrix4 & getTransform (E_TRANSFORMATION_STATE state) const =0


Returns the transformation set by setTransform.

• virtual const core::rect< s32 > & getViewPort () const =0


Gets the area of the current viewport.

• virtual void makeColorKeyTexture (video::ITexture ∗texture, core::position2d< s32 > colorKey-


PixelPos) const =0
Creates a 1bit alpha channel of the texture based of an color key position.

• virtual void makeColorKeyTexture (video::ITexture ∗texture, video::SColor color) const =0


Creates a 1bit alpha channel of the texture based of an color key.

• virtual void makeNormalMapTexture (video::ITexture ∗texture, f32 amplitude=1.0f) const =0


Creates a normal map from a height map texture.

• virtual void OnResize (const core::dimension2d< s32 > &size)=0


Event handler for resize events. Only used by the engine internally.

• virtual bool queryFeature (E_VIDEO_DRIVER_FEATURE feature) const =0


Queries the features of the driver.

• virtual void removeAllTextures ()=0


Removes all textures from the texture cache and deletes them.

• virtual void removeTexture (ITexture ∗texture)=0


Removes a texture from the texture cache and deletes it.

• virtual void renameTexture (ITexture ∗texture, const c8 ∗newName)=0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


584 Irrlicht Engine Class Documentation

Renames a texture.

• virtual void setAmbientLight (const SColorf &color)=0


Sets the driver’s ambient light color. Only used by the engine internally.

• virtual bool setClipPlane (u32 index, const core::plane3df &plane, bool enable=false)=0
Set or unset a clipping plane.

• virtual void setFog (SColor color=SColor(0, 255, 255, 255), bool linearFog=true, f32 start=50.0f,
f32 end=100.0f, f32 density=0.01f, bool pixelFog=false, bool rangeFog=false)=0
Sets the fog mode.

• virtual void setMaterial (const SMaterial &material)=0


Sets a material.

• virtual void setMaterialRendererName (s32 idx, const c8 ∗name)=0


Sets the name of a material renderer.

• virtual bool setRenderTarget (video::ITexture ∗texture, bool clearBackBuffer=true, bool clear-


ZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))=0
Sets a new render target.

• virtual void setTextureCreationFlag (E_TEXTURE_CREATION_FLAG flag, bool enabled)=0


Enables or disables a texture creation flag.

• virtual void setTransform (E_TRANSFORMATION_STATE state, const core::matrix4 &mat)=0


Sets transformation matrices.

• virtual void setViewPort (const core::rect< s32 > &area)=0


Sets a new viewport.

• virtual bool writeImageToFile (IImage ∗image, const c8 ∗filename, u32 param=0)=0


Writes the provided image to a file.

• virtual ∼IVideoDriver ()
Destructor.

7.106.1 Detailed Description

Interface to driver which is able to perform 2d and 3d graphics functions.


This interface is one of the most important interfaces of the Irrlicht Engine: All rendering and texture
manipulation is done with this interface. You are able to use the Irrlicht Engine by only invoking methods
of this interface if you like to, although the irr::scene::ISceneManager interface provides a lot of powerful
classes and methods to make the programmer’s life easier.
Definition at line 76 of file IVideoDriver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 585

7.106.2 Constructor & Destructor Documentation

7.106.2.1 virtual irr::video::IVideoDriver::∼IVideoDriver () [inline, virtual]

Destructor.
Definition at line 81 of file IVideoDriver.h.

7.106.3 Member Function Documentation

7.106.3.1 virtual void irr::video::IVideoDriver::addDynamicLight (const SLight & light) [pure


virtual]

Adds a dynamic light.

Parameters:
light Data specifying the dynamic light.

7.106.3.2 virtual void irr::video::IVideoDriver::addExternalImageLoader (IImageLoader ∗


loader) [pure virtual]

Adds an external image loader to the engine.


This is useful if the Irrlicht Engine should be able to load textures of currently unsupported file formats
(e.g. gif). The IImageLoader only needs to be implemented for loading this file format. A pointer to the
implementation can be passed to the engine using this method.

Parameters:
loader Pointer to the external loader created.

7.106.3.3 virtual void irr::video::IVideoDriver::addExternalImageWriter (IImageWriter ∗ writer)


[pure virtual]

Adds an external image writer to the engine.


This is useful if the Irrlicht Engine should be able to write textures of currently unsupported file formats
(e.g .gif). The IImageWriter only needs to be implemented for writing this file format. A pointer to the
implementation can be passed to the engine using this method.

Parameters:
writer: Pointer to the external writer created.

7.106.3.4 virtual s32 irr::video::IVideoDriver::addMaterialRenderer (IMaterialRenderer ∗


renderer, const c8 ∗ name = 0) [pure virtual]

Adds a new material renderer to the video device.


Use this method to extend the VideoDriver with new material types. To extend the engine using this method
do the following: Derive a class from IMaterialRenderer and override the methods you need. For setting the
right renderstates, you can try to get a pointer to the real rendering device using IVideoDriver::getExposed-
VideoData(). Add your class with IVideoDriver::addMaterialRenderer(). To use an object being displayed

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


586 Irrlicht Engine Class Documentation

with your new material, set the MaterialType member of the SMaterial struct to the value returned by this
method. If you simply want to create a new material using vertex and/or pixel shaders it would be easier
to use the video::IGPUProgrammingServices interface which you can get using the getGPUProgramming-
Services() method.

Parameters:
renderer A pointer to the new renderer.
name Optional name for the material renderer entry.

Returns:
The number of the material type which can be set in SMaterial::MaterialType to use the renderer. -1
is returned if an error occured. For example if you tried to add an material renderer to the software
renderer or the null device, which do not accept material renderers.

7.106.3.5 virtual ITexture∗ irr::video::IVideoDriver::addTexture (const c8 ∗ name, IImage ∗


image) [pure virtual]

Creates a texture from an IImage.

Parameters:
name A name for the texture. Later calls of getTexture() with this name will return this texture
image Image the texture is created from.

Returns:
Pointer to the newly created texture. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.106.3.6 virtual ITexture∗ irr::video::IVideoDriver::addTexture (const core::dimension2d< s32


> & size, const c8 ∗ name, ECOLOR_FORMAT format = ECF_A8R8G8B8) [pure
virtual]

Creates an empty texture of specified size.

Parameters:
size: Size of the texture.
name A name for the texture. Later calls to getTexture() with this name will return this texture
format Desired color format of the texture. Please note that the driver may choose to create the texture
in another color format.

Returns:
Pointer to the newly created texture. This pointer should not be dropped. See IReference-
Counted::drop() for more information.

7.106.3.7 virtual bool irr::video::IVideoDriver::beginScene (bool backBuffer, bool zBuffer, SColor


color) [pure virtual]

Applications must call this method before performing any rendering.


This method can clear the back- and the z-buffer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 587

Parameters:
backBuffer Specifies if the back buffer should be cleared, which means that the screen is filled with
the color specified. If this parameter is false, the back buffer will not be cleared and the color
parameter is ignored.
zBuffer Specifies if the depth buffer (z buffer) should be cleared. It is not nesesarry to do so if only
2d drawing is used.
color The color used for back buffer clearing

Returns:
False if failed.

7.106.3.8 virtual void irr::video::IVideoDriver::clearZBuffer () [pure virtual]

Clears the ZBuffer.


Note that you usually need not to call this method, as it is automatically done in IVideoDriver::beginScene()
or IVideoDriver::setRenderTarget() if you enable zBuffer. But if you have to render some special things,
you can clear the zbuffer during the rendering process with this method any time.

7.106.3.9 virtual io::IAttributes∗ irr::video::IVideoDriver::createAttributesFromMaterial (const


video::SMaterial & material) [pure virtual]

Creates material attributes list from a material.


This method is useful for serialization and more. Please note that the video driver will use the material
renderer names from getMaterialRendererName() to write out the material type name, so they should be
set before.

Parameters:
material The material to serialize.

Returns:
The io::IAttributes container holding the material properties.

7.106.3.10 virtual IImage∗ irr::video::IVideoDriver::createImageFromData


(ECOLOR_FORMAT format, const core::dimension2d< s32 > & size, void ∗ data, bool
ownForeignMemory = false, bool deleteMemory = true) [pure virtual]

Creates a software image from a byte array.


No hardware texture will be created for this image. This method is useful for example if you want to read
a heightmap for a terrain renderer.

Parameters:
format Desired color format of the texture
size Desired size of the image
data A byte array with pixel color information
ownForeignMemory If true, the image will use the data pointer directly and own it afterwards. If
false, the memory will by copied internally.
deleteMemory Whether the memory is deallocated upon destruction.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


588 Irrlicht Engine Class Documentation

Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.

7.106.3.11 virtual IImage∗ irr::video::IVideoDriver::createImageFromFile (io::IReadFile ∗ file)


[pure virtual]

Creates a software image from a file.


No hardware texture will be created for this image. This method is useful for example if you want to read
a heightmap for a terrain renderer.

Parameters:
file File from which the image is created.

Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.

7.106.3.12 virtual IImage∗ irr::video::IVideoDriver::createImageFromFile (const c8 ∗ filename)


[pure virtual]

Creates a software image from a file.


No hardware texture will be created for this image. This method is useful for example if you want to read
a heightmap for a terrain renderer.

Parameters:
filename Name of the file from which the image is created.

Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.

7.106.3.13 virtual ITexture∗ irr::video::IVideoDriver::createRenderTargetTexture (const


core::dimension2d< s32 > & size, const c8 ∗ name = 0) [pure virtual]

Creates a render target texture.

Parameters:
size Size of the texture, in pixels. Width and height should be a power of two (e.g. 64, 128, 256, 512,
...) and it should not be bigger than the backbuffer, because it shares the zbuffer with the screen
buffer.
name An optional name for the RTT.

Returns:
Pointer to the created texture or 0 if the texture could not be created. If you no longer need the image,
you should call ITexture::drop(). See IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 589

7.106.3.14 virtual IImage∗ irr::video::IVideoDriver::createScreenShot () [pure virtual]

Make a screenshot of the last rendered frame.

Returns:
An image created from the last rendered frame.

7.106.3.15 virtual void irr::video::IVideoDriver::deleteAllDynamicLights () [pure virtual]

Deletes all dynamic lights which were previously added with addDynamicLight().

7.106.3.16 virtual void irr::video::IVideoDriver::draw2DImage (const video::ITexture


∗ texture, const core::rect< s32 > & destRect, const core::rect< s32 > &
sourceRect, const core::rect< s32 > ∗ clipRect = 0, video::SColor ∗ colors = 0, bool
useAlphaChannelOfTexture = false) [pure virtual]

Draws a part of the texture into the rectangle. Note that colors must be an array of 4 colors if used.
Suggested and first implemented by zola.

Parameters:
texture The texture to draw from
destRect The rectangle to draw into
sourceRect The rectangle denoting a part of the texture
clipRect Clips the destination rectangle (may be 0)
colors Array of 4 colors denoting the color values of the corners of the destRect
useAlphaChannelOfTexture True if alpha channel will be blended.

7.106.3.17 virtual void irr::video::IVideoDriver::draw2DImage (const video::ITexture ∗


texture, const core::position2d< s32 > & pos, const core::array< core::rect< s32 >
> & sourceRects, const core::array< s32 > & indices, s32 kerningWidth = 0, const
core::rect< s32 > ∗ clipRect = 0, SColor color = SColor(255, 255, 255, 255),
bool useAlphaChannelOfTexture = false) [pure virtual]

Draws a set of 2d images, using a color and the alpha channel of the texture.
The images are drawn beginning at pos and concatenated in one line. All drawings are clipped against
clipRect (if != 0). The subtextures are defined by the array of sourceRects and are chosen by the indices
given.

Parameters:
texture Texture to be drawn.
pos Upper left 2d destination position where the image will be drawn.
sourceRects Source rectangles of the image.
indices List of indices which choose the actual rectangle used each time.
kerningWidth Offset to Position on X
clipRect Pointer to rectangle on the screen where the image is clipped to. If this pointer is 0 then the
image is not clipped.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


590 Irrlicht Engine Class Documentation

color Color with which the image is drawn. Note that the alpha component is used. If alpha is other
than 255, the image will be transparent.
useAlphaChannelOfTexture: If true, the alpha channel of the texture is used to draw the image.

7.106.3.18 virtual void irr::video::IVideoDriver::draw2DImage (const video::ITexture ∗ texture,


const core::position2d< s32 > & destPos, const core::rect< s32 > & sourceRect, const
core::rect< s32 > ∗ clipRect = 0, SColor color = SColor(255, 255, 255, 255),
bool useAlphaChannelOfTexture = false) [pure virtual]

Draws a 2d image using a color.


(if color is other than Color(255,255,255,255)) and the alpha channel of the texture.

Parameters:
texture Texture to be drawn.
destPos Upper left 2d destination position where the image will be drawn.
sourceRect Source rectangle in the image.
clipRect Pointer to rectangle on the screen where the image is clipped to. If this pointer is NULL the
image is not clipped.
color Color with which the image is drawn. If the color equals Color(255,255,255,255) it is ignored.
Note that the alpha component is used: If alpha is other than 255, the image will be transparent.
useAlphaChannelOfTexture: If true, the alpha channel of the texture is used to draw the image.

7.106.3.19 virtual void irr::video::IVideoDriver::draw2DImage (const video::ITexture ∗ texture,


const core::position2d< s32 > & destPos) [pure virtual]

Draws a 2d image without any special effects.

Parameters:
texture Pointer to texture to use.
destPos Upper left 2d destination position where the image will be drawn.

7.106.3.20 virtual void irr::video::IVideoDriver::draw2DLine (const core::position2d<


s32 > & start, const core::position2d< s32 > & end, SColor color =
SColor(255, 255, 255, 255)) [pure virtual]

Draws a 2d line.

Parameters:
start: Screen coordinates of the start of the line in pixels.
end: Screen coordinates of the start of the line in pixels.
color: Color of the line to draw.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 591

7.106.3.21 virtual void irr::video::IVideoDriver::draw2DPolygon (core::position2d< s32 > center,


f32 radius, video::SColor color = SColor(100, 255, 255, 255), s32 vertexCount
= 10) [pure virtual]

Draws a non filled concyclic regular 2d polyon.


This method can be used to draw circles, but also triangles, tetragons, pentagons, hexagons, heptagons,
octagons, enneagons, decagons, hendecagons, dodecagon, triskaidecagons, etc. I think you’ll got it now.
And all this by simply specifying the vertex count. Welcome to the wonders of geometry.

Parameters:
center Position of center of circle (pixels).
radius Radius of circle in pixels.
color Color of the circle.
vertexCount Amount of vertices of the polygon. Specify 2 to draw a line, 3 to draw a triangle, 4 for
tetragons and a lot (>10) for nearly a circle.

7.106.3.22 virtual void irr::video::IVideoDriver::draw2DRectangle (const core::rect< s32


> & pos, SColor colorLeftUp, SColor colorRightUp, SColor colorLeftDown, SColor
colorRightDown, const core::rect< s32 > ∗ clip = 0) [pure virtual]

Draws an 2d rectangle with a gradient.

Parameters:
colorLeftUp Color of the upper left corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorRightUp Color of the upper right corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorLeftDown Color of the lower left corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorRightDown Color of the lower right corner to draw. The alpha component will not be ignored
and specifies how transparent the rectangle will be.
pos Position of the rectangle.
clip Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.

7.106.3.23 virtual void irr::video::IVideoDriver::draw2DRectangle (SColor color, const


core::rect< s32 > & pos, const core::rect< s32 > ∗ clip = 0) [pure virtual]

Draws a 2d rectangle.

Parameters:
color Color of the rectangle to draw. The alpha component will not be ignored and specifies how
transparent the rectangle will be.
pos Position of the rectangle.
clip Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


592 Irrlicht Engine Class Documentation

7.106.3.24 virtual void irr::video::IVideoDriver::draw3DBox (const core::aabbox3d< f32 > &


box, SColor color = SColor(255, 255, 255, 255)) [pure virtual]

Draws a 3d axis aligned box.


This method simply calls draw3DLine for the edges of the box. Note that the box is drawn using the current
transformation matrix and material. So if you need to draw it independently of the current transformation,
use

driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());

for some properly set up material before drawing the box.

Parameters:
box The axis aligned box to draw
color Color to use while drawing the box.

7.106.3.25 virtual void irr::video::IVideoDriver::draw3DLine (const core::vector3df & start, const


core::vector3df & end, SColor color = SColor(255, 255, 255, 255)) [pure
virtual]

Draws a 3d line.
For some implementations, this method simply calls drawIndexedTriangles for some triangles. Note that
the line is drawn using the current transformation matrix and material. So if you need to draw the 3D line
independently of the current transformation, use

driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());

for some properly set up material before drawing the line. Some drivers support line thickness set in the
material.

Parameters:
start Start of the 3d line.
end End of the 3d line.
color Color of the line.

7.106.3.26 virtual void irr::video::IVideoDriver::draw3DTriangle (const core::triangle3df &


triangle, SColor color = SColor(255, 255, 255, 255)) [pure virtual]

Draws a 3d triangle.
This method calls drawIndexedTriangles for some triangles. This method works with all drivers because
it simply calls drawIndexedTriangleList but it is hence not very fast. Note that the triangle is drawn using
the current transformation matrix and material. So if you need to draw it independently of the current
transformation, use

driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 593

for some properly set up material before drawing the triangle.

Parameters:
triangle The triangle to draw.
color Color of the line.

7.106.3.27 virtual void irr::video::IVideoDriver::drawIndexedTriangleFan (const


S3DVertex2TCoords ∗ vertices, u32 vertexCount, const u16 ∗ indexList, u32
triangleCount) [pure virtual]

Draws an indexed triangle fan.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices - 2.

7.106.3.28 virtual void irr::video::IVideoDriver::drawIndexedTriangleFan (const S3DVertex


∗ vertices, u32 vertexCount, const u16 ∗ indexList, u32 triangleCount) [pure
virtual]

Draws an indexed triangle fan.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices - 2.

7.106.3.29 virtual void irr::video::IVideoDriver::drawIndexedTriangleList (const


S3DVertexTangents ∗ vertices, u32 vertexCount, const u16 ∗ indexList, u32
triangleCount) [pure virtual]

Draws an indexed triangle list.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


594 Irrlicht Engine Class Documentation

vertexCount Amount of vertices in the array.


indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices / 3.

7.106.3.30 virtual void irr::video::IVideoDriver::drawIndexedTriangleList (const


S3DVertex2TCoords ∗ vertices, u32 vertexCount, const u16 ∗ indexList, u32
triangleCount) [pure virtual]

Draws an indexed triangle list.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices / 3.

7.106.3.31 virtual void irr::video::IVideoDriver::drawIndexedTriangleList (const S3DVertex


∗ vertices, u32 vertexCount, const u16 ∗ indexList, u32 triangleCount) [pure
virtual]

Draws an indexed triangle list.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices / 3.

7.106.3.32 virtual void irr::video::IVideoDriver::drawMeshBuffer (const scene::IMeshBuffer ∗


mb) [pure virtual]

Draws a mesh buffer.

Parameters:
mb: Buffer to draw;

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 595

7.106.3.33 virtual void irr::video::IVideoDriver::drawStencilShadow (bool clearStencilBuffer


= false, video::SColor leftUpEdge = video::SColor(255, 0, 0, 0),
video::SColor rightUpEdge = video::SColor(255, 0, 0, 0), video::SColor
leftDownEdge = video::SColor(255, 0, 0, 0), video::SColor rightDownEdge =
video::SColor(255, 0, 0, 0)) [pure virtual]

Fills the stencil shadow with color.


After the shadow volume has been drawn into the stencil buffer using IVideoDriver::drawStencilShadow-
Volume(), use this to draw the color of the shadow. Please note that the code for the opengl version of the
method is based on free code sent in by Philipp Dortmann, lots of thanks go to him!

Parameters:
clearStencilBuffer Set this to false, if you want to draw every shadow with the same color, and only
want to call drawStencilShadow() once after all shadow volumes have been drawn. Set this to
true, if you want to paint every shadow with its own color.
leftUpEdge Color of the shadow in the upper left corner of screen.
rightUpEdge Color of the shadow in the upper right corner of screen.
leftDownEdge Color of the shadow in the lower left corner of screen.
rightDownEdge Color of the shadow in the lower right corner of screen.

7.106.3.34 virtual void irr::video::IVideoDriver::drawStencilShadowVolume (const


core::vector3df ∗ triangles, s32 count, bool zfail = true) [pure virtual]

Draws a shadow volume into the stencil buffer.


To draw a stencil shadow, do this: First, draw all geometry. Then use this method, to draw the shadow
volume. Then, use IVideoDriver::drawStencilShadow() to visualize the shadow. Please note that the code
for the opengl version of the method is based on free code sent in by Philipp Dortmann, lots of thanks go
to him!

Parameters:
triangles Pointer to array of 3d vectors, specifying the shadow volume.
count Amount of triangles in the array.
zfail If set to true, zfail method is used, otherwise zpass.

7.106.3.35 virtual void irr::video::IVideoDriver::drawVertexPrimitiveList (const void ∗ vertices,


u32 vertexCount, const u16 ∗ indexList, u32 triangleCount, E_VERTEX_TYPE vType,
scene::E_PRIMITIVE_TYPE pType) [pure virtual]

Draws a vertex primitive list.


Note that there may be at maximum 65536 vertices, because the index list is an array of 16 bit values each
with a maximum value of 65536. If there are more than 65536 vertices in the list, results of this operation
are not defined.

Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


596 Irrlicht Engine Class Documentation

triangleCount Amount of Triangles.


vType Vertex type, e.g. EVT_STANDARD for S3DVertex.
pType Primitive type, e.g. EPT_TRIANGLE_FAN for a triangle fan.

7.106.3.36 virtual void irr::video::IVideoDriver::enableClipPlane (u32 index, bool enable)


[pure virtual]

Enable or disable a clipping plane.


There are at least 6 clipping planes available for the user to set at will.

Parameters:
index The plane index. Must be between 0 and MaxUserClipPlanes.
enable If true, enable the clipping plane else disable it.

7.106.3.37 virtual bool irr::video::IVideoDriver::endScene (s32 windowId = 0, core::rect< s32 > ∗


sourceRect = 0) [pure virtual]

Presents the rendered image to the screen.


Applications must call this method after performing any rendering.

Parameters:
windowId Handle of another window, if you want the bitmap to be displayed on another window. If
this is null, everything will be displayed in the default window. Note: This does not work in
fullscreen mode and is not implemented for all devices (only for D3D8, D3D9, Software1 and
Software2, and only for Windows).
sourceRect Pointer to a rectangle defining the source rectangle of the area to be presented. Set to null
to present everything. Note: not implemented in all devices.

Returns:
False if failed and true if succeeded.

7.106.3.38 virtual void irr::video::IVideoDriver::fillMaterialStructureFromAttributes


(video::SMaterial & outMaterial, io::IAttributes ∗ attributes) [pure virtual]

Fills an SMaterial structure from attributes.


Please note that for setting material types of the material, the video driver will need to query the ma-
terial renderers for their names, so all non built-in materials must have been created before calling this
method.

Parameters:
outMaterial The material to set the properties for.
attributes The attributes to read from.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 597

7.106.3.39 virtual video::ITexture∗ irr::video::IVideoDriver::findTexture (const c8 ∗ filename)


[pure virtual]

Check if the image is already loaded.


Works similar to getTexture(), but does not load the texture if it is not currently loaded.

Parameters:
filename Name of the texture.

Returns:
Pointer to loaded texture, or 0 if not found.

7.106.3.40 virtual const core::dimension2d<s32>& irr::video::IVideoDriver::getCurrentRender-


TargetSize () const [pure virtual]

Returns the size of the current render target.


This method will return the screen size if the driver doesn’t support render to texture, or if the current
render target is the screen.

Returns:
Size of render target or screen/window

7.106.3.41 virtual E_DRIVER_TYPE irr::video::IVideoDriver::getDriverType () const [pure


virtual]

Get type of video driver.

Returns:
Type of driver.

7.106.3.42 virtual const SLight& irr::video::IVideoDriver::getDynamicLight (u32 idx) const


[pure virtual]

Returns light data which was previously set by IVideoDriver::addDynamicLight().

Parameters:
idx Zero based index of the light. Must be 0 or greater and smaller than IVideoDriver()::getDynamic-
LightCount.

Returns:
Light data.

7.106.3.43 virtual u32 irr::video::IVideoDriver::getDynamicLightCount () const [pure


virtual]

Returns amount of dynamic lights currently set.

Returns:
Amount of dynamic lights currently set

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


598 Irrlicht Engine Class Documentation

7.106.3.44 virtual const SExposedVideoData& irr::video::IVideoDriver::getExposedVideoData ()


[pure virtual]

Returns driver and operating system specific data about the IVideoDriver.
This method should only be used if the engine should be extended without having to modify the source of
the engine.

Returns:
Collection of device dependent pointers.

7.106.3.45 virtual s32 irr::video::IVideoDriver::getFPS () const [pure virtual]

Returns current frames per second value.

Returns:
Amount of frames per second drawn.

7.106.3.46 virtual IGPUProgrammingServices∗ irr::video::IVideoDriver::getGPUProgramming-


Services () [pure virtual]

Gets the IGPUProgrammingServices interface.

Returns:
Pointer to the IGPUProgrammingServices. Returns 0 if the video driver does not support this. For
example the Software driver and the Null driver will always return 0.

7.106.3.47 virtual IMaterialRenderer∗ irr::video::IVideoDriver::getMaterialRenderer (u32 idx)


[pure virtual]

Get access to a material renderer by index.

Parameters:
idx Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().

Returns:
Pointer to material renderer or null if not existing.

7.106.3.48 virtual u32 irr::video::IVideoDriver::getMaterialRendererCount () const [pure


virtual]

Get amount of currently available material renderers.

Returns:
Amount of currently available material renderers.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 599

7.106.3.49 virtual const c8∗ irr::video::IVideoDriver::getMaterialRendererName (u32 idx) const


[pure virtual]

Get name of a material renderer.


This string can, e.g., be used to test if a specific renderer already has been registered/created, or use this
string to store data about materials: This returned name will be also used when serializing materials.

Parameters:
idx Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().

Returns:
String with the name of the renderer, or 0 if not exisiting

7.106.3.50 virtual u32 irr::video::IVideoDriver::getMaximalDynamicLightAmount () const


[pure virtual]

Returns the maximal amount of dynamic lights the device can handle.

Returns:
Maximal amount of dynamic lights.

7.106.3.51 virtual u32 irr::video::IVideoDriver::getMaximalPrimitiveCount () const [pure


virtual]

Returns the maximum amount of primitives.


(mostly vertices) which the device is able to render with one drawIndexedTriangleList call.

Returns:
Maximum amount of primitives.

7.106.3.52 virtual const wchar_t∗ irr::video::IVideoDriver::getName () const [pure


virtual]

Gets name of this video driver.

Returns:
Returns the name of the video driver, e.g. in case of the Direct3D8 driver, it would return "Direct3D
8.1".

7.106.3.53 virtual u32 irr::video::IVideoDriver::getPrimitiveCountDrawn (u32 mode = 0) const


[pure virtual]

Returns amount of primitives (mostly triangles) which were drawn in the last frame.
Together with getFPS() very useful method for statistics.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


600 Irrlicht Engine Class Documentation

Parameters:
mode Defines if the primitives drawn are accumulated or counted per frame.

Returns:
Amount of primitives drawn in the last frame.

7.106.3.54 virtual const core::dimension2d<s32>& irr::video::IVideoDriver::getScreenSize ()


const [pure virtual]

Returns the size of the screen or render window.

Returns:
Size of screen or render window.

7.106.3.55 virtual ITexture∗ irr::video::IVideoDriver::getTexture (io::IReadFile ∗ file) [pure


virtual]

Get access to a named texture.


Loads the texture from disk if it is not already loaded and generates mipmap levels if desired. Texture
loading can be influenced using the setTextureCreationFlag() method. The texture can be in several image-
formats, such as BMP, JPG, TGA, PCX, PNG, and PSD.

Parameters:
file Pointer to an already opened file.

Returns:
Pointer to the texture, or 0 if the texture could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

7.106.3.56 virtual ITexture∗ irr::video::IVideoDriver::getTexture (const c8 ∗ filename) [pure


virtual]

Get access to a named texture.


Loads the texture from disk if it is not already loaded and generates mipmap levels if desired. Texture
loading can be influenced using the setTextureCreationFlag() method. The texture can be in several image-
formats, such as BMP, JPG, TGA, PCX, PNG, and PSD.

Parameters:
filename Filename of the texture to be loaded.

Returns:
Pointer to the texture, or 0 if the texture could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 601

7.106.3.57 virtual ITexture∗ irr::video::IVideoDriver::getTextureByIndex (u32 index) [pure


virtual]

Returns a texture by index.

Parameters:
index: Index of the texture, must be smaller than getTextureCount() Please note that this index might
change when adding or removing textures

Returns:
Pointer to the texture, or 0 if the texture was not set or index is out of bounds. This pointer should not
be dropped. See IReferenceCounted::drop() for more information.

7.106.3.58 virtual u32 irr::video::IVideoDriver::getTextureCount () const [pure virtual]

Returns amount of textures currently loaded.

Returns:
Amount of textures currently loaded

7.106.3.59 virtual bool irr::video::IVideoDriver::getTextureCreationFlag


(E_TEXTURE_CREATION_FLAG flag) const [pure virtual]

Returns if a texture creation flag is enabled or disabled.


You can change this value using setTextureCreationMode().

Parameters:
flag Texture creation flag.

Returns:
The current texture creation mode.

7.106.3.60 virtual const core::matrix4& irr::video::IVideoDriver::getTransform


(E_TRANSFORMATION_STATE state) const [pure virtual]

Returns the transformation set by setTransform.

Parameters:
state Transformation type to query

Returns:
Matrix describing the transformation.

7.106.3.61 virtual const core::rect<s32>& irr::video::IVideoDriver::getViewPort () const


[pure virtual]

Gets the area of the current viewport.

Returns:
Rectangle of the current viewport.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


602 Irrlicht Engine Class Documentation

7.106.3.62 virtual void irr::video::IVideoDriver::makeColorKeyTexture (video::ITexture ∗


texture, core::position2d< s32 > colorKeyPixelPos) const [pure virtual]

Creates a 1bit alpha channel of the texture based of an color key position.
This makes the texture transparent at the regions where this color key can be found when using for example
draw2DImage with useAlphachannel==true.

Parameters:
texture Texture whose alpha channel is modified.
colorKeyPixelPos Position of a pixel with the color key color. Every pixel with this color will become
transparent as described above.

7.106.3.63 virtual void irr::video::IVideoDriver::makeColorKeyTexture (video::ITexture ∗


texture, video::SColor color) const [pure virtual]

Creates a 1bit alpha channel of the texture based of an color key.


This makes the texture transparent at the regions where this color key can be found when using for example
draw2DImage with useAlphachannel==true.

Parameters:
texture Texture whose alpha channel is modified.
color Color key color. Every pixel with this color will become transparent as described above. Please
note that the colors of a texture may be converted when loading it, so the color values may not be
exactly the same in the engine and for example in picture edit programs. To avoid this problem,
you could use the makeColorKeyTexture method, which takes the position of a pixel instead a
color value.

7.106.3.64 virtual void irr::video::IVideoDriver::makeNormalMapTexture (video::ITexture ∗


texture, f32 amplitude = 1.0f) const [pure virtual]

Creates a normal map from a height map texture.


If the target texture has 32 bit, the height value is stored in the alpha component of the texture as addition.
This value is used by the video::EMT_PARALLAX_MAP_SOLID material and similar materials.

Parameters:
texture Texture whose alpha channel is modified.
amplitude Constant value by which the height information is multiplied.

7.106.3.65 virtual void irr::video::IVideoDriver::OnResize (const core::dimension2d< s32 > &


size) [pure virtual]

Event handler for resize events. Only used by the engine internally.
Used to notify the driver that the window was resized. Usually, there is no need to call this method.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 603

7.106.3.66 virtual bool irr::video::IVideoDriver::queryFeature (E_VIDEO_DRIVER_FEATURE


feature) const [pure virtual]

Queries the features of the driver.


Returns true if a feature is available

Parameters:
feature Feature to query.

Returns:
True if the feature is available, false if not.

7.106.3.67 virtual void irr::video::IVideoDriver::removeAllTextures () [pure virtual]

Removes all textures from the texture cache and deletes them.
This method can free a lot of memory! Please note that after calling this, the pointer to the ITexture may
no longer be valid, if it was not grabbed before by other parts of the engine for storing it longer. So it is a
good idea to set all materials which are using this texture to 0 or another texture first.

7.106.3.68 virtual void irr::video::IVideoDriver::removeTexture (ITexture ∗ texture) [pure


virtual]

Removes a texture from the texture cache and deletes it.


This method can free a lot of memory! Please note that after calling this, the pointer to the ITexture may
no longer be valid, if it was not grabbed before by other parts of the engine for storing it longer. So it is a
good idea to set all materials which are using this texture to 0 or another texture first.

Parameters:
texture Texture to delete from the engine cache.

7.106.3.69 virtual void irr::video::IVideoDriver::renameTexture (ITexture ∗ texture, const c8 ∗


newName) [pure virtual]

Renames a texture.

Parameters:
texture Pointer to the texture to rename.
newName New name for the texture.

7.106.3.70 virtual void irr::video::IVideoDriver::setAmbientLight (const SColorf & color)


[pure virtual]

Sets the driver’s ambient light color. Only used by the engine internally.
This color is set in the scene manager, see scene::ISceneManager::setAmbientLight().

Parameters:
color New color of the ambient light.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


604 Irrlicht Engine Class Documentation

7.106.3.71 virtual bool irr::video::IVideoDriver::setClipPlane (u32 index, const core::plane3df &


plane, bool enable = false) [pure virtual]

Set or unset a clipping plane.


There are at least 6 clipping planes available for the user to set at will.

Parameters:
index The plane index. Must be between 0 and MaxUserClipPlanes.
plane The plane itself.
enable If true, enable the clipping plane else disable it.

Returns:
True if the clipping plane is usable.

7.106.3.72 virtual void irr::video::IVideoDriver::setFog (SColor color =


SColor(0, 255, 255, 255), bool linearFog = true, f32 start = 50.0f, f32 end
= 100.0f, f32 density = 0.01f, bool pixelFog = false, bool rangeFog = false)
[pure virtual]

Sets the fog mode.


These are global values attached to each 3d object rendered, which has the fog flag enabled in its mate-
rial.

Parameters:
color Color of the fog
linearFog Set this to true for linear fog, otherwise exponential fog is applied.
start Only used in linear fog mode (linearFog=true). Specifies where fog starts.
end Only used in linear fog mode (linearFog=true). Specifies where fog ends.
density Only used in expotential fog mode (linearFog=false). Must be a value between 0 and 1.
pixelFog Set this to false for vertex fog, and true if you want per-pixel fog.
rangeFog Set this to true to enable range-based vertex fog. The distance from the viewer is used to
compute the fog, not the z-coordinate. This is better, but slower. This is only available with D3D
and vertex fog.

7.106.3.73 virtual void irr::video::IVideoDriver::setMaterial (const SMaterial & material)


[pure virtual]

Sets a material.
All 3d drawing functions will draw geometry using this material thereafter.

Parameters:
material: Material to be used from now on.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.106 irr::video::IVideoDriver Class Reference 605

7.106.3.74 virtual void irr::video::IVideoDriver::setMaterialRendererName (s32 idx, const c8 ∗


name) [pure virtual]

Sets the name of a material renderer.


Will have no effect on built-in material renderers.

Parameters:
idx: Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().
name: New name of the material renderer.

7.106.3.75 virtual bool irr::video::IVideoDriver::setRenderTarget (video::ITexture ∗


texture, bool clearBackBuffer = true, bool clearZBuffer = true, SColor color =
video::SColor(0, 0, 0, 0)) [pure virtual]

Sets a new render target.


This will only work if the driver supports the EVDF_RENDER_TO_TARGET feature, which can be
queried with queryFeature(). Usually, rendering to textures is done in this way:

// create render target


ITexture* target = driver->createRenderTargetTexture(core::dimension2d<s32>(128,128));

// ...

driver->setRenderTarget(target); // set render target


// .. draw stuff here
driver->setRenderTarget(0); // set previous render target

Please note that you cannot render 3D or 2D geometry with a render target as texture on it when you are
rendering the scene into this render target at the same time. It is usually only possible to render into a
texture between the IVideoDriver::beginScene() and endScene() method calls. And please also note that
the scene will be rendered upside down into the texture in some drivers (e.g. OpenGL vs. D3D). A simple
workaround for this is to flip the texture coordinates of the geometry where the render target texture is
displayed on.

Parameters:
texture New render target. Must be a texture created with IVideoDriver::createRenderTargetTexture().
If set to 0, it sets the previous render target which was set before the last setRenderTarget() call.
clearBackBuffer Clears the backbuffer of the render target with the color parameter
clearZBuffer Clears the zBuffer of the rendertarget. Note that, because the frame buffer shares the
zbuffer with the rendertarget, its zbuffer will be partially cleared too with this.
color The background color for the render target.

Returns:
True if sucessful and false if not.

7.106.3.76 virtual void irr::video::IVideoDriver::setTextureCreationFlag


(E_TEXTURE_CREATION_FLAG flag, bool enabled) [pure virtual]

Enables or disables a texture creation flag.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


606 Irrlicht Engine Class Documentation

These flags define how textures should be created. By changing this value, you can influence for example
the speed of rendering a lot. But please note that the video drivers take this value only as recommendation.
It could happen that you enable the ETCF_ALWAYS_16_BIT mode, but the driver still creates 32 bit
textures.

Parameters:
flag Texture creation flag.
enabled Specifies if the given flag should be enabled or disabled.

7.106.3.77 virtual void irr::video::IVideoDriver::setTransform (E_TRANSFORMATION_STATE


state, const core::matrix4 & mat) [pure virtual]

Sets transformation matrices.

Parameters:
state Transformation type to be set, e.g. view, world, or projection.
mat Matrix describing the transformation.

7.106.3.78 virtual void irr::video::IVideoDriver::setViewPort (const core::rect< s32 > & area)
[pure virtual]

Sets a new viewport.


Every rendering operation is done into this new area.

Parameters:
area: Rectangle defining the new area of rendering operations.

7.106.3.79 virtual bool irr::video::IVideoDriver::writeImageToFile (IImage ∗ image, const c8 ∗


filename, u32 param = 0) [pure virtual]

Writes the provided image to a file.


Requires that there is a suitable image writer registered for writing the image.

Parameters:
image Image to write.
filename Name of the file to write.
param Control parameter for the backend (e.g. compression level).

Returns:
True on successful write.

The documentation for this class was generated from the following file:

• IVideoDriver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.107 irr::video::IVideoModeList Class Reference 607

7.107 irr::video::IVideoModeList Class Reference


A list of all available video modes.
#include <IVideoModeList.h>
Inheritance diagram for irr::video::IVideoModeList::

irr::IReferenceCounted

irr::video::IVideoModeList

Public Member Functions


• virtual s32 getDesktopDepth () const =0
Get the pixel depth of a video mode in bits.

• virtual core::dimension2d< s32 > getDesktopResolution () const =0


Get current desktop screen resolution.

• virtual s32 getVideoModeCount () const =0


Gets amount of video modes in the list.

• virtual s32 getVideoModeDepth (s32 modeNumber) const =0


Get the pixel depth of a video mode in bits.

• virtual core::dimension2d< s32 > getVideoModeResolution (s32 modeNumber) const =0


Get the screen size of a video mode in pixels.

• virtual ∼IVideoModeList ()
destructor

7.107.1 Detailed Description

A list of all available video modes.


You can get a list via IrrlichtDevice::getVideoModeList(). If you are confused now, because you think you
have to create an Irrlicht Device with a video mode before being able to get the video mode list, let me
tell you that there is no need to start up an Irrlicht Device with EDT_DIRECT3D8, EDT_OPENGL or
EDT_SOFTWARE: For this (and for lots of other reasons) the null device, EDT_NULL exists.
Definition at line 23 of file IVideoModeList.h.

7.107.2 Constructor & Destructor Documentation

7.107.2.1 virtual irr::video::IVideoModeList::∼IVideoModeList () [inline, virtual]

destructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


608 Irrlicht Engine Class Documentation

Definition at line 28 of file IVideoModeList.h.

7.107.3 Member Function Documentation

7.107.3.1 virtual s32 irr::video::IVideoModeList::getDesktopDepth () const [pure virtual]

Get the pixel depth of a video mode in bits.

Returns:
Size of each pixel of the current desktop video mode in bits.

7.107.3.2 virtual core::dimension2d<s32> irr::video::IVideoModeList::getDesktopResolution ()


const [pure virtual]

Get current desktop screen resolution.

Returns:
Size of screen in pixels of the current desktop video mode.

7.107.3.3 virtual s32 irr::video::IVideoModeList::getVideoModeCount () const [pure


virtual]

Gets amount of video modes in the list.

Returns:
Returns amount of video modes.

7.107.3.4 virtual s32 irr::video::IVideoModeList::getVideoModeDepth (s32 modeNumber) const


[pure virtual]

Get the pixel depth of a video mode in bits.

Parameters:
modeNumber: zero based index of the video mode.

Returns:
Size of each pixel of the specified video mode in bits.

7.107.3.5 virtual core::dimension2d<s32> irr::video::IVideoModeList::getVideoModeResolution


(s32 modeNumber) const [pure virtual]

Get the screen size of a video mode in pixels.

Parameters:
modeNumber: zero based index of the video mode.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.107 irr::video::IVideoModeList Class Reference 609

Returns:
Size of screen in pixels of the specified video mode.

The documentation for this class was generated from the following file:

• IVideoModeList.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


610 Irrlicht Engine Class Documentation

7.108 irr::io::IWriteFile Class Reference


Interface providing write acess to a file.
#include <IWriteFile.h>
Inheritance diagram for irr::io::IWriteFile::

irr::IReferenceCounted

irr::io::IWriteFile

Public Member Functions


• virtual const c8 ∗ getFileName () const =0
Get name of file.

• virtual long getPos () const =0


Get the current position in the file.

• virtual bool seek (long finalPos, bool relativeMovement=false)=0


Changes position in file.

• virtual s32 write (const void ∗buffer, u32 sizeToWrite)=0


Writes an amount of bytes to the file.

• virtual ∼IWriteFile ()
Destructor.

7.108.1 Detailed Description

Interface providing write acess to a file.


Definition at line 16 of file IWriteFile.h.

7.108.2 Constructor & Destructor Documentation

7.108.2.1 virtual irr::io::IWriteFile::∼IWriteFile () [inline, virtual]

Destructor.
Definition at line 20 of file IWriteFile.h.

7.108.3 Member Function Documentation

7.108.3.1 virtual const c8∗ irr::io::IWriteFile::getFileName () const [pure virtual]

Get name of file.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.108 irr::io::IWriteFile Class Reference 611

Returns:
File name as zero terminated character string.

7.108.3.2 virtual long irr::io::IWriteFile::getPos () const [pure virtual]

Get the current position in the file.

Returns:
Current position in the file in bytes.

7.108.3.3 virtual bool irr::io::IWriteFile::seek (long finalPos, bool relativeMovement = false)


[pure virtual]

Changes position in file.

Parameters:
finalPos Destination position in the file.
relativeMovement If set to true, the position in the file is changed relative to current position. Other-
wise the position is changed from begin of file.

Returns:
True if successful, otherwise false.

7.108.3.4 virtual s32 irr::io::IWriteFile::write (const void ∗ buffer, u32 sizeToWrite) [pure
virtual]

Writes an amount of bytes to the file.

Parameters:
buffer Pointer to buffer of bytes to write.
sizeToWrite Amount of bytes to write to the file.

Returns:
How much bytes were written.

The documentation for this class was generated from the following file:

• IWriteFile.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


612 Irrlicht Engine Class Documentation

7.109 irr::io::IXMLBase Class Reference


Empty class to be used as parent class for IrrXMLReader.
#include <irrXML.h>

7.109.1 Detailed Description

Empty class to be used as parent class for IrrXMLReader.


If you need another class as base class for the xml reader, you can do this by creating the reader using for
example new CXMLReaderImpl<char, YourBaseClass>(yourcallback); The Irrlicht Engine for example
needs IReferenceCounted as base class for every object to let it automaticly reference countend, hence it
replaces IXMLBase with IReferenceCounted. See irrXML.cpp on how this can be done in detail.
Definition at line 236 of file irrXML.h.
The documentation for this class was generated from the following file:

• irrXML.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.110 irr::io::IXMLWriter Class Reference 613

7.110 irr::io::IXMLWriter Class Reference


Interface providing methods for making it easier to write XML files.
#include <IXMLWriter.h>
Inheritance diagram for irr::io::IXMLWriter::

irr::IReferenceCounted

irr::io::IXMLWriter

Public Member Functions


• virtual void writeClosingTag (const wchar_t ∗name)=0
Writes the closing tag for an element. Like "</foo>".

• virtual void writeComment (const wchar_t ∗comment)=0


Writes a comment into the xml file.

• virtual void writeElement (const wchar_t ∗name, bool empty, core::array< core::stringw > &names,
core::array< core::stringw > &values)=0
Writes an xml element with any number of attributes.

• virtual void writeElement (const wchar_t ∗name, bool empty=false, const wchar_t ∗attr1Name=0,
const wchar_t ∗attr1Value=0, const wchar_t ∗attr2Name=0, const wchar_t ∗attr2Value=0, const
wchar_t ∗attr3Name=0, const wchar_t ∗attr3Value=0, const wchar_t ∗attr4Name=0, const wchar_t
∗attr4Value=0, const wchar_t ∗attr5Name=0, const wchar_t ∗attr5Value=0)=0
• virtual void writeLineBreak ()=0
Writes a line break.

• virtual void writeText (const wchar_t ∗text)=0


Writes a text into the file.

• virtual void writeXMLHeader ()=0


Writes an xml 1.0 header.

• virtual ∼IXMLWriter ()
Destructor.

7.110.1 Detailed Description

Interface providing methods for making it easier to write XML files.


This XML Writer only writes UTF-16 xml files, because these are parsed faster than all other formats by
IXMLReader.
Definition at line 21 of file IXMLWriter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


614 Irrlicht Engine Class Documentation

7.110.2 Constructor & Destructor Documentation

7.110.2.1 virtual irr::io::IXMLWriter::∼IXMLWriter () [inline, virtual]

Destructor.
Definition at line 26 of file IXMLWriter.h.

7.110.3 Member Function Documentation

7.110.3.1 virtual void irr::io::IXMLWriter::writeClosingTag (const wchar_t ∗ name) [pure


virtual]

Writes the closing tag for an element. Like "</foo>".

7.110.3.2 virtual void irr::io::IXMLWriter::writeComment (const wchar_t ∗ comment) [pure


virtual]

Writes a comment into the xml file.

7.110.3.3 virtual void irr::io::IXMLWriter::writeElement (const wchar_t ∗ name, bool empty,


core::array< core::stringw > & names, core::array< core::stringw > & values)
[pure virtual]

Writes an xml element with any number of attributes.

7.110.3.4 virtual void irr::io::IXMLWriter::writeElement (const wchar_t ∗ name, bool empty =


false, const wchar_t ∗ attr1Name = 0, const wchar_t ∗ attr1Value = 0, const wchar_t ∗
attr2Name = 0, const wchar_t ∗ attr2Value = 0, const wchar_t ∗ attr3Name = 0, const
wchar_t ∗ attr3Value = 0, const wchar_t ∗ attr4Name = 0, const wchar_t ∗ attr4Value = 0,
const wchar_t ∗ attr5Name = 0, const wchar_t ∗ attr5Value = 0) [pure virtual]

The element can be empty or not.

Parameters:
name: Name of the element
empty: Specifies if the element should be empty. Like "<foo />". If You set this to false, something
like this is written instead: "<foo>".
attr1Name: 1st attributes name
attr1Value: 1st attributes value
attr2Name: 2nd attributes name
attr2Value: 2nd attributes value
attr3Name: 3rd attributes name
attr3Value: 3rd attributes value
attr4Name: 4th attributes name
attr4Value: 4th attributes value
attr5Name: 5th attributes name
attr5Value: 5th attributes value

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.110 irr::io::IXMLWriter Class Reference 615

7.110.3.5 virtual void irr::io::IXMLWriter::writeLineBreak () [pure virtual]

Writes a line break.

7.110.3.6 virtual void irr::io::IXMLWriter::writeText (const wchar_t ∗ text) [pure virtual]

Writes a text into the file.


All occurrences of special characters such as & (&), < (<), > (>), and " (”) are automaticly replaced.

7.110.3.7 virtual void irr::io::IXMLWriter::writeXMLHeader () [pure virtual]

Writes an xml 1.0 header.


Looks like <?xml version="1.0"?>. This should always be called before writing anything other, because
also the text file header for unicode texts is written out with this method.
The documentation for this class was generated from the following file:

• IXMLWriter.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


616 Irrlicht Engine Class Documentation

7.111 irr::core::line2d< T > Class Template Reference


2D line between two points with intersection methods.
#include <line2d.h>

Public Member Functions


• f64 getAngleWith (const line2d< T > &l) const
Get angle between this line and given line.

• vector2d< T > getClosestPoint (const vector2d< T > &point) const


Get the closest point on this line to a point.

• f64 getLength () const


Get length of line.

• T getLengthSQ () const
Get squared length of the line.

• vector2d< T > getMiddle () const


Get middle of the line.

• T getPointOrientation (const vector2d< T > &point) const


Tells us if the given point lies to the left, right, or on the line.

• vector2d< T > getUnitVector () const


Get unit vector of the line.

• vector2d< T > getVector () const


Get the vector of the line.

• bool intersectWith (const line2d< T > &l, vector2d< T > &out) const
Tests if this line intersects with another line.

• bool isPointBetweenStartAndEnd (const vector2d< T > &point) const


Check if the given point is between start and end of the line.

• bool isPointOnLine (const vector2d< T > &point) const


Check if the given point is a member of the line.

• line2d (const line2d< T > &other)


Copy constructor.

• line2d (const vector2d< T > &start, const vector2d< T > &end)


Constructor for line between the two points given as vectors.

• line2d (T xa, T ya, T xb, T yb)


Constructor for line between the two points.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.111 irr::core::line2d< T > Class Template Reference 617

• line2d ()
Default constructor for line going from (0,0) to (1,1).

• bool operator!= (const line2d< T > &other) const


• line2d< T > operator+ (const vector2d< T > &point) const
• line2d< T > & operator+= (const vector2d< T > &point)
• line2d< T > operator- (const vector2d< T > &point) const
• line2d< T > & operator-= (const vector2d< T > &point)
• bool operator== (const line2d< T > &other) const
• void setLine (const line2d< T > &line)
Set this line to new line given as parameter.

• void setLine (const vector2d< T > &nstart, const vector2d< T > &nend)
Set this line to new line going through the two points.

• void setLine (const T &xa, const T &ya, const T &xb, const T &yb)
Set this line to new line going through the two points.

Public Attributes
• vector2d< T > end
End point of the line.

• vector2d< T > start


Start point of the line.

7.111.1 Detailed Description

template<class T> class irr::core::line2d< T >

2D line between two points with intersection methods.


Definition at line 18 of file line2d.h.

7.111.2 Constructor & Destructor Documentation

7.111.2.1 template<class T> irr::core::line2d< T >::line2d () [inline]

Default constructor for line going from (0,0) to (1,1).


Definition at line 22 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.2.2 template<class T> irr::core::line2d< T >::line2d (T xa, T ya, T xb, T yb) [inline]

Constructor for line between the two points.


Definition at line 24 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


618 Irrlicht Engine Class Documentation

7.111.2.3 template<class T> irr::core::line2d< T >::line2d (const vector2d< T > & start, const
vector2d< T > & end) [inline]

Constructor for line between the two points given as vectors.


Definition at line 26 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.2.4 template<class T> irr::core::line2d< T >::line2d (const line2d< T > & other)
[inline]

Copy constructor.
Definition at line 28 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3 Member Function Documentation

7.111.3.1 template<class T> f64 irr::core::line2d< T >::getAngleWith (const line2d< T > & l)
const [inline]

Get angle between this line and given line.

Parameters:
l Other line for test.
Returns:
Angle in degrees.

Definition at line 119 of file line2d.h.


References irr::core::vector2d< T >::getAngleWith(), and irr::core::line2d< T >::getVector().

7.111.3.2 template<class T> vector2d<T> irr::core::line2d< T >::getClosestPoint (const


vector2d< T > & point) const [inline]

Get the closest point on this line to a point.


Definition at line 151 of file line2d.h.
References irr::core::vector2d< T >::dotProduct(), irr::core::line2d< T >::end, irr::core::vector2d< T
>::getLength(), and irr::core::line2d< T >::start.

7.111.3.3 template<class T> f64 irr::core::line2d< T >::getLength () const [inline]

Get length of line.

Returns:
Length of the line.

Definition at line 53 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
Referenced by irr::core::line2d< T >::getUnitVector().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.111 irr::core::line2d< T > Class Template Reference 619

7.111.3.4 template<class T> T irr::core::line2d< T >::getLengthSQ () const [inline]

Get squared length of the line.

Returns:
Squared length of line.

Definition at line 57 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.5 template<class T> vector2d<T> irr::core::line2d< T >::getMiddle () const


[inline]

Get middle of the line.

Returns:
center of the line.

Definition at line 61 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.6 template<class T> T irr::core::line2d< T >::getPointOrientation (const vector2d< T >


& point) const [inline]

Tells us if the given point lies to the left, right, or on the line.

Returns:
0 if the point is on the line <0 if to the left, or >0 if to the right.

Definition at line 129 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
Referenced by irr::core::line2d< T >::isPointOnLine().

7.111.3.7 template<class T> vector2d<T> irr::core::line2d< T >::getUnitVector () const


[inline]

Get unit vector of the line.

Returns:
Unit vector of this line.

Definition at line 110 of file line2d.h.


References irr::core::line2d< T >::end, irr::core::line2d< T >::getLength(), and irr::core::line2d< T
>::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


620 Irrlicht Engine Class Documentation

7.111.3.8 template<class T> vector2d<T> irr::core::line2d< T >::getVector () const


[inline]

Get the vector of the line.

Returns:
The vector of the line.

Definition at line 68 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
Referenced by irr::core::line2d< T >::getAngleWith().

7.111.3.9 template<class T> bool irr::core::line2d< T >::intersectWith (const line2d< T > & l,
vector2d< T > & out) const [inline]

Tests if this line intersects with another line.

Parameters:
l: Other line to test intersection with.
out: If there is an intersection, the location of the intersection will be stored in this vector.

Returns:
True if there is an intersection, false if not.

Definition at line 75 of file line2d.h.


References irr::core::line2d< T >::end, irr::core::ROUNDING_ERROR_32, and irr::core::line2d< T
>::start.

7.111.3.10 template<class T> bool irr::core::line2d< T >::isPointBetweenStartAndEnd (const


vector2d< T > & point) const [inline]

Check if the given point is between start and end of the line.
Assumes that the point is already somewhere on the line.
Definition at line 145 of file line2d.h.
References irr::core::line2d< T >::end, irr::core::vector2d< T >::isBetweenPoints(), and
irr::core::line2d< T >::start.

7.111.3.11 template<class T> bool irr::core::line2d< T >::isPointOnLine (const vector2d< T >


& point) const [inline]

Check if the given point is a member of the line.

Returns:
Returns true if point is between start and end, else false.

Definition at line 137 of file line2d.h.


References irr::core::line2d< T >::end, irr::core::line2d< T >::getPointOrientation(), and
irr::core::line2d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.111 irr::core::line2d< T > Class Template Reference 621

7.111.3.12 template<class T> bool irr::core::line2d< T >::operator!= (const line2d< T > &
other) const [inline]

Definition at line 40 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.13 template<class T> line2d<T> irr::core::line2d< T >::operator+ (const vector2d< T


> & point) const [inline]

Definition at line 32 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.14 template<class T> line2d<T>& irr::core::line2d< T >::operator+= (const vector2d<


T > & point) [inline]

Definition at line 33 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.15 template<class T> line2d<T> irr::core::line2d< T >::operator- (const vector2d< T


> & point) const [inline]

Definition at line 35 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.16 template<class T> line2d<T>& irr::core::line2d< T >::operator-= (const vector2d<


T > & point) [inline]

Definition at line 36 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.17 template<class T> bool irr::core::line2d< T >::operator== (const line2d< T > &
other) const [inline]

Definition at line 38 of file line2d.h.


References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.18 template<class T> void irr::core::line2d< T >::setLine (const line2d< T > & line)
[inline]

Set this line to new line given as parameter.


Definition at line 49 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


622 Irrlicht Engine Class Documentation

7.111.3.19 template<class T> void irr::core::line2d< T >::setLine (const vector2d< T > &
nstart, const vector2d< T > & nend) [inline]

Set this line to new line going through the two points.
Definition at line 47 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.3.20 template<class T> void irr::core::line2d< T >::setLine (const T & xa, const T & ya,
const T & xb, const T & yb) [inline]

Set this line to new line going through the two points.
Definition at line 45 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.

7.111.4 Member Data Documentation

7.111.4.1 template<class T> vector2d<T> irr::core::line2d< T >::end

End point of the line.


Definition at line 169 of file line2d.h.
Referenced by irr::core::line2d< T >::getClosestPoint(), irr::core::line2d< T >::getLength(),
irr::core::line2d< T >::getLengthSQ(), irr::core::line2d< T >::getMiddle(), irr::core::line2d<
T >::getPointOrientation(), irr::core::line2d< T >::getUnitVector(), irr::core::line2d< T >::get-
Vector(), irr::core::line2d< T >::intersectWith(), irr::core::line2d< T >::isPointBetweenStartAnd-
End(), irr::core::line2d< T >::isPointOnLine(), irr::core::line2d< T >::line2d(), irr::core::line2d<
T >::operator!=(), irr::core::line2d< T >::operator+(), irr::core::line2d< T >::operator+=(),
irr::core::line2d< T >::operator-(), irr::core::line2d< T >::operator-=(), irr::core::line2d< T
>::operator==(), and irr::core::line2d< T >::setLine().

7.111.4.2 template<class T> vector2d<T> irr::core::line2d< T >::start

Start point of the line.


Definition at line 167 of file line2d.h.
Referenced by irr::core::line2d< T >::getClosestPoint(), irr::core::line2d< T >::getLength(),
irr::core::line2d< T >::getLengthSQ(), irr::core::line2d< T >::getMiddle(), irr::core::line2d<
T >::getPointOrientation(), irr::core::line2d< T >::getUnitVector(), irr::core::line2d< T >::get-
Vector(), irr::core::line2d< T >::intersectWith(), irr::core::line2d< T >::isPointBetweenStartAnd-
End(), irr::core::line2d< T >::isPointOnLine(), irr::core::line2d< T >::line2d(), irr::core::line2d<
T >::operator!=(), irr::core::line2d< T >::operator+(), irr::core::line2d< T >::operator+=(),
irr::core::line2d< T >::operator-(), irr::core::line2d< T >::operator-=(), irr::core::line2d< T
>::operator==(), and irr::core::line2d< T >::setLine().
The documentation for this class was generated from the following file:

• line2d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.112 irr::core::line3d< T > Class Template Reference 623

7.112 irr::core::line3d< T > Class Template Reference


3D line between two points with intersection methods.
#include <line3d.h>

Public Member Functions


• vector3d< T > getClosestPoint (const vector3d< T > &point) const
Returns the closest point on this line to a point.

• bool getIntersectionWithSphere (vector3d< T > sorigin, T sradius, f64 &outdistance) const


Returns if the line intersects with a shpere.

• T getLength () const
Get length of line.

• T getLengthSQ () const
Get squared length of line.

• vector3d< T > getMiddle () const


Get middle of line.

• vector3d< T > getVector () const


Get vector of line.

• bool isPointBetweenStartAndEnd (const vector3d< T > &point) const


Returns if the given point is between start and end of the line.

• line3d (const vector3d< T > &start, const vector3d< T > &end)


Constructor with two points as vectors.

• line3d (T xa, T ya, T za, T xb, T yb, T zb)


Constructor with two points.

• line3d ()
Default constructor.

• bool operator!= (const line3d< T > &other) const


• line3d< T > operator+ (const vector3d< T > &point) const
• line3d< T > & operator+= (const vector3d< T > &point)
• line3d< T > operator- (const vector3d< T > &point) const
• line3d< T > & operator-= (const vector3d< T > &point)
• bool operator== (const line3d< T > &other) const
• void setLine (const line3d< T > &line)
Set this line to new line given as parameter.

• void setLine (const vector3d< T > &nstart, const vector3d< T > &nend)
Set this line to a new line going through the two points.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


624 Irrlicht Engine Class Documentation

• void setLine (const T &xa, const T &ya, const T &za, const T &xb, const T &yb, const T &zb)
Set this line to a new line going through the two points.

Public Attributes

• vector3d< T > end


End point of line.

• vector3d< T > start


Start point of line.

7.112.1 Detailed Description

template<class T> class irr::core::line3d< T >

3D line between two points with intersection methods.


Definition at line 18 of file line3d.h.

7.112.2 Constructor & Destructor Documentation

7.112.2.1 template<class T> irr::core::line3d< T >::line3d () [inline]

Default constructor.
line from (0,0,0) to (1,1,1)
Definition at line 24 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.2.2 template<class T> irr::core::line3d< T >::line3d (T xa, T ya, T za, T xb, T yb, T zb)
[inline]

Constructor with two points.


Definition at line 26 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.2.3 template<class T> irr::core::line3d< T >::line3d (const vector3d< T > & start, const
vector3d< T > & end) [inline]

Constructor with two points as vectors.


Definition at line 28 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.112 irr::core::line3d< T > Class Template Reference 625

7.112.3 Member Function Documentation

7.112.3.1 template<class T> vector3d<T> irr::core::line3d< T >::getClosestPoint (const


vector3d< T > & point) const [inline]

Returns the closest point on this line to a point.

Parameters:
point The point to compare to.

Returns:
The nearest point which is part of the line.

Definition at line 89 of file line3d.h.


References irr::core::vector3d< T >::dotProduct(), irr::core::line3d< T >::end, irr::core::vector3d< T
>::getLength(), and irr::core::line3d< T >::start.

7.112.3.2 template<class T> bool irr::core::line3d< T >::getIntersectionWithSphere (vector3d<


T > sorigin, T sradius, f64 & outdistance) const [inline]

Returns if the line intersects with a shpere.

Parameters:
sorigin: Origin of the shpere.
sradius: Radius of the sphere.
outdistance: The distance to the first intersection point.

Returns:
Returns true if there is an intersection. If there is one, the distance to the first intersection point is
stored in outdistance.

Definition at line 113 of file line3d.h.


References irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::getLength(),
irr::core::line3d< T >::getVector(), and irr::core::line3d< T >::start.

7.112.3.3 template<class T> T irr::core::line3d< T >::getLength () const [inline]

Get length of line.

Returns:
Length of line.

Definition at line 56 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.4 template<class T> T irr::core::line3d< T >::getLengthSQ () const [inline]

Get squared length of line.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


626 Irrlicht Engine Class Documentation

Returns:
Squared length of line.

Definition at line 60 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.5 template<class T> vector3d<T> irr::core::line3d< T >::getMiddle () const


[inline]

Get middle of line.

Returns:
Center of line.

Definition at line 64 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.6 template<class T> vector3d<T> irr::core::line3d< T >::getVector () const


[inline]

Get vector of line.

Returns:
vector of line.

Definition at line 71 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
Referenced by irr::core::line3d< T >::getIntersectionWithSphere().

7.112.3.7 template<class T> bool irr::core::line3d< T >::isPointBetweenStartAndEnd (const


vector3d< T > & point) const [inline]

Returns if the given point is between start and end of the line.
Assumes that the point is already somewhere on the line.

Parameters:
point The point to test.

Returns:
True if point is on the line between start and end, else false.

Definition at line 81 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.8 template<class T> bool irr::core::line3d< T >::operator!= (const line3d< T > & other)
const [inline]

Definition at line 40 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.112 irr::core::line3d< T > Class Template Reference 627

7.112.3.9 template<class T> line3d<T> irr::core::line3d< T >::operator+ (const vector3d< T >


& point) const [inline]

Definition at line 32 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.10 template<class T> line3d<T>& irr::core::line3d< T >::operator+= (const vector3d<


T > & point) [inline]

Definition at line 33 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.11 template<class T> line3d<T> irr::core::line3d< T >::operator- (const vector3d< T


> & point) const [inline]

Definition at line 35 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.12 template<class T> line3d<T>& irr::core::line3d< T >::operator-= (const vector3d<


T > & point) [inline]

Definition at line 36 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.13 template<class T> bool irr::core::line3d< T >::operator== (const line3d< T > &
other) const [inline]

Definition at line 38 of file line3d.h.


References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.14 template<class T> void irr::core::line3d< T >::setLine (const line3d< T > & line)
[inline]

Set this line to new line given as parameter.


Definition at line 51 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.3.15 template<class T> void irr::core::line3d< T >::setLine (const vector3d< T > &
nstart, const vector3d< T > & nend) [inline]

Set this line to a new line going through the two points.
Definition at line 48 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


628 Irrlicht Engine Class Documentation

7.112.3.16 template<class T> void irr::core::line3d< T >::setLine (const T & xa, const T & ya,
const T & za, const T & xb, const T & yb, const T & zb) [inline]

Set this line to a new line going through the two points.
Definition at line 45 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

7.112.4 Member Data Documentation

7.112.4.1 template<class T> vector3d<T> irr::core::line3d< T >::end

End point of line.


Definition at line 132 of file line3d.h.
Referenced by irr::core::line3d< T >::getClosestPoint(), irr::core::line3d< T >::getLength(),
irr::core::line3d< T >::getLengthSQ(), irr::core::line3d< T >::getMiddle(), irr::core::line3d<
T >::getVector(), irr::core::line3d< T >::isPointBetweenStartAndEnd(), irr::core::line3d< T
>::line3d(), irr::core::line3d< T >::operator!=(), irr::core::line3d< T >::operator+(), irr::core::line3d<
T >::operator+=(), irr::core::line3d< T >::operator-(), irr::core::line3d< T >::operator-=(),
irr::core::line3d< T >::operator==(), and irr::core::line3d< T >::setLine().

7.112.4.2 template<class T> vector3d<T> irr::core::line3d< T >::start

Start point of line.


Definition at line 130 of file line3d.h.
Referenced by irr::core::line3d< T >::getClosestPoint(), irr::core::line3d< T >::getIntersectionWith-
Sphere(), irr::core::line3d< T >::getLength(), irr::core::line3d< T >::getLengthSQ(), irr::core::line3d<
T >::getMiddle(), irr::core::line3d< T >::getVector(), irr::core::line3d< T >::isPointBetweenStart-
AndEnd(), irr::core::line3d< T >::line3d(), irr::core::line3d< T >::operator!=(), irr::core::line3d<
T >::operator+(), irr::core::line3d< T >::operator+=(), irr::core::line3d< T >::operator-(),
irr::core::line3d< T >::operator-=(), irr::core::line3d< T >::operator==(), and irr::core::line3d< T
>::setLine().
The documentation for this class was generated from the following file:

• line3d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.113 irr::core::list< T > Class Template Reference 629

7.113 irr::core::list< T > Class Template Reference


Doubly linked list template.
#include <irrList.h>

Public Member Functions


• ConstIterator begin () const
Gets first node.

• Iterator begin ()
Gets first node.

• void clear ()
Clears the list, deletes all elements in the list.

• bool empty () const


Checks for empty list.

• ConstIterator end () const


Gets end node.

• Iterator end ()
Gets end node.

• Iterator erase (Iterator &it)


Erases an element.

• ConstIterator getLast () const


Gets last element.

• Iterator getLast ()
Gets last element.

• u32 getSize () const


Returns amount of elements in list.

• void insert_after (const Iterator &it, const T &element)


Inserts an element after an element.

• void insert_before (const Iterator &it, const T &element)


Inserts an element before an element.

• list (const list< T > &other)


Copy constructor.

• list ()
Default constructor for empty list.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


630 Irrlicht Engine Class Documentation

• void operator= (const list< T > &other)


Assignment operator.

• void push_back (const T &element)


Adds an element at the end of the list.

• void push_front (const T &element)


Adds an element at the begin of the list.

• ∼list ()
Destructor.

Classes

• class ConstIterator
List iterator for const access.

• class Iterator
List iterator.

• struct SKListNode
List element node with pointer to previous and next element in the list.

7.113.1 Detailed Description

template<class T> class irr::core::list< T >

Doubly linked list template.


Definition at line 18 of file irrList.h.

7.113.2 Constructor & Destructor Documentation

7.113.2.1 template<class T> irr::core::list< T >::list () [inline]

Default constructor for empty list.


Definition at line 132 of file irrList.h.

7.113.2.2 template<class T> irr::core::list< T >::list (const list< T > & other) [inline]

Copy constructor.
Definition at line 137 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.113 irr::core::list< T > Class Template Reference 631

7.113.2.3 template<class T> irr::core::list< T >::∼list () [inline]

Destructor.
Definition at line 144 of file irrList.h.

7.113.3 Member Function Documentation

7.113.3.1 template<class T> ConstIterator irr::core::list< T >::begin () const [inline]

Gets first node.

Returns:
A const list iterator pointing to the beginning of the list.

Definition at line 256 of file irrList.h.

7.113.3.2 template<class T> Iterator irr::core::list< T >::begin () [inline]

Gets first node.

Returns:
A list iterator pointing to the beginning of the list.

Definition at line 248 of file irrList.h.


Referenced by irr::gui::IGUIElement::bringToFront(), irr::gui::IGUIElement::draw(),
irr::gui::IGUIElement::getElementFromId(), irr::gui::IGUIElement::getNextElement(), irr::scene::IScene-
Node::OnAnimate(), irr::gui::IGUIElement::OnPostRender(), irr::scene::ISceneNode::On-
RegisterSceneNode(), irr::scene::ISceneNode::removeAll(), irr::scene::ISceneNode::remove-
Animator(), irr::scene::ISceneNode::removeAnimators(), irr::scene::ISceneNode::remove-
Child(), irr::gui::IGUIElement::removeChild(), irr::gui::IGUIElement::updateAbsolutePosition(),
irr::gui::IGUIElement::∼IGUIElement(), and irr::scene::ISceneNode::∼ISceneNode().

7.113.3.3 template<class T> void irr::core::list< T >::clear () [inline]

Clears the list, deletes all elements in the list.


All existing iterators of this list will be invalid.
Definition at line 179 of file irrList.h.
Referenced by irr::core::list< ISceneNode ∗ >::operator=(), irr::scene::ISceneNode::removeAll(),
irr::scene::ISceneNode::removeAnimators(), and irr::core::list< ISceneNode ∗ >::∼list().

7.113.3.4 template<class T> bool irr::core::list< T >::empty () const [inline]

Checks for empty list.

Returns:
True if the list is empty and false if not.

Definition at line 196 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


632 Irrlicht Engine Class Documentation

7.113.3.5 template<class T> ConstIterator irr::core::list< T >::end () const [inline]

Gets end node.

Returns:
Const list iterator pointing to null.

Definition at line 272 of file irrList.h.

7.113.3.6 template<class T> Iterator irr::core::list< T >::end () [inline]

Gets end node.

Returns:
List iterator pointing to null.

Definition at line 264 of file irrList.h.


Referenced by irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::cloneMembers(),
irr::gui::IGUIElement::draw(), irr::gui::IGUIElement::getElementFromId(), irr::gui::IGUIElement::get-
ElementFromPoint(), irr::gui::IGUIElement::getNextElement(), irr::scene::ISceneNode::On-
Animate(), irr::gui::IGUIElement::OnPostRender(), irr::scene::ISceneNode::OnRegisterSceneNode(),
irr::scene::ISceneNode::removeAll(), irr::scene::ISceneNode::removeAnimator(), irr::scene::IScene-
Node::removeAnimators(), irr::scene::ISceneNode::removeChild(), irr::gui::IGUIElement::remove-
Child(), irr::gui::IGUIElement::updateAbsolutePosition(), irr::gui::IGUIElement::∼IGUIElement(), and
irr::scene::ISceneNode::∼ISceneNode().

7.113.3.7 template<class T> Iterator irr::core::list< T >::erase (Iterator & it) [inline]

Erases an element.

Parameters:
it Iterator pointing to the element which shall be erased.

Returns:
Iterator pointing to next element.

Definition at line 345 of file irrList.h.


Referenced by irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::removeAnimator(),
irr::scene::ISceneNode::removeChild(), and irr::gui::IGUIElement::removeChild().

7.113.3.8 template<class T> ConstIterator irr::core::list< T >::getLast () const [inline]

Gets last element.

Returns:
Const list iterator pointing to the last element of the list.

Definition at line 288 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.113 irr::core::list< T > Class Template Reference 633

7.113.3.9 template<class T> Iterator irr::core::list< T >::getLast () [inline]

Gets last element.

Returns:
List iterator pointing to the last element of the list.

Definition at line 280 of file irrList.h.


Referenced by irr::gui::IGUIElement::getElementFromPoint().

7.113.3.10 template<class T> u32 irr::core::list< T >::getSize () const [inline]

Returns amount of elements in list.

Returns:
Amount of elements in the list.

Definition at line 171 of file irrList.h.

7.113.3.11 template<class T> void irr::core::list< T >::insert_after (const Iterator & it, const T
& element) [inline]

Inserts an element after an element.

Parameters:
it Iterator pointing to element after which the new element should be inserted.
element The new element to be inserted into the list.

Definition at line 299 of file irrList.h.

7.113.3.12 template<class T> void irr::core::list< T >::insert_before (const Iterator & it, const T
& element) [inline]

Inserts an element before an element.

Parameters:
it Iterator pointing to element before which the new element should be inserted.
element The new element to be inserted into the list.

Definition at line 323 of file irrList.h.

7.113.3.13 template<class T> void irr::core::list< T >::operator= (const list< T > & other)
[inline]

Assignment operator.
Definition at line 151 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


634 Irrlicht Engine Class Documentation

7.113.3.14 template<class T> void irr::core::list< T >::push_back (const T & element)


[inline]

Adds an element at the end of the list.

Parameters:
element Element to add to the list.

Definition at line 204 of file irrList.h.


Referenced by irr::scene::ISceneNode::addAnimator(), irr::scene::ISceneNode::addChild(),
irr::gui::IGUIElement::addChild(), irr::gui::IGUIElement::bringToFront(), and irr::core::list< ISceneNode
∗ >::operator=().

7.113.3.15 template<class T> void irr::core::list< T >::push_front (const T & element)


[inline]

Adds an element at the begin of the list.

Parameters:
element: Element to add to the list.

Definition at line 225 of file irrList.h.


The documentation for this class was generated from the following file:

• irrList.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.114 irr::core::list< T >::ConstIterator Class Reference 635

7.114 irr::core::list< T >::ConstIterator Class Reference


List iterator for const access.
#include <irrList.h>

Public Member Functions


• ConstIterator ()
• const T & operator ∗ ()
• bool operator!= (const Iterator &other) const
• bool operator!= (const ConstIterator &other) const
• ConstIterator operator+ (s32 num) const
• ConstIterator operator++ (s32)
• ConstIterator & operator++ ()
• ConstIterator & operator+= (s32 num)
• ConstIterator operator- (s32 num) const
• ConstIterator operator– (s32)
• ConstIterator & operator– ()
• ConstIterator & operator-= (s32 num) const
• const T ∗ operator → ()
• ConstIterator & operator= (const Iterator &iterator)
• bool operator== (const Iterator &other) const
• bool operator== (const ConstIterator &other) const

Friends
• class Iterator
• class list<T>

7.114.1 Detailed Description

template<class T> class irr::core::list< T >::ConstIterator

List iterator for const access.


Definition at line 84 of file irrList.h.

7.114.2 Constructor & Destructor Documentation

7.114.2.1 template<class T> irr::core::list< T >::ConstIterator::ConstIterator () [inline]

Definition at line 88 of file irrList.h.

7.114.3 Member Function Documentation

7.114.3.1 template<class T> const T& irr::core::list< T >::ConstIterator::operator ∗ ()


[inline]

Definition at line 117 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


636 Irrlicht Engine Class Documentation

7.114.3.2 template<class T> bool irr::core::list< T >::ConstIterator::operator!= (const Iterator


& other) const [inline]

Definition at line 115 of file irrList.h.


References irr::core::list< T >::ConstIterator::Current.

7.114.3.3 template<class T> bool irr::core::list< T >::ConstIterator::operator!= (const


ConstIterator & other) const [inline]

Definition at line 113 of file irrList.h.


References irr::core::list< T >::ConstIterator::Current.

7.114.3.4 template<class T> ConstIterator irr::core::list< T >::ConstIterator::operator+ (s32


num) const [inline]

Definition at line 108 of file irrList.h.

7.114.3.5 template<class T> ConstIterator irr::core::list< T >::ConstIterator::operator++ (s32)


[inline]

Definition at line 92 of file irrList.h.

7.114.3.6 template<class T> ConstIterator& irr::core::list< T >::ConstIterator::operator++ ()


[inline]

Definition at line 90 of file irrList.h.

7.114.3.7 template<class T> ConstIterator& irr::core::list< T >::ConstIterator::operator+=


(s32 num) [inline]

Definition at line 95 of file irrList.h.

7.114.3.8 template<class T> ConstIterator irr::core::list< T >::ConstIterator::operator- (s32


num) const [inline]

Definition at line 110 of file irrList.h.

7.114.3.9 template<class T> ConstIterator irr::core::list< T >::ConstIterator::operator– (s32)


[inline]

Definition at line 93 of file irrList.h.

7.114.3.10 template<class T> ConstIterator& irr::core::list< T >::ConstIterator::operator– ()


[inline]

Definition at line 91 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.114 irr::core::list< T >::ConstIterator Class Reference 637

7.114.3.11 template<class T> ConstIterator& irr::core::list< T >::ConstIterator::operator-=


(s32 num) const [inline]

Definition at line 109 of file irrList.h.

7.114.3.12 template<class T> const T∗ irr::core::list< T >::ConstIterator::operator → ()


[inline]

Definition at line 118 of file irrList.h.

7.114.3.13 template<class T> ConstIterator& irr::core::list< T >::ConstIterator::operator=


(const Iterator & iterator) [inline]

Definition at line 120 of file irrList.h.


References irr::core::list< T >::ConstIterator::Current.

7.114.3.14 template<class T> bool irr::core::list< T >::ConstIterator::operator== (const


Iterator & other) const [inline]

Definition at line 114 of file irrList.h.


References irr::core::list< T >::ConstIterator::Current.

7.114.3.15 template<class T> bool irr::core::list< T >::ConstIterator::operator== (const


ConstIterator & other) const [inline]

Definition at line 112 of file irrList.h.


References irr::core::list< T >::ConstIterator::Current.

7.114.4 Friends And Related Function Documentation

7.114.4.1 template<class T> friend class Iterator [friend]

Definition at line 127 of file irrList.h.

7.114.4.2 template<class T> friend class list<T> [friend]

Definition at line 128 of file irrList.h.


The documentation for this class was generated from the following file:

• irrList.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


638 Irrlicht Engine Class Documentation

7.115 irr::core::list< T >::Iterator Class Reference


List iterator.
#include <irrList.h>

Public Member Functions


• Iterator ()
• T & operator ∗ ()
• bool operator!= (const ConstIterator &other) const
• bool operator!= (const Iterator &other) const
• Iterator operator+ (s32 num) const
• Iterator operator++ (s32)
• Iterator & operator++ ()
• Iterator & operator+= (s32 num)
• Iterator operator- (s32 num) const
• Iterator operator– (s32)
• Iterator & operator– ()
• Iterator & operator-= (s32 num) const
• T ∗ operator → ()
• bool operator== (const ConstIterator &other) const
• bool operator== (const Iterator &other) const

Friends
• class list<T>

7.115.1 Detailed Description

template<class T> class irr::core::list< T >::Iterator

List iterator.
Definition at line 36 of file irrList.h.

7.115.2 Constructor & Destructor Documentation

7.115.2.1 template<class T> irr::core::list< T >::Iterator::Iterator () [inline]

Definition at line 39 of file irrList.h.

7.115.3 Member Function Documentation

7.115.3.1 template<class T> T& irr::core::list< T >::Iterator::operator ∗ () [inline]

Definition at line 72 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.115 irr::core::list< T >::Iterator Class Reference 639

7.115.3.2 template<class T> bool irr::core::list< T >::Iterator::operator!= (const ConstIterator


& other) const [inline]

Definition at line 66 of file irrList.h.


References irr::core::list< T >::Iterator::Current.

7.115.3.3 template<class T> bool irr::core::list< T >::Iterator::operator!= (const Iterator &


other) const [inline]

Definition at line 64 of file irrList.h.


References irr::core::list< T >::Iterator::Current.

7.115.3.4 template<class T> Iterator irr::core::list< T >::Iterator::operator+ (s32 num) const


[inline]

Definition at line 59 of file irrList.h.

7.115.3.5 template<class T> Iterator irr::core::list< T >::Iterator::operator++ (s32)


[inline]

Definition at line 43 of file irrList.h.

7.115.3.6 template<class T> Iterator& irr::core::list< T >::Iterator::operator++ () [inline]

Definition at line 41 of file irrList.h.

7.115.3.7 template<class T> Iterator& irr::core::list< T >::Iterator::operator+= (s32 num)


[inline]

Definition at line 46 of file irrList.h.

7.115.3.8 template<class T> Iterator irr::core::list< T >::Iterator::operator- (s32 num) const


[inline]

Definition at line 61 of file irrList.h.

7.115.3.9 template<class T> Iterator irr::core::list< T >::Iterator::operator– (s32) [inline]

Definition at line 44 of file irrList.h.

7.115.3.10 template<class T> Iterator& irr::core::list< T >::Iterator::operator– () [inline]

Definition at line 42 of file irrList.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


640 Irrlicht Engine Class Documentation

7.115.3.11 template<class T> Iterator& irr::core::list< T >::Iterator::operator-= (s32 num)


const [inline]

Definition at line 60 of file irrList.h.

7.115.3.12 template<class T> T∗ irr::core::list< T >::Iterator::operator → () [inline]

Definition at line 73 of file irrList.h.

7.115.3.13 template<class T> bool irr::core::list< T >::Iterator::operator== (const ConstIterator


& other) const [inline]

Definition at line 65 of file irrList.h.


References irr::core::list< T >::Iterator::Current.

7.115.3.14 template<class T> bool irr::core::list< T >::Iterator::operator== (const Iterator &


other) const [inline]

Definition at line 63 of file irrList.h.


References irr::core::list< T >::Iterator::Current.

7.115.4 Friends And Related Function Documentation

7.115.4.1 template<class T> friend class list<T> [friend]

Definition at line 80 of file irrList.h.


The documentation for this class was generated from the following file:

• irrList.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.116 irr::core::map< KeyType, ValueType > Class Template Reference 641

7.116 irr::core::map< KeyType, ValueType > Class Template Ref-


erence
map template for associative arrays using a red-black tree
#include <irrMap.h>

Public Types

• typedef RBTree< KeyType, ValueType > Node

Public Member Functions

• void clear ()
Clear the entire tree.

• Node ∗ delink (const KeyType &k)


• Node ∗ find (const KeyType &keyToFind) const
• Iterator getIterator ()
Returns an iterator.

• ParentFirstIterator getParentFirstIterator ()
• ParentLastIterator getParentLastIterator ()
• Node ∗ getRoot () const
• bool insert (const KeyType &keyNew, const ValueType &v)
• bool isEmpty () const
• map ()
• AccessClass operator[ ] (const KeyType &k)
• bool remove (const KeyType &k)
• void set (const KeyType &k, const ValueType &v)
• u32 size () const
Returns the number of nodes in the tree.

• ∼map ()

Classes

• class AccessClass
• class Iterator
Normal Iterator.

• class ParentFirstIterator
• class ParentLastIterator
• class RBTree
red/black tree for map

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


642 Irrlicht Engine Class Documentation

7.116.1 Detailed Description

template<class KeyType, class ValueType> class irr::core::map< KeyType, ValueType >

map template for associative arrays using a red-black tree


Definition at line 17 of file irrMap.h.

7.116.2 Member Typedef Documentation

7.116.2.1 template<class KeyType, class ValueType> typedef RBTree<KeyType,ValueType>


irr::core::map< KeyType, ValueType >::Node

Definition at line 129 of file irrMap.h.

7.116.3 Constructor & Destructor Documentation

7.116.3.1 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::map () [inline]

Definition at line 529 of file irrMap.h.

7.116.3.2 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::∼map () [inline]

Definition at line 532 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::clear().

7.116.4 Member Function Documentation

7.116.4.1 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::clear () [inline]

Clear the entire tree.


Definition at line 723 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::ParentLastIterator::atEnd(), irr::core::map< KeyType,
ValueType >::ParentLastIterator::getNode(), and irr::core::map< KeyType, ValueType >::getParentLast-
Iterator().
Referenced by irr::core::map< KeyType, ValueType >::∼map().

7.116.4.2 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::delink (const KeyType & k) [inline]

Removes a node from the tree and returns it. The returned node must be deleted by the user

Parameters:
k: the key to remove

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.116 irr::core::map< KeyType, ValueType > Class Template Reference 643

Returns:
: A pointer to the node, or 0 if not found

Definition at line 642 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::find().

7.116.4.3 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::find (const KeyType & keyToFind) const [inline]

Search for a node with the specified key.

Parameters:
keyToFind: The key to find

Returns:
Returns 0 if node couldn’t be found.

Definition at line 749 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::delink(), irr::core::map< KeyType, Value-
Type >::AccessClass::operator ValueType(), irr::core::map< KeyType, ValueType >::remove(), and
irr::core::map< KeyType, ValueType >::set().

7.116.4.4 template<class KeyType, class ValueType> Iterator irr::core::map< KeyType,


ValueType >::getIterator () [inline]

Returns an iterator.
Definition at line 788 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().

7.116.4.5 template<class KeyType, class ValueType> ParentFirstIterator irr::core::map<


KeyType, ValueType >::getParentFirstIterator () [inline]

Returns a ParentFirstIterator. Traverses the tree from top to bottom. Typical usage is when storing the tree
structure, because when reading it later (and inserting elements) the tree structure will be the same.
Definition at line 798 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().

7.116.4.6 template<class KeyType, class ValueType> ParentLastIterator irr::core::map<


KeyType, ValueType >::getParentLastIterator () [inline]

Returns a ParentLastIterator to traverse the tree from bottom to top. Typical usage is when deleting all
elements in the tree because you must delete the children before you delete their parent.
Definition at line 808 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().
Referenced by irr::core::map< KeyType, ValueType >::clear().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


644 Irrlicht Engine Class Documentation

7.116.4.7 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::getRoot () const [inline]

Gets the root element.

Returns:
Returns a pointer to the root node, or 0 if the tree is empty.

Definition at line 771 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::getIterator(), irr::core::map< KeyType, ValueType
>::getParentFirstIterator(), and irr::core::map< KeyType, ValueType >::getParentLastIterator().

7.116.4.8 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::insert (const KeyType & keyNew, const ValueType & v) [inline]

Inserts a new node into the tree

Parameters:
keyNew: the index for this value
v: the value to insert

Returns:
Returns true if successful, false if it fails (already exists)

Definition at line 546 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.
Referenced by irr::core::map< KeyType, ValueType >::set().

7.116.4.9 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::isEmpty () const [inline]

Is the tree empty?

Returns:
Returns true if empty, false if not

Definition at line 740 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.

7.116.4.10 ]

template<class KeyType, class ValueType> AccessClass irr::core::map< KeyType, ValueType


>::operator[ ] (const KeyType & k) [inline]
operator [] for access to elements for example myMap["key"]
Definition at line 820 of file irrMap.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.116 irr::core::map< KeyType, ValueType > Class Template Reference 645

7.116.4.11 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::remove (const KeyType & k) [inline]

Removes a node from the tree and deletes it.

Returns:
True if the node was found and deleted

Definition at line 681 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and irr::core::map< Key-
Type, ValueType >::find().

7.116.4.12 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::set (const KeyType & k, const ValueType & v) [inline]

Replaces the value if the key already exists, otherwise inserts a new element.

Parameters:
k: the index for this value
v: the new value of

Definition at line 629 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::find(), and irr::core::map< KeyType, ValueType
>::insert().
Referenced by irr::core::map< KeyType, ValueType >::AccessClass::operator=().

7.116.4.13 template<class KeyType, class ValueType> u32 irr::core::map< KeyType, ValueType


>::size () const [inline]

Returns the number of nodes in the tree.


Definition at line 777 of file irrMap.h.
The documentation for this class was generated from the following file:

• irrMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


646 Irrlicht Engine Class Documentation

7.117 irr::core::map< KeyType, ValueType >::AccessClass Class


Reference
#include <irrMap.h>

Public Member Functions


• operator ValueType ()
• void operator= (const ValueType &value)

Friends
• class map<KeyType, ValueType>

template<class KeyType, class ValueType> class irr::core::map< KeyType, ValueType >::Access-


Class

7.117.1 Member Function Documentation

7.117.1.1 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::AccessClass::operator ValueType () [inline]

Definition at line 505 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and irr::core::map< Key-
Type, ValueType >::find().

7.117.1.2 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::AccessClass::operator= (const ValueType & value) [inline]

Definition at line 498 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::set().

7.117.2 Friends And Related Function Documentation

7.117.2.1 template<class KeyType, class ValueType> friend class map<KeyType, ValueType>


[friend]

Definition at line 493 of file irrMap.h.


The documentation for this class was generated from the following file:

• irrMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.118 irr::core::map< KeyType, ValueType >::Iterator Class Reference 647

7.118 irr::core::map< KeyType, ValueType >::Iterator Class Ref-


erence
Normal Iterator.
#include <irrMap.h>

Public Member Functions

• bool atEnd () const


• Node ∗ getNode ()
• Iterator (const Iterator &src)
• Iterator (Node ∗root)
• Iterator ()
• Node & operator ∗ ()
• void operator++ (int)
• void operator– (int)
• Node ∗ operator → ()
• Iterator & operator= (const Iterator &src)
• void reset (bool atLowest=true)

7.118.1 Detailed Description

template<class KeyType, class ValueType> class irr::core::map< KeyType, ValueType >::Iterator

Normal Iterator.
Definition at line 132 of file irrMap.h.

7.118.2 Constructor & Destructor Documentation

7.118.2.1 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::Iterator::Iterator () [inline]

Definition at line 136 of file irrMap.h.

7.118.2.2 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::Iterator::Iterator (Node ∗ root) [inline]

Definition at line 139 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::Iterator::reset().

7.118.2.3 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::Iterator::Iterator (const Iterator & src) [inline]

Definition at line 145 of file irrMap.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


648 Irrlicht Engine Class Documentation

7.118.3 Member Function Documentation

7.118.3.1 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::Iterator::atEnd () const [inline]

Definition at line 155 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.
Referenced by irr::core::map< KeyType, ValueType >::Iterator::operator ∗().

7.118.3.2 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::Iterator::getNode () [inline]

Definition at line 161 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::Iterator::operator → ().

7.118.3.3 template<class KeyType, class ValueType> Node& irr::core::map< KeyType,


ValueType >::Iterator::operator ∗ () [inline]

Definition at line 189 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::Iterator::atEnd().

7.118.3.4 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::Iterator::operator++ (int) [inline]

Definition at line 173 of file irrMap.h.

7.118.3.5 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::Iterator::operator– (int) [inline]

Definition at line 178 of file irrMap.h.

7.118.3.6 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::Iterator::operator → () [inline]

Definition at line 184 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::Iterator::getNode().

7.118.3.7 template<class KeyType, class ValueType> Iterator& irr::core::map< KeyType,


ValueType >::Iterator::operator= (const Iterator & src) [inline]

Definition at line 166 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::Iterator::Cur, and irr::core::map< KeyType, Value-
Type >::Iterator::Root.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.118 irr::core::map< KeyType, ValueType >::Iterator Class Reference 649

7.118.3.8 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::Iterator::reset (bool atLowest = true) [inline]

Definition at line 147 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::Iterator::Iterator().
The documentation for this class was generated from the following file:

• irrMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


650 Irrlicht Engine Class Documentation

7.119 irr::core::map< KeyType, ValueType >::ParentFirstIterator


Class Reference
#include <irrMap.h>

Public Member Functions


• bool atEnd () const
• Node ∗ getNode ()
• Node & operator ∗ ()
• void operator++ (int)
• Node ∗ operator → ()
• ParentFirstIterator & operator= (const ParentFirstIterator &src)
• ParentFirstIterator (Node ∗root)
• ParentFirstIterator ()
• void reset ()

7.119.1 Detailed Description

template<class KeyType, class ValueType> class irr::core::map< KeyType, ValueType >::Parent-


FirstIterator

Parent First Iterator. Traverses the tree from top to bottom. Typical usage is when storing the tree structure,
because when reading it later (and inserting elements) the tree structure will be the same.
Definition at line 287 of file irrMap.h.

7.119.2 Constructor & Destructor Documentation

7.119.2.1 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::ParentFirstIterator::ParentFirstIterator () [inline]

Definition at line 292 of file irrMap.h.

7.119.2.2 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::ParentFirstIterator::ParentFirstIterator (Node ∗ root) [inline, explicit]

Definition at line 297 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentFirstIterator::reset().

7.119.3 Member Function Documentation

7.119.3.1 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::ParentFirstIterator::atEnd () const [inline]

Definition at line 308 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.
Referenced by irr::core::map< KeyType, ValueType >::ParentFirstIterator::operator ∗().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.119 irr::core::map< KeyType, ValueType >::ParentFirstIterator Class Reference 651

7.119.3.2 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::ParentFirstIterator::getNode () [inline]

Definition at line 314 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::ParentFirstIterator::operator ∗(), and
irr::core::map< KeyType, ValueType >::ParentFirstIterator::operator → ().

7.119.3.3 template<class KeyType, class ValueType> Node& irr::core::map< KeyType,


ValueType >::ParentFirstIterator::operator ∗ () [inline]

Definition at line 339 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentFirstIterator::atEnd(), and irr::core::map< Key-
Type, ValueType >::ParentFirstIterator::getNode().

7.119.3.4 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::ParentFirstIterator::operator++ (int) [inline]

Definition at line 328 of file irrMap.h.

7.119.3.5 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::ParentFirstIterator::operator → () [inline]

Definition at line 334 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentFirstIterator::getNode().

7.119.3.6 template<class KeyType, class ValueType> ParentFirstIterator& irr::core::map<


KeyType, ValueType >::ParentFirstIterator::operator= (const ParentFirstIterator &
src) [inline]

Definition at line 320 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentFirstIterator::Cur, and irr::core::map< Key-
Type, ValueType >::ParentFirstIterator::Root.

7.119.3.7 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::ParentFirstIterator::reset () [inline]

Definition at line 302 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::ParentFirstIterator::ParentFirstIterator().
The documentation for this class was generated from the following file:

• irrMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


652 Irrlicht Engine Class Documentation

7.120 irr::core::map< KeyType, ValueType >::ParentLastIterator


Class Reference
#include <irrMap.h>

Public Member Functions


• bool atEnd () const
• Node ∗ getNode ()
• Node & operator ∗ ()
• void operator++ (int)
• Node ∗ operator → ()
• ParentLastIterator & operator= (const ParentLastIterator &src)
• ParentLastIterator (Node ∗root)
• ParentLastIterator ()
• void reset ()

7.120.1 Detailed Description

template<class KeyType, class ValueType> class irr::core::map< KeyType, ValueType >::Parent-


LastIterator

Parent Last Iterator Traverse the tree from bottom to top. Typical usage is when deleting all elements in
the tree because you must delete the children before you delete their parent.
Definition at line 395 of file irrMap.h.

7.120.2 Constructor & Destructor Documentation

7.120.2.1 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::ParentLastIterator::ParentLastIterator () [inline]

Definition at line 399 of file irrMap.h.

7.120.2.2 template<class KeyType, class ValueType> irr::core::map< KeyType, ValueType


>::ParentLastIterator::ParentLastIterator (Node ∗ root) [inline, explicit]

Definition at line 401 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentLastIterator::reset().

7.120.3 Member Function Documentation

7.120.3.1 template<class KeyType, class ValueType> bool irr::core::map< KeyType, ValueType


>::ParentLastIterator::atEnd () const [inline]

Definition at line 411 of file irrMap.h.


References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.120 irr::core::map< KeyType, ValueType >::ParentLastIterator Class Reference 653

Referenced by irr::core::map< KeyType, ValueType >::clear(), and irr::core::map< KeyType, ValueType


>::ParentLastIterator::operator ∗().

7.120.3.2 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::ParentLastIterator::getNode () [inline]

Definition at line 417 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::clear(), irr::core::map< KeyType, Value-
Type >::ParentLastIterator::operator ∗(), and irr::core::map< KeyType, ValueType >::ParentLast-
Iterator::operator → ().

7.120.3.3 template<class KeyType, class ValueType> Node& irr::core::map< KeyType,


ValueType >::ParentLastIterator::operator ∗ () [inline]

Definition at line 439 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentLastIterator::atEnd(), and irr::core::map< Key-
Type, ValueType >::ParentLastIterator::getNode().

7.120.3.4 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::ParentLastIterator::operator++ (int) [inline]

Definition at line 429 of file irrMap.h.

7.120.3.5 template<class KeyType, class ValueType> Node∗ irr::core::map< KeyType, ValueType


>::ParentLastIterator::operator → () [inline]

Definition at line 434 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentLastIterator::getNode().

7.120.3.6 template<class KeyType, class ValueType> ParentLastIterator& irr::core::map<


KeyType, ValueType >::ParentLastIterator::operator= (const ParentLastIterator & src)
[inline]

Definition at line 422 of file irrMap.h.


References irr::core::map< KeyType, ValueType >::ParentLastIterator::Cur, and irr::core::map< Key-
Type, ValueType >::ParentLastIterator::Root.

7.120.3.7 template<class KeyType, class ValueType> void irr::core::map< KeyType, ValueType


>::ParentLastIterator::reset () [inline]

Definition at line 406 of file irrMap.h.


Referenced by irr::core::map< KeyType, ValueType >::ParentLastIterator::ParentLastIterator().
The documentation for this class was generated from the following file:

• irrMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


654 Irrlicht Engine Class Documentation

7.121 irr::core::plane3d< T > Class Template Reference


Template plane class with some intersection testing methods.
#include <plane3d.h>

Public Member Functions


• EIntersectionRelation3D classifyPointRelation (const vector3d< T > &point) const
Classifies the relation of a point to this plane.

• bool existsIntersection (const plane3d< T > &other) const


Tests if there is an intersection with the other plane.

• T getDistanceTo (const vector3d< T > &point) const


Returns the distance to a point.

• bool getIntersectionWithLimitedLine (const vector3d< T > &linePoint1, const vector3d< T >


&linePoint2, vector3d< T > &outIntersection) const
Returns an intersection with a 3d line, limited between two 3d points.

• bool getIntersectionWithLine (const vector3d< T > &linePoint, const vector3d< T > &lineVect,
vector3d< T > &outIntersection) const
Returns an intersection with a 3d line.

• bool getIntersectionWithPlane (const plane3d< T > &other, vector3d< T > &outLinePoint, vec-
tor3d< T > &outLineVect) const
Intersects this plane with another.

• bool getIntersectionWithPlanes (const plane3d< T > &o1, const plane3d< T > &o2, vector3d< T
> &outPoint) const
Returns the intersection point with two other planes if there is one.

• f32 getKnownIntersectionWithLine (const vector3d< T > &linePoint1, const vector3d< T > &line-
Point2) const
Returns where on a line between two points an intersection with this plane happened.

• vector3d< T > getMemberPoint () const


Gets a member point of the plane.

• bool isFrontFacing (const vector3d< T > &lookDirection) const


Test if the triangle would be front or backfacing from any point.

• bool operator!= (const plane3d< T > &other) const


• bool operator== (const plane3d< T > &other) const
• plane3d (const vector3d< T > &point1, const vector3d< T > &point2, const vector3d< T >
&point3)
• plane3d (T px, T py, T pz, T nx, T ny, T nz)
• plane3d (const vector3d< T > &MPoint, const vector3d< T > &Normal)
• plane3d ()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.121 irr::core::plane3d< T > Class Template Reference 655

• void recalculateD (const vector3d< T > &MPoint)


Recalculates the distance from origin by applying a new member point to the plane.

• void setPlane (const vector3d< T > &point1, const vector3d< T > &point2, const vector3d< T >
&point3)
• void setPlane (const vector3d< T > &nvect, T d)
• void setPlane (const vector3d< T > &point, const vector3d< T > &nvector)

Public Attributes

• TD
Distance from origin.

• vector3d< T > Normal


Normal vector of the plane.

7.121.1 Detailed Description

template<class T> class irr::core::plane3d< T >

Template plane class with some intersection testing methods.


Definition at line 28 of file plane3d.h.

7.121.2 Constructor & Destructor Documentation

7.121.2.1 template<class T> irr::core::plane3d< T >::plane3d () [inline]

Definition at line 34 of file plane3d.h.

7.121.2.2 template<class T> irr::core::plane3d< T >::plane3d (const vector3d< T > & MPoint,
const vector3d< T > & Normal) [inline]

Definition at line 35 of file plane3d.h.

7.121.2.3 template<class T> irr::core::plane3d< T >::plane3d (T px, T py, T pz, T nx, T ny, T nz)
[inline]

Definition at line 36 of file plane3d.h.

7.121.2.4 template<class T> irr::core::plane3d< T >::plane3d (const vector3d< T > & point1,
const vector3d< T > & point2, const vector3d< T > & point3) [inline]

Definition at line 37 of file plane3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


656 Irrlicht Engine Class Documentation

7.121.3 Member Function Documentation

7.121.3.1 template<class T> EIntersectionRelation3D irr::core::plane3d< T


>::classifyPointRelation (const vector3d< T > & point) const [inline]

Classifies the relation of a point to this plane.

Parameters:
point Point to classify its relation.

Returns:
ISREL3D_FRONT if the point is in front of the plane, ISREL3D_BACK if the point is behind of the
plane, and ISREL3D_PLANAR if the point is within the plane.

Definition at line 124 of file plane3d.h.

7.121.3.2 template<class T> bool irr::core::plane3d< T >::existsIntersection (const plane3d< T


> & other) const [inline]

Tests if there is an intersection with the other plane.

Returns:
True if there is a intersection.

Definition at line 151 of file plane3d.h.

7.121.3.3 template<class T> T irr::core::plane3d< T >::getDistanceTo (const vector3d< T > &


point) const [inline]

Returns the distance to a point.


Note that this only works if the normal is normalized.
Definition at line 211 of file plane3d.h.

7.121.3.4 template<class T> bool irr::core::plane3d< T >::getIntersectionWithLimitedLine


(const vector3d< T > & linePoint1, const vector3d< T > & linePoint2, vector3d< T > &
outIntersection) const [inline]

Returns an intersection with a 3d line, limited between two 3d points.

Parameters:
linePoint1 Point 1 of the line.
linePoint2 Point 2 of the line.
outIntersection Place to store the intersection point, if there is one.

Returns:
True if there was an intersection, false if there was not.

Definition at line 110 of file plane3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.121 irr::core::plane3d< T > Class Template Reference 657

7.121.3.5 template<class T> bool irr::core::plane3d< T >::getIntersectionWithLine (const


vector3d< T > & linePoint, const vector3d< T > & lineVect, vector3d< T > &
outIntersection) const [inline]

Returns an intersection with a 3d line.

Parameters:
lineVect Vector of the line to intersect with.
linePoint Point of the line to intersect with.
outIntersection Place to store the intersection point, if there is one.

Returns:
True if there was an intersection, false if there was not.

Definition at line 75 of file plane3d.h.


Referenced by irr::core::plane3d< f32 >::getIntersectionWithLimitedLine().

7.121.3.6 template<class T> bool irr::core::plane3d< T >::getIntersectionWithPlane (const


plane3d< T > & other, vector3d< T > & outLinePoint, vector3d< T > & outLineVect)
const [inline]

Intersects this plane with another.

Parameters:
other Other plane to intersect with.
outLinePoint Base point of intersection line.
outLineVect Vector of intersection.

Returns:
True if there is a intersection, false if not.

Definition at line 162 of file plane3d.h.


Referenced by irr::core::plane3d< f32 >::getIntersectionWithPlanes().

7.121.3.7 template<class T> bool irr::core::plane3d< T >::getIntersectionWithPlanes (const


plane3d< T > & o1, const plane3d< T > & o2, vector3d< T > & outPoint) const
[inline]

Returns the intersection point with two other planes if there is one.
Definition at line 184 of file plane3d.h.
Referenced by irr::scene::SViewFrustum::getFarLeftDown(), irr::scene::SViewFrustum::getFarLeftUp(),
irr::scene::SViewFrustum::getFarRightDown(), and irr::scene::SViewFrustum::getFarRightUp().

7.121.3.8 template<class T> f32 irr::core::plane3d< T >::getKnownIntersectionWithLine (const


vector3d< T > & linePoint1, const vector3d< T > & linePoint2) const [inline]

Returns where on a line between two points an intersection with this plane happened.
Only useful if known that there is an intersection.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


658 Irrlicht Engine Class Documentation

Parameters:
linePoint1 Point1 of the line to intersect with.
linePoint2 Point2 of the line to intersect with.

Returns:
Where on a line between two points an intersection with this plane happened. For example, 0.5 is
returned if the intersection happened exactly in the middle of the two points.

Definition at line 96 of file plane3d.h.

7.121.3.9 template<class T> vector3d<T> irr::core::plane3d< T >::getMemberPoint () const


[inline]

Gets a member point of the plane.


Definition at line 144 of file plane3d.h.

7.121.3.10 template<class T> bool irr::core::plane3d< T >::isFrontFacing (const vector3d< T >


& lookDirection) const [inline]

Test if the triangle would be front or backfacing from any point.


Thus, this method assumes a camera position from which the triangle is definitely visible when looking
into the given direction. Note that this only works if the normal is Normalized. Do not use this method
with points as it will give wrong results!

Parameters:
lookDirection: Look direction.

Returns:
Returns true if the plane is front facing and false if it is backfacing.

Definition at line 203 of file plane3d.h.

7.121.3.11 template<class T> bool irr::core::plane3d< T >::operator!= (const plane3d< T > &
other) const [inline]

Definition at line 43 of file plane3d.h.

7.121.3.12 template<class T> bool irr::core::plane3d< T >::operator== (const plane3d< T > &
other) const [inline]

Definition at line 42 of file plane3d.h.

7.121.3.13 template<class T> void irr::core::plane3d< T >::recalculateD (const vector3d< T >


& MPoint) [inline]

Recalculates the distance from origin by applying a new member point to the plane.
Definition at line 138 of file plane3d.h.
Referenced by irr::core::plane3d< f32 >::plane3d(), and irr::core::plane3d< f32 >::setPlane().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.121 irr::core::plane3d< T > Class Template Reference 659

7.121.3.14 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
point1, const vector3d< T > & point2, const vector3d< T > & point3) [inline]

Definition at line 59 of file plane3d.h.

7.121.3.15 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
nvect, T d) [inline]

Definition at line 53 of file plane3d.h.

7.121.3.16 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
point, const vector3d< T > & nvector) [inline]

Definition at line 47 of file plane3d.h.


Referenced by irr::core::plane3d< f32 >::plane3d().

7.121.4 Member Data Documentation

7.121.4.1 template<class T> T irr::core::plane3d< T >::D

Distance from origin.


Definition at line 219 of file plane3d.h.
Referenced by irr::core::CMatrix4< T >::buildShadowMatrix(), and irr::scene::SViewFrustum::set-
From().

7.121.4.2 template<class T> vector3d<T> irr::core::plane3d< T >::Normal

Normal vector of the plane.


Definition at line 217 of file plane3d.h.
Referenced by irr::core::CMatrix4< T >::buildShadowMatrix(), and irr::scene::SViewFrustum::setFrom().
The documentation for this class was generated from the following file:

• plane3d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


660 Irrlicht Engine Class Documentation

7.122 irr::core::position2d< T > Class Template Reference

Simple class for holding 2d coordinates.


#include <position2d.h>

Public Member Functions

• position2d< T > operator ∗ (const T &scalar) const


• position2d< T > operator ∗ (const position2d< T > &other) const
• bool operator!= (const position2d< T > &other) const
• position2d< T > operator+ (const dimension2d< T > &other) const
• position2d< T > operator+ (const position2d< T > &other) const
• const position2d< T > & operator+= (const dimension2d< T > &other)
• const position2d< T > & operator+= (const position2d< T > &other)
• position2d< T > operator- (const dimension2d< T > &other) const
• position2d< T > operator- (const position2d< T > &other) const
• const position2d< T > & operator-= (const dimension2d< T > &other)
• const position2d< T > & operator-= (const position2d< T > &other)
• const position2d< T > & operator= (const position2d< T > &other)
• bool operator== (const position2d< T > &other) const
• position2d (const position2d< T > &other)
• position2d (T x, T y)
• position2d ()
Default constructor for (0,0).

Public Attributes

• TX
X coordinate of the position.

• TY
Y coordinate of the position.

7.122.1 Detailed Description

template<class T> class irr::core::position2d< T >

Simple class for holding 2d coordinates.


Not supposed for doing geometric calculations. use vector2d instead for things like that.
Definition at line 21 of file position2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.122 irr::core::position2d< T > Class Template Reference 661

7.122.2 Constructor & Destructor Documentation

7.122.2.1 template<class T> irr::core::position2d< T >::position2d () [inline]

Default constructor for (0,0).


Definition at line 25 of file position2d.h.

7.122.2.2 template<class T> irr::core::position2d< T >::position2d (T x, T y) [inline]

Definition at line 26 of file position2d.h.

7.122.2.3 template<class T> irr::core::position2d< T >::position2d (const position2d< T > &


other) [inline]

Definition at line 27 of file position2d.h.

7.122.3 Member Function Documentation

7.122.3.1 template<class T> position2d<T> irr::core::position2d< T >::operator ∗ (const T &


scalar) const [inline]

Definition at line 83 of file position2d.h.

7.122.3.2 template<class T> position2d<T> irr::core::position2d< T >::operator ∗ (const


position2d< T > & other) const [inline]

Definition at line 78 of file position2d.h.

7.122.3.3 template<class T> bool irr::core::position2d< T >::operator!= (const position2d< T >


& other) const [inline]

Definition at line 35 of file position2d.h.

7.122.3.4 template<class T> position2d<T> irr::core::position2d< T >::operator+ (const


dimension2d< T > & other) const [inline]

Definition at line 88 of file position2d.h.

7.122.3.5 template<class T> position2d<T> irr::core::position2d< T >::operator+ (const


position2d< T > & other) const [inline]

Definition at line 73 of file position2d.h.

7.122.3.6 template<class T> const position2d<T>& irr::core::position2d< T >::operator+=


(const dimension2d< T > & other) [inline]

Definition at line 54 of file position2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


662 Irrlicht Engine Class Documentation

7.122.3.7 template<class T> const position2d<T>& irr::core::position2d< T >::operator+=


(const position2d< T > & other) [inline]

Definition at line 40 of file position2d.h.

7.122.3.8 template<class T> position2d<T> irr::core::position2d< T >::operator- (const


dimension2d< T > & other) const [inline]

Definition at line 93 of file position2d.h.

7.122.3.9 template<class T> position2d<T> irr::core::position2d< T >::operator- (const


position2d< T > & other) const [inline]

Definition at line 68 of file position2d.h.

7.122.3.10 template<class T> const position2d<T>& irr::core::position2d< T >::operator-=


(const dimension2d< T > & other) [inline]

Definition at line 61 of file position2d.h.

7.122.3.11 template<class T> const position2d<T>& irr::core::position2d< T >::operator-=


(const position2d< T > & other) [inline]

Definition at line 47 of file position2d.h.

7.122.3.12 template<class T> const position2d<T>& irr::core::position2d< T >::operator=


(const position2d< T > & other) [inline]

Definition at line 98 of file position2d.h.

7.122.3.13 template<class T> bool irr::core::position2d< T >::operator== (const position2d< T


> & other) const [inline]

Definition at line 30 of file position2d.h.

7.122.4 Member Data Documentation

7.122.4.1 template<class T> T irr::core::position2d< T >::X

X coordinate of the position.


Definition at line 106 of file position2d.h.
Referenced by irr::gui::IGUIElement::deserializeAttributes().

7.122.4.2 template<class T> T irr::core::position2d< T >::Y

Y coordinate of the position.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.122 irr::core::position2d< T > Class Template Reference 663

Definition at line 108 of file position2d.h.


Referenced by irr::gui::IGUIElement::deserializeAttributes().
The documentation for this class was generated from the following file:

• position2d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


664 Irrlicht Engine Class Documentation

7.123 irr::core::quaternion Class Reference


Quaternion class for representing rotations.
#include <quaternion.h>

Public Member Functions


• void fromAngleAxis (f32 angle, const vector3df &axis)
Create quaternion from rotation angle and rotation axis.

• f32 getDotProduct (const quaternion &other) const


Calculates the dot product.

• void getMatrix (matrix4 &dest) const


Creates a matrix from this quaternion.

• matrix4 getMatrix () const


Creates a matrix from this quaternion.

• void getMatrix_transposed (matrix4 &dest) const


Creates a matrix from this quaternion.

• void makeIdentity ()
Set quaternion to identity.

• void makeInverse ()
Inverts this quaternion.

• quaternion & normalize ()


Normalizes the quaternion.

• vector3df operator ∗ (const vector3df &v) const


Multiplication operator.

• quaternion operator ∗ (f32 s) const


Multiplication operator.

• quaternion operator ∗ (const quaternion &other) const


Multiplication operator.

• quaternion & operator ∗= (const quaternion &other)


Multiplication operator.

• quaternion & operator ∗= (f32 s)


Multiplication operator.

• quaternion operator+ (const quaternion &other) const


Add operator.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.123 irr::core::quaternion Class Reference 665

• quaternion & operator= (const matrix4 &other)


Matrix assignment operator.

• quaternion & operator= (const quaternion &other)


Assignment operator.

• bool operator== (const quaternion &other) const


Equalilty operator.

• quaternion (const matrix4 &mat)


Constructor which converts a matrix to a quaternion.

• quaternion (const vector3df &vec)


Constructor which converts euler angles (radians) to a quaternion.

• quaternion (f32 x, f32 y, f32 z)


Constructor which converts euler angles (radians) to a quaternion.

• quaternion (f32 x, f32 y, f32 z, f32 w)


Constructor.

• quaternion ()
Default Constructor.

• void rotationFromTo (const vector3df &from, const vector3df &to)


Set quaternion to represent a rotation from one vector to another.

• void set (const core::vector3df &vec)


Sets new quaternion based on euler angles (radians).

• void set (f32 x, f32 y, f32 z)


Sets new quaternion based on euler angles (radians).

• void set (f32 x, f32 y, f32 z, f32 w)


Sets new quaternion.

• void slerp (quaternion q1, quaternion q2, f32 interpolate)


Set this quaternion to the result of the interpolation between two quaternions.

• void toAngleAxis (f32 &angle, core::vector3df &axis) const


Fills an angle (radians) around an axis (unit vector).

• void toEuler (vector3df &euler) const


Output this quaternion to an euler angle (radians).

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


666 Irrlicht Engine Class Documentation

Public Attributes

• f32 W
Quaternion elements.

• f32 X
Quaternion elements.

• f32 Y
Quaternion elements.

• f32 Z
Quaternion elements.

7.123.1 Detailed Description

Quaternion class for representing rotations.


It provides cheap combinations and avoids gimbal locks. Also useful for interpolations.
Definition at line 21 of file quaternion.h.

7.123.2 Constructor & Destructor Documentation

7.123.2.1 irr::core::quaternion::quaternion () [inline]

Default Constructor.
Definition at line 26 of file quaternion.h.
References W, X, Y, and Z.
Referenced by operator ∗(), operator+(), and rotationFromTo().

7.123.2.2 irr::core::quaternion::quaternion (f32 x, f32 y, f32 z, f32 w) [inline]

Constructor.
Definition at line 29 of file quaternion.h.
References W, X, Y, and Z.

7.123.2.3 irr::core::quaternion::quaternion (f32 x, f32 y, f32 z) [inline]

Constructor which converts euler angles (radians) to a quaternion.


Definition at line 123 of file quaternion.h.
References set().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.123 irr::core::quaternion Class Reference 667

7.123.2.4 irr::core::quaternion::quaternion (const vector3df & vec) [inline]

Constructor which converts euler angles (radians) to a quaternion.


Definition at line 130 of file quaternion.h.
References set().

7.123.2.5 irr::core::quaternion::quaternion (const matrix4 & mat) [inline]

Constructor which converts a matrix to a quaternion.


Definition at line 137 of file quaternion.h.

7.123.3 Member Function Documentation

7.123.3.1 void irr::core::quaternion::fromAngleAxis (f32 angle, const vector3df & axis)


[inline]

Create quaternion from rotation angle and rotation axis.


Axis must be unit length. The quaternion representing the rotation is q =
cos(A/2)+sin(A/2)∗(x∗i+y∗j+z∗k).

Parameters:
angle Rotation Angle in radians.
axis Rotation axis.

Definition at line 469 of file quaternion.h.


References W, X, Y, and Z.

7.123.3.2 f32 irr::core::quaternion::getDotProduct (const quaternion & other) const [inline]

Calculates the dot product.


Definition at line 463 of file quaternion.h.
References W, X, Y, and Z.
Referenced by slerp().

7.123.3.3 void irr::core::quaternion::getMatrix (matrix4 & dest) const [inline]

Creates a matrix from this quaternion.


Definition at line 302 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.4 matrix4 irr::core::quaternion::getMatrix () const [inline]

Creates a matrix from this quaternion.


Definition at line 273 of file quaternion.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


668 Irrlicht Engine Class Documentation

References W, X, Y, and Z.
Referenced by irr::scene::SMD3QuaterionTag::setto().

7.123.3.5 void irr::core::quaternion::getMatrix_transposed (matrix4 & dest) const [inline]

Creates a matrix from this quaternion.


Definition at line 326 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.6 void irr::core::quaternion::makeIdentity () [inline]

Set quaternion to identity.


Definition at line 532 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.7 void irr::core::quaternion::makeInverse () [inline]

Inverts this quaternion.


Definition at line 352 of file quaternion.h.
References X, Y, and Z.

7.123.3.8 quaternion & irr::core::quaternion::normalize () [inline]

Normalizes the quaternion.


Definition at line 404 of file quaternion.h.
References irr::core::reciprocal_squareroot(), W, X, Y, and Z.
Referenced by operator=(), and set().

7.123.3.9 vector3df irr::core::quaternion::operator ∗ (const vector3df & v) const [inline]

Multiplication operator.
Definition at line 517 of file quaternion.h.
References irr::core::vector3d< T >::crossProduct(), W, X, Y, and Z.

7.123.3.10 quaternion irr::core::quaternion::operator ∗ (f32 s) const [inline]

Multiplication operator.
Definition at line 246 of file quaternion.h.
References quaternion(), W, X, Y, and Z.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.123 irr::core::quaternion Class Reference 669

7.123.3.11 quaternion irr::core::quaternion::operator ∗ (const quaternion & other) const


[inline]

Multiplication operator.
Definition at line 232 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.12 quaternion & irr::core::quaternion::operator ∗= (const quaternion & other)


[inline]

Multiplication operator.
Definition at line 259 of file quaternion.h.

7.123.3.13 quaternion & irr::core::quaternion::operator ∗= (f32 s) [inline]

Multiplication operator.
Definition at line 252 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.14 quaternion irr::core::quaternion::operator+ (const quaternion & other) const


[inline]

Add operator.
Definition at line 266 of file quaternion.h.
References quaternion(), W, X, Y, and Z.

7.123.3.15 quaternion & irr::core::quaternion::operator= (const matrix4 & other) [inline]

Matrix assignment operator.


Definition at line 171 of file quaternion.h.
References normalize(), W, X, Y, and Z.

7.123.3.16 quaternion & irr::core::quaternion::operator= (const quaternion & other) [inline]

Assignment operator.
Definition at line 160 of file quaternion.h.
References W, X, Y, and Z.

7.123.3.17 bool irr::core::quaternion::operator== (const quaternion & other) const [inline]

Equalilty operator.
Definition at line 144 of file quaternion.h.
References W, X, Y, and Z.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


670 Irrlicht Engine Class Documentation

7.123.3.18 void irr::core::quaternion::rotationFromTo (const vector3df & from, const vector3df &
to) [inline]

Set quaternion to represent a rotation from one vector to another.


Definition at line 540 of file quaternion.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::dotProduct(),
irr::core::vector3d< T >::normalize(), quaternion(), W, irr::core::vector3d< T >::X, X,
irr::core::vector3d< T >::Y, Y, irr::core::vector3d< T >::Z, and Z.

7.123.3.19 void irr::core::quaternion::set (const core::vector3df & vec) [inline]

Sets new quaternion based on euler angles (radians).


Definition at line 398 of file quaternion.h.
References set().

7.123.3.20 void irr::core::quaternion::set (f32 x, f32 y, f32 z) [inline]

Sets new quaternion based on euler angles (radians).


Definition at line 368 of file quaternion.h.
References normalize(), W, X, Y, and Z.

7.123.3.21 void irr::core::quaternion::set (f32 x, f32 y, f32 z, f32 w) [inline]

Sets new quaternion.


Definition at line 358 of file quaternion.h.
References W, X, Y, and Z.
Referenced by quaternion(), set(), slerp(), and irr::scene::SMD3QuaterionTag::SMD3QuaterionTag().

7.123.3.22 void irr::core::quaternion::slerp (quaternion q1, quaternion q2, f32 interpolate)


[inline]

Set this quaternion to the result of the interpolation between two quaternions.
Definition at line 423 of file quaternion.h.
References getDotProduct(), irr::core::PI, set(), W, X, Y, and Z.

7.123.3.23 void irr::core::quaternion::toAngleAxis (f32 & angle, core::vector3df & axis) const
[inline]

Fills an angle (radians) around an axis (unit vector).


Definition at line 480 of file quaternion.h.
References W, X, Y, and Z.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.123 irr::core::quaternion Class Reference 671

7.123.3.24 void irr::core::quaternion::toEuler (vector3df & euler) const [inline]

Output this quaternion to an euler angle (radians).


Definition at line 500 of file quaternion.h.
References irr::core::clamp(), W, X, Y, and Z.

7.123.4 Member Data Documentation

7.123.4.1 f32 irr::core::quaternion::W

Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quaternion(), rotation-
FromTo(), set(), slerp(), toAngleAxis(), and toEuler().

7.123.4.2 f32 irr::core::quaternion::X

Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().

7.123.4.3 f32 irr::core::quaternion::Y

Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().

7.123.4.4 f32 irr::core::quaternion::Z

Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().
The documentation for this class was generated from the following file:

• quaternion.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


672 Irrlicht Engine Class Documentation

7.124 irr::core::rect< T > Class Template Reference


Rectangle template.
#include <rect.h>

Public Member Functions


• void addInternalPoint (T x, T y)
• void addInternalPoint (const position2d< T > &p)
• void clipAgainst (const rect< T > &other)
Clips this rectangle with another one.

• bool constrainTo (const rect< T > &other)


• T getArea () const
Returns size of rectangle.

• position2d< T > getCenter () const


Returns the center of the rectangle.

• T getHeight () const
Returns height of rectangle.

• dimension2d< T > getSize () const


Returns the dimensions of the rectangle.

• T getWidth () const
Returns width of rectangle.

• bool isPointInside (const position2d< T > &pos) const


• bool isRectCollided (const rect< T > &other) const
Returns if the rectangle collides with another rectangle.

• bool isValid () const


• bool operator!= (const rect< T > &other) const
• rect< T > operator+ (const position2d< T > &pos) const
• rect< T > & operator+= (const position2d< T > &pos)
• rect< T > operator- (const position2d< T > &pos) const
• rect< T > & operator-= (const position2d< T > &pos)
• bool operator< (const rect< T > &other) const
• bool operator== (const rect< T > &other) const
• rect (const position2d< T > &pos, const dimension2d< T > &size)
• rect (const position2d< T > &upperLeft, const position2d< T > &lowerRight)
• rect (T x, T y, T x2, T y2)
• rect ()
• void repair ()

Public Attributes
• position2d< T > LowerRightCorner
• position2d< T > UpperLeftCorner

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.124 irr::core::rect< T > Class Template Reference 673

7.124.1 Detailed Description

template<class T> class irr::core::rect< T >

Rectangle template.
Mostly used by 2D GUI elements and for 2D drawing methods. It has 2 positions instead of position and
dimension and a fast method for collision detection with other rectangles and points.
Definition at line 23 of file rect.h.

7.124.2 Constructor & Destructor Documentation

7.124.2.1 template<class T> irr::core::rect< T >::rect () [inline]

Definition at line 27 of file rect.h.

7.124.2.2 template<class T> irr::core::rect< T >::rect (T x, T y, T x2, T y2) [inline]

Definition at line 29 of file rect.h.

7.124.2.3 template<class T> irr::core::rect< T >::rect (const position2d< T > & upperLeft, const
position2d< T > & lowerRight) [inline]

Definition at line 32 of file rect.h.

7.124.2.4 template<class T> irr::core::rect< T >::rect (const position2d< T > & pos, const
dimension2d< T > & size) [inline]

Definition at line 35 of file rect.h.

7.124.3 Member Function Documentation

7.124.3.1 template<class T> void irr::core::rect< T >::addInternalPoint (T x, T y) [inline]

Adds a point to the bounding rectangle, causing it to grow bigger, if point is outside of the box.

Parameters:
x: X Coordinate of the point to add to this box.
y: Y Coordinate of the point to add to this box.

Definition at line 234 of file rect.h.

7.124.3.2 template<class T> void irr::core::rect< T >::addInternalPoint (const position2d< T >


& p) [inline]

Adds a point to the rectangle, causing it to grow bigger, if point is outside of the box

Parameters:
p: Point to add into the box.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


674 Irrlicht Engine Class Documentation

Definition at line 225 of file rect.h.


Referenced by irr::core::rect< f32 >::addInternalPoint().

7.124.3.3 template<class T> void irr::core::rect< T >::clipAgainst (const rect< T > & other)
[inline]

Clips this rectangle with another one.


Definition at line 111 of file rect.h.
Referenced by irr::gui::IGUIElement::IGUIElement(), and irr::gui::IGUIElement::updateAbsolute-
Position().

7.124.3.4 template<class T> bool irr::core::rect< T >::constrainTo (const rect< T > & other)
[inline]

Moves this rectangle to fit inside another one.

Returns:
: returns true on success, false if not possible

Definition at line 132 of file rect.h.

7.124.3.5 template<class T> T irr::core::rect< T >::getArea () const [inline]

Returns size of rectangle.


Definition at line 85 of file rect.h.
Referenced by irr::core::rect< f32 >::operator<().

7.124.3.6 template<class T> position2d<T> irr::core::rect< T >::getCenter () const


[inline]

Returns the center of the rectangle.


Definition at line 209 of file rect.h.

7.124.3.7 template<class T> T irr::core::rect< T >::getHeight () const [inline]

Returns height of rectangle.


Definition at line 175 of file rect.h.
Referenced by irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getArea(), irr::core::rect< f32
>::getSize(), and irr::gui::IGUIElement::updateAbsolutePosition().

7.124.3.8 template<class T> dimension2d<T> irr::core::rect< T >::getSize () const [inline]

Returns the dimensions of the rectangle.


Definition at line 216 of file rect.h.
Referenced by irr::gui::IGUIElement::setRelativePosition().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.124 irr::core::rect< T > Class Template Reference 675

7.124.3.9 template<class T> T irr::core::rect< T >::getWidth () const [inline]

Returns width of rectangle.


Definition at line 169 of file rect.h.
Referenced by irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getArea(), irr::core::rect< f32
>::getSize(), and irr::gui::IGUIElement::updateAbsolutePosition().

7.124.3.10 template<class T> bool irr::core::rect< T >::isPointInside (const position2d< T > &
pos) const [inline]

Returns if a 2d point is within this rectangle.

Parameters:
pos: Position to test if it lies within this rectangle.

Returns:
Returns true if the position is within the rectangle, false if not.

Definition at line 93 of file rect.h.


Referenced by irr::gui::IGUIElement::isPointInside().

7.124.3.11 template<class T> bool irr::core::rect< T >::isRectCollided (const rect< T > &
other) const [inline]

Returns if the rectangle collides with another rectangle.


Definition at line 102 of file rect.h.

7.124.3.12 template<class T> bool irr::core::rect< T >::isValid () const [inline]

Returns if the rect is valid to draw. It could be invalid if the UpperLeftCorner is lower or more right than
the LowerRightCorner, or if any dimension is 0.
Definition at line 202 of file rect.h.

7.124.3.13 template<class T> bool irr::core::rect< T >::operator!= (const rect< T > & other)
const [inline]

Definition at line 72 of file rect.h.

7.124.3.14 template<class T> rect<T> irr::core::rect< T >::operator+ (const position2d< T >


& pos) const [inline]

Definition at line 39 of file rect.h.

7.124.3.15 template<class T> rect<T>& irr::core::rect< T >::operator+= (const position2d< T


> & pos) [inline]

Definition at line 45 of file rect.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


676 Irrlicht Engine Class Documentation

7.124.3.16 template<class T> rect<T> irr::core::rect< T >::operator- (const position2d< T > &
pos) const [inline]

Definition at line 52 of file rect.h.

7.124.3.17 template<class T> rect<T>& irr::core::rect< T >::operator-= (const position2d< T


> & pos) [inline]

Definition at line 58 of file rect.h.

7.124.3.18 template<class T> bool irr::core::rect< T >::operator< (const rect< T > & other)
const [inline]

Definition at line 79 of file rect.h.

7.124.3.19 template<class T> bool irr::core::rect< T >::operator== (const rect< T > & other)
const [inline]

Definition at line 65 of file rect.h.

7.124.3.20 template<class T> void irr::core::rect< T >::repair () [inline]

If the lower right corner of the rect is smaller then the upper left, the points are swapped.
Definition at line 182 of file rect.h.
Referenced by irr::gui::IGUIElement::updateAbsolutePosition().

7.124.4 Member Data Documentation

7.124.4.1 template<class T> position2d<T> irr::core::rect< T >::LowerRightCorner

Definition at line 249 of file rect.h.


Referenced by irr::core::rect< f32 >::clipAgainst(), irr::core::rect< f32 >::constrain-
To(), irr::gui::IGUIElement::setAlignment(), irr::gui::IGUIElement::setRelativePosition(), and
irr::gui::IGUIElement::updateAbsolutePosition().

7.124.4.2 template<class T> position2d<T> irr::core::rect< T >::UpperLeftCorner

Definition at line 248 of file rect.h.


Referenced by irr::core::rect< f32 >::clipAgainst(), irr::core::rect< f32 >::constrain-
To(), irr::gui::IGUIElement::IGUIElement(), irr::gui::IGUIElement::setAlignment(),
irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::updateAbsolutePosition().
The documentation for this class was generated from the following file:

• rect.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.125 irr::video::S3DVertex Struct Reference 677

7.125 irr::video::S3DVertex Struct Reference


standard vertex used by the Irrlicht engine.
#include <S3DVertex.h>
Inheritance diagram for irr::video::S3DVertex::

irr::video::S3DVertex

irr::video::S3DVertex2TCoords irr::video::S3DVertexTangents

Public Member Functions


• E_VERTEX_TYPE getType () const
• bool operator!= (const S3DVertex &other) const
• bool operator< (const S3DVertex &other) const
• bool operator== (const S3DVertex &other) const
• S3DVertex (const core::vector3df &pos, const core::vector3df &normal, SColor color, const
core::vector2d< f32 > &tcoords)
constructor

• S3DVertex (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv)
constructor

• S3DVertex ()
default constructor

Public Attributes
• SColor Color
Color.

• core::vector3df Normal
Normal vector.

• core::vector3df Pos
Position.

• core::vector2d< f32 > TCoords


Texture coordinates.

7.125.1 Detailed Description

standard vertex used by the Irrlicht engine.


Definition at line 42 of file S3DVertex.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


678 Irrlicht Engine Class Documentation

7.125.2 Constructor & Destructor Documentation

7.125.2.1 irr::video::S3DVertex::S3DVertex () [inline]

default constructor
Definition at line 45 of file S3DVertex.h.

7.125.2.2 irr::video::S3DVertex::S3DVertex (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32
tu, f32 tv) [inline]

constructor
Definition at line 48 of file S3DVertex.h.
References Color, Normal, Pos, and TCoords.

7.125.2.3 irr::video::S3DVertex::S3DVertex (const core::vector3df & pos, const core::vector3df &


normal, SColor color, const core::vector2d< f32 > & tcoords) [inline]

constructor
Definition at line 52 of file S3DVertex.h.
References Color, Normal, Pos, and TCoords.

7.125.3 Member Function Documentation

7.125.3.1 E_VERTEX_TYPE irr::video::S3DVertex::getType () const [inline]

Reimplemented in irr::video::S3DVertex2TCoords, and irr::video::S3DVertexTangents.


Definition at line 88 of file S3DVertex.h.
References irr::video::EVT_STANDARD.

7.125.3.2 bool irr::video::S3DVertex::operator!= (const S3DVertex & other) const [inline]

Definition at line 74 of file S3DVertex.h.


References Color, Normal, Pos, and TCoords.

7.125.3.3 bool irr::video::S3DVertex::operator< (const S3DVertex & other) const [inline]

Definition at line 80 of file S3DVertex.h.


References Color, Normal, Pos, and TCoords.

7.125.3.4 bool irr::video::S3DVertex::operator== (const S3DVertex & other) const [inline]

Definition at line 68 of file S3DVertex.h.


References Color, Normal, Pos, and TCoords.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.125 irr::video::S3DVertex Struct Reference 679

7.125.4 Member Data Documentation

7.125.4.1 SColor irr::video::S3DVertex::Color

Color.
Definition at line 63 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().

7.125.4.2 core::vector3df irr::video::S3DVertex::Normal

Normal vector.
Definition at line 60 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().

7.125.4.3 core::vector3df irr::video::S3DVertex::Pos

Position.
Definition at line 57 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().

7.125.4.4 core::vector2d<f32> irr::video::S3DVertex::TCoords

Texture coordinates.
Definition at line 66 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().
The documentation for this struct was generated from the following file:

• S3DVertex.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


680 Irrlicht Engine Class Documentation

7.126 irr::video::S3DVertex2TCoords Struct Reference


Vertex with two texture coordinates.
#include <S3DVertex.h>
Inheritance diagram for irr::video::S3DVertex2TCoords::

irr::video::S3DVertex

irr::video::S3DVertex2TCoords

Public Member Functions


• E_VERTEX_TYPE getType () const
• bool operator!= (const S3DVertex2TCoords &other) const
Inequality operator.

• bool operator< (const S3DVertex2TCoords &other) const


• bool operator== (const S3DVertex2TCoords &other) const
Equality operator.

• S3DVertex2TCoords (S3DVertex &o)


constructor from S3DVertex

• S3DVertex2TCoords (const core::vector3df &pos, const core::vector3df &normal, SColor color,


const core::vector2d< f32 > &tcoords)
constructor with the same texture coords and normal

• S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv)
constructor with the same texture coords and normal

• S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv, f32 tu2, f32
tv2)
constructor with all values

• S3DVertex2TCoords (const core::vector3df &pos, const core::vector3df &normal, const SColor


&color, const core::vector2d< f32 > &tcoords, const core::vector2d< f32 > &tcoords2)
constructor with all values

• S3DVertex2TCoords (const core::vector3df &pos, SColor color, const core::vector2d< f32 > &tco-
ords, const core::vector2d< f32 > &tcoords2)
constructor with two different texture coords, but no normal

• S3DVertex2TCoords (f32 x, f32 y, f32 z, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2)
constructor with two different texture coords, but no normal

• S3DVertex2TCoords ()
default constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.126 irr::video::S3DVertex2TCoords Struct Reference 681

Public Attributes

• core::vector2d< f32 > TCoords2


Second set of texture coordinates.

7.126.1 Detailed Description

Vertex with two texture coordinates.


Usually used for geometry with lightmaps or other special materials.
Definition at line 99 of file S3DVertex.h.

7.126.2 Constructor & Destructor Documentation

7.126.2.1 irr::video::S3DVertex2TCoords::S3DVertex2TCoords () [inline]

default constructor
Definition at line 102 of file S3DVertex.h.

7.126.2.2 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (f32 x, f32 y, f32 z, SColor c, f32


tu, f32 tv, f32 tu2, f32 tv2) [inline]

constructor with two different texture coords, but no normal


Definition at line 105 of file S3DVertex.h.
References TCoords2.

7.126.2.3 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (const core::vector3df & pos,


SColor color, const core::vector2d< f32 > & tcoords, const core::vector2d< f32 > &
tcoords2) [inline]

constructor with two different texture coords, but no normal


Definition at line 109 of file S3DVertex.h.
References TCoords2.

7.126.2.4 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (const core::vector3df & pos,


const core::vector3df & normal, const SColor & color, const core::vector2d< f32 > &
tcoords, const core::vector2d< f32 > & tcoords2) [inline]

constructor with all values


Definition at line 114 of file S3DVertex.h.
References TCoords2.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


682 Irrlicht Engine Class Documentation

7.126.2.5 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny,


f32 nz, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2) [inline]

constructor with all values


Definition at line 119 of file S3DVertex.h.
References TCoords2.

7.126.2.6 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny,


f32 nz, SColor c, f32 tu, f32 tv) [inline]

constructor with the same texture coords and normal


Definition at line 123 of file S3DVertex.h.
References TCoords2.

7.126.2.7 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (const core::vector3df & pos,


const core::vector3df & normal, SColor color, const core::vector2d< f32 > & tcoords)
[inline]

constructor with the same texture coords and normal


Definition at line 127 of file S3DVertex.h.
References TCoords2.

7.126.2.8 irr::video::S3DVertex2TCoords::S3DVertex2TCoords (S3DVertex & o) [inline]

constructor from S3DVertex


Definition at line 132 of file S3DVertex.h.

7.126.3 Member Function Documentation

7.126.3.1 E_VERTEX_TYPE irr::video::S3DVertex2TCoords::getType () const [inline]

Reimplemented from irr::video::S3DVertex.


Definition at line 157 of file S3DVertex.h.
References irr::video::EVT_2TCOORDS.

7.126.3.2 bool irr::video::S3DVertex2TCoords::operator!= (const S3DVertex2TCoords & other)


const [inline]

Inequality operator.
Definition at line 145 of file S3DVertex.h.
References TCoords2.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.126 irr::video::S3DVertex2TCoords Struct Reference 683

7.126.3.3 bool irr::video::S3DVertex2TCoords::operator< (const S3DVertex2TCoords & other)


const [inline]

Definition at line 151 of file S3DVertex.h.


References TCoords2.

7.126.3.4 bool irr::video::S3DVertex2TCoords::operator== (const S3DVertex2TCoords & other)


const [inline]

Equality operator.
Definition at line 138 of file S3DVertex.h.
References TCoords2.

7.126.4 Member Data Documentation

7.126.4.1 core::vector2d<f32> irr::video::S3DVertex2TCoords::TCoords2

Second set of texture coordinates.


Definition at line 135 of file S3DVertex.h.
Referenced by operator!=(), operator<(), operator==(), and S3DVertex2TCoords().
The documentation for this struct was generated from the following file:

• S3DVertex.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


684 Irrlicht Engine Class Documentation

7.127 irr::video::S3DVertexTangents Struct Reference


Vertex with a tangent and binormal vector.
#include <S3DVertex.h>
Inheritance diagram for irr::video::S3DVertexTangents::

irr::video::S3DVertex

irr::video::S3DVertexTangents

Public Member Functions


• E_VERTEX_TYPE getType () const
• bool operator!= (const S3DVertexTangents &other) const
• bool operator< (const S3DVertexTangents &other) const
• bool operator== (const S3DVertexTangents &other) const
• S3DVertexTangents (const core::vector3df &pos, const core::vector3df &normal, SColor c, const
core::vector2df &tcoords, const core::vector3df &tangent=core::vector3df(), const core::vector3df
&binormal=core::vector3df())
constructor

• S3DVertexTangents (const core::vector3df &pos, SColor c, const core::vector2df &tcoords)


constructor

• S3DVertexTangents (f32 x, f32 y, f32 z, f32 nx=0.0f, f32 ny=0.0f, f32 nz=0.0f, SColor c=0x-
FFFFFFFF, f32 tu=0.0f, f32 tv=0.0f, f32 tanx=0.0f, f32 tany=0.0f, f32 tanz=0.0f, f32 bx=0.0f, f32
by=0.0f, f32 bz=0.0f)
constructor

• S3DVertexTangents ()
default constructor

Public Attributes
• core::vector3df Binormal
Binormal vector (tangent x normal).

• core::vector3df Tangent
Tangent vector along the x-axis of the texture.

7.127.1 Detailed Description

Vertex with a tangent and binormal vector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.127 irr::video::S3DVertexTangents Struct Reference 685

Usually used for tangent space normal mapping.


Definition at line 166 of file S3DVertex.h.

7.127.2 Constructor & Destructor Documentation

7.127.2.1 irr::video::S3DVertexTangents::S3DVertexTangents () [inline]

default constructor
Definition at line 169 of file S3DVertex.h.

7.127.2.2 irr::video::S3DVertexTangents::S3DVertexTangents (f32 x, f32 y, f32 z, f32 nx = 0.0f,


f32 ny = 0.0f, f32 nz = 0.0f, SColor c = 0xFFFFFFFF, f32 tu = 0.0f, f32 tv = 0.0f,
f32 tanx = 0.0f, f32 tany = 0.0f, f32 tanz = 0.0f, f32 bx = 0.0f, f32 by = 0.0f, f32 bz
= 0.0f) [inline]

constructor
Definition at line 172 of file S3DVertex.h.
References Binormal, and Tangent.

7.127.2.3 irr::video::S3DVertexTangents::S3DVertexTangents (const core::vector3df & pos,


SColor c, const core::vector2df & tcoords) [inline]

constructor
Definition at line 179 of file S3DVertex.h.

7.127.2.4 irr::video::S3DVertexTangents::S3DVertexTangents (const core::vector3df & pos,


const core::vector3df & normal, SColor c, const core::vector2df & tcoords, const
core::vector3df & tangent = core::vector3df(), const core::vector3df & binormal =
core::vector3df()) [inline]

constructor
Definition at line 184 of file S3DVertex.h.
References Binormal, and Tangent.

7.127.3 Member Function Documentation

7.127.3.1 E_VERTEX_TYPE irr::video::S3DVertexTangents::getType () const [inline]

Reimplemented from irr::video::S3DVertex.


Definition at line 218 of file S3DVertex.h.
References irr::video::EVT_TANGENTS.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


686 Irrlicht Engine Class Documentation

7.127.3.2 bool irr::video::S3DVertexTangents::operator!= (const S3DVertexTangents & other)


const [inline]

Definition at line 204 of file S3DVertex.h.


References Binormal, and Tangent.

7.127.3.3 bool irr::video::S3DVertexTangents::operator< (const S3DVertexTangents & other)


const [inline]

Definition at line 211 of file S3DVertex.h.


References Binormal, and Tangent.

7.127.3.4 bool irr::video::S3DVertexTangents::operator== (const S3DVertexTangents & other)


const [inline]

Definition at line 197 of file S3DVertex.h.


References Binormal, and Tangent.

7.127.4 Member Data Documentation

7.127.4.1 core::vector3df irr::video::S3DVertexTangents::Binormal

Binormal vector (tangent x normal).


Definition at line 195 of file S3DVertex.h.
Referenced by operator!=(), operator<(), operator==(), and S3DVertexTangents().

7.127.4.2 core::vector3df irr::video::S3DVertexTangents::Tangent

Tangent vector along the x-axis of the texture.


Definition at line 192 of file S3DVertex.h.
Referenced by operator!=(), operator<(), operator==(), and S3DVertexTangents().
The documentation for this struct was generated from the following file:

• S3DVertex.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.128 irr::scene::SAnimatedMesh Struct Reference 687

7.128 irr::scene::SAnimatedMesh Struct Reference


Simple implementation of the IAnimatedMesh interface.
#include <SAnimatedMesh.h>
Inheritance diagram for irr::scene::SAnimatedMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::IAnimatedMesh

irr::scene::SAnimatedMesh

Public Member Functions


• void addMesh (IMesh ∗mesh)
adds a Mesh

• virtual const core::aabbox3d< f32 > & getBoundingBox () const


Returns an axis aligned bounding box of the mesh.

• virtual u32 getFrameCount () const


Gets the frame count of the animated mesh.

• virtual IMesh ∗ getMesh (s32 frame, s32 detailLevel, s32 startFrameLoop=-1, s32 endFrameLoop=-
1)
Returns the IMesh interface for a frame.

• virtual IMeshBuffer ∗ getMeshBuffer (const video::SMaterial &material) const


Returns pointer to a mesh buffer which fits a material.

• virtual IMeshBuffer ∗ getMeshBuffer (u32 nr) const


returns pointer to a mesh buffer

• virtual u32 getMeshBufferCount () const


returns amount of mesh buffers.

• virtual E_ANIMATED_MESH_TYPE getMeshType () const


Returns the type of the animated mesh.

• void recalculateBoundingBox ()
Recalculates the bounding box.

• SAnimatedMesh (scene::IMesh ∗mesh, scene::E_ANIMATED_MESH_TYPE type)


constructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


688 Irrlicht Engine Class Documentation

• SAnimatedMesh ()
constructor

• virtual void setBoundingBox (const core::aabbox3df &box)


set user axis aligned bounding box

• virtual void setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)


Set a material flag for all meshbuffers of this mesh.

• virtual ∼SAnimatedMesh ()
destructor

Public Attributes
• core::aabbox3d< f32 > Box
The bounding box of this mesh.

• core::array< IMesh ∗ > Meshes


All meshes defining the animated mesh.

• E_ANIMATED_MESH_TYPE Type
Tyhe type fo the mesh.

7.128.1 Detailed Description

Simple implementation of the IAnimatedMesh interface.


Definition at line 19 of file SAnimatedMesh.h.

7.128.2 Constructor & Destructor Documentation

7.128.2.1 irr::scene::SAnimatedMesh::SAnimatedMesh () [inline]

constructor
Definition at line 22 of file SAnimatedMesh.h.
References irr::scene::EAMT_UNKNOWN, irr::IReferenceCounted::setDebugName(), and Type.

7.128.2.2 irr::scene::SAnimatedMesh::SAnimatedMesh (scene::IMesh ∗ mesh,


scene::E_ANIMATED_MESH_TYPE type) [inline]

constructor
Definition at line 31 of file SAnimatedMesh.h.
References addMesh(), recalculateBoundingBox(), irr::IReferenceCounted::setDebugName(), and Type.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.128 irr::scene::SAnimatedMesh Struct Reference 689

7.128.2.3 virtual irr::scene::SAnimatedMesh::∼SAnimatedMesh () [inline, virtual]

destructor
Definition at line 42 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::size().

7.128.3 Member Function Documentation

7.128.3.1 void irr::scene::SAnimatedMesh::addMesh (IMesh ∗ mesh) [inline]

adds a Mesh
Definition at line 76 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::push_back().
Referenced by SAnimatedMesh().

7.128.3.2 virtual const core::aabbox3d<f32>& irr::scene::SAnimatedMesh::getBoundingBox ()


const [inline, virtual]

Returns an axis aligned bounding box of the mesh.

Returns:
A bounding box of this mesh is returned.

Implements irr::scene::IMesh.
Definition at line 88 of file SAnimatedMesh.h.
References Box.
Referenced by recalculateBoundingBox().

7.128.3.3 virtual u32 irr::scene::SAnimatedMesh::getFrameCount () const [inline,


virtual]

Gets the frame count of the animated mesh.

Returns:
Amount of frames. If the amount is 1, it is a static, non animated mesh.

Implements irr::scene::IAnimatedMesh.
Definition at line 52 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::size().

7.128.3.4 virtual IMesh∗ irr::scene::SAnimatedMesh::getMesh (s32 frame, s32 detailLevel, s32


startFrameLoop = -1, s32 endFrameLoop = -1) [inline, virtual]

Returns the IMesh interface for a frame.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


690 Irrlicht Engine Class Documentation

Parameters:
frame: Frame number as zero based index. The maximum frame number is getFrameCount() - 1;
detailLevel: Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore
the detail level.
startFrameLoop: start frame
endFrameLoop: end frame

Returns:
The animated mesh based on a detail level.

Implements irr::scene::IAnimatedMesh.
Definition at line 66 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.

7.128.3.5 virtual IMeshBuffer∗ irr::scene::SAnimatedMesh::getMeshBuffer (const


video::SMaterial & material) const [inline, virtual]

Returns pointer to a mesh buffer which fits a material.

Parameters:
material: material to search for

Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.

Implements irr::scene::IMesh.
Definition at line 146 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.

7.128.3.6 virtual IMeshBuffer∗ irr::scene::SAnimatedMesh::getMeshBuffer (u32 nr) const


[inline, virtual]

returns pointer to a mesh buffer


Implements irr::scene::IMesh.
Definition at line 133 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.

7.128.3.7 virtual u32 irr::scene::SAnimatedMesh::getMeshBufferCount () const [inline,


virtual]

returns amount of mesh buffers.


Implements irr::scene::IMesh.
Definition at line 123 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.128 irr::scene::SAnimatedMesh Struct Reference 691

7.128.3.8 virtual E_ANIMATED_MESH_TYPE irr::scene::SAnimatedMesh::getMeshType ()


const [inline, virtual]

Returns the type of the animated mesh.


Reimplemented from irr::scene::IAnimatedMesh.
Definition at line 116 of file SAnimatedMesh.h.
References Type.

7.128.3.9 void irr::scene::SAnimatedMesh::recalculateBoundingBox () [inline]

Recalculates the bounding box.


Definition at line 101 of file SAnimatedMesh.h.
References irr::core::aabbox3d< T >::addInternalBox(), Box, irr::core::array< T, TAlloc >::empty(), get-
BoundingBox(), Meshes, irr::core::aabbox3d< T >::reset(), and irr::core::array< T, TAlloc >::size().
Referenced by SAnimatedMesh().

7.128.3.10 virtual void irr::scene::SAnimatedMesh::setBoundingBox (const core::aabbox3df &


box) [inline, virtual]

set user axis aligned bounding box


Implements irr::scene::IMesh.
Definition at line 95 of file SAnimatedMesh.h.
References Box.

7.128.3.11 virtual void irr::scene::SAnimatedMesh::setMaterialFlag


(video::E_MATERIAL_FLAG flag, bool newvalue) [inline, virtual]

Set a material flag for all meshbuffers of this mesh.


Implements irr::scene::IMesh.
Definition at line 156 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::size().

7.128.4 Member Data Documentation

7.128.4.1 core::aabbox3d<f32> irr::scene::SAnimatedMesh::Box

The bounding box of this mesh.


Definition at line 163 of file SAnimatedMesh.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

7.128.4.2 core::array<IMesh∗> irr::scene::SAnimatedMesh::Meshes

All meshes defining the animated mesh.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


692 Irrlicht Engine Class Documentation

Definition at line 165 of file SAnimatedMesh.h.


Referenced by addMesh(), getFrameCount(), getMesh(), getMeshBuffer(), getMeshBufferCount(),
recalculateBoundingBox(), setMaterialFlag(), and ∼SAnimatedMesh().

7.128.4.3 E_ANIMATED_MESH_TYPE irr::scene::SAnimatedMesh::Type

Tyhe type fo the mesh.


Definition at line 167 of file SAnimatedMesh.h.
Referenced by getMeshType(), and SAnimatedMesh().
The documentation for this struct was generated from the following file:

• SAnimatedMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.129 irr::io::SAttributeReadWriteOptions Struct Reference 693

7.129 irr::io::SAttributeReadWriteOptions Struct Reference


struct holding data describing options
#include <IAttributeExchangingObject.h>

Public Member Functions


• SAttributeReadWriteOptions ()
Constructor.

Public Attributes
• const c8 ∗ Filename
Optional filename.

• s32 Flags
Combination of E_ATTRIBUTE_READ_WRITE_FLAGS or other, custom ones.

7.129.1 Detailed Description

struct holding data describing options


Definition at line 34 of file IAttributeExchangingObject.h.

7.129.2 Constructor & Destructor Documentation

7.129.2.1 irr::io::SAttributeReadWriteOptions::SAttributeReadWriteOptions () [inline]

Constructor.
Definition at line 37 of file IAttributeExchangingObject.h.
References Filename, and Flags.

7.129.3 Member Data Documentation

7.129.3.1 const c8∗ irr::io::SAttributeReadWriteOptions::Filename

Optional filename.
Definition at line 46 of file IAttributeExchangingObject.h.
Referenced by SAttributeReadWriteOptions().

7.129.3.2 s32 irr::io::SAttributeReadWriteOptions::Flags

Combination of E_ATTRIBUTE_READ_WRITE_FLAGS or other, custom ones.


Definition at line 43 of file IAttributeExchangingObject.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


694 Irrlicht Engine Class Documentation

Referenced by SAttributeReadWriteOptions().
The documentation for this struct was generated from the following file:

• IAttributeExchangingObject.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.130 irr::scene::quake3::SBlendFunc Struct Reference 695

7.130 irr::scene::quake3::SBlendFunc Struct Reference


A blend function for a q3 shader.
#include <IQ3Shader.h>

Public Member Functions


• SBlendFunc ()

Public Attributes
• f32 param
• video::E_MATERIAL_TYPE type

7.130.1 Detailed Description

A blend function for a q3 shader.


Definition at line 136 of file IQ3Shader.h.

7.130.2 Constructor & Destructor Documentation

7.130.2.1 irr::scene::quake3::SBlendFunc::SBlendFunc () [inline]

Definition at line 138 of file IQ3Shader.h.


References param, and type.

7.130.3 Member Data Documentation

7.130.3.1 f32 irr::scene::quake3::SBlendFunc::param

Definition at line 141 of file IQ3Shader.h.


Referenced by SBlendFunc().

7.130.3.2 video::E_MATERIAL_TYPE irr::scene::quake3::SBlendFunc::type

Definition at line 140 of file IQ3Shader.h.


Referenced by SBlendFunc().
The documentation for this struct was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


696 Irrlicht Engine Class Documentation

7.131 irr::video::SColor Class Reference


Class representing a 32 bit ARGB color.
#include <SColor.h>

Public Member Functions


• u32 getAlpha () const
Returns the alpha component of the color.

• u32 getAverage () const


Returns the average intensity of the color.

• u32 getBlue () const


Returns the blue component of the color.

• u32 getGreen () const


Returns the green component of the color.

• SColor getInterpolated (const SColor &other, f32 d) const


Interpolates the color with a f32 value to another color.

• SColor getInterpolated_quadratic (const SColor &c1, const SColor &c2, f32 d) const
Returns interpolated color. ( quadratic ).

• f32 getLuminance () const


Returns the luminance of the color.

• u32 getRed () const


Returns the red component of the color.

• bool operator!= (const SColor &other) const


Compares the color to another color.

• SColor operator+ (const SColor &other) const


Adds two colors, result is clamped to 0..255 values.

• bool operator< (const SColor &other) const


comparison operator

• bool operator== (const SColor &other) const


Compares the color to another color.

• SColor (u32 clr)


Constructs the color from a 32 bit value. Could be another color.

• SColor (u32 a, u32 r, u32 g, u32 b)


Constructs the color from 4 values representing the alpha, red, green and blue component.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.131 irr::video::SColor Class Reference 697

• SColor ()
Constructor of the Color. Does nothing.

• void set (u32 col)


• void set (u32 a, u32 r, u32 g, u32 b)
Sets all four components of the color at once.

• void setAlpha (u32 a)


Sets the alpha component of the Color.

• void setBlue (u32 b)


Sets the blue component of the Color.

• void setGreen (u32 g)


Sets the green component of the Color.

• void setRed (u32 r)


Sets the red component of the Color.

• u16 toA1R5G5B5 () const


Calculates a 16 bit A1R5G5B5 value of this color.

• void toOpenGLColor (u8 ∗dest) const


Converts color to OpenGL color format.

Public Attributes
• u32 color
color in A8R8G8B8 Format

7.131.1 Detailed Description

Class representing a 32 bit ARGB color.


The color values for alpha, red, green, and blue are stored in a single u32. So all four values may be
between 0 and 255. This class is used by most parts of the Irrlicht Engine to specify a color. Another way
is using the class SColorf, which stores the color values in 4 floats.
Definition at line 175 of file SColor.h.

7.131.2 Constructor & Destructor Documentation

7.131.2.1 irr::video::SColor::SColor () [inline]

Constructor of the Color. Does nothing.


The color value is not initialized to save time.
Definition at line 181 of file SColor.h.
Referenced by getInterpolated(), getInterpolated_quadratic(), and operator+().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


698 Irrlicht Engine Class Documentation

7.131.2.2 irr::video::SColor::SColor (u32 a, u32 r, u32 g, u32 b) [inline]

Constructs the color from 4 values representing the alpha, red, green and blue component.
Must be values between 0 and 255.
Definition at line 185 of file SColor.h.
References color.

7.131.2.3 irr::video::SColor::SColor (u32 clr) [inline]

Constructs the color from a 32 bit value. Could be another color.


Definition at line 189 of file SColor.h.
References color.

7.131.3 Member Function Documentation

7.131.3.1 u32 irr::video::SColor::getAlpha () const [inline]

Returns the alpha component of the color.


The alpha component defines how transparent a color should be. 255 means not transparent (opaque), 0
means fully transparent.
Definition at line 196 of file SColor.h.
References color.
Referenced by getInterpolated(), getInterpolated_quadratic(), operator+(), irr::video::SColorf::SColorf(),
and toOpenGLColor().

7.131.3.2 u32 irr::video::SColor::getAverage () const [inline]

Returns the average intensity of the color.


Definition at line 220 of file SColor.h.
References getBlue(), getGreen(), and getRed().

7.131.3.3 u32 irr::video::SColor::getBlue () const [inline]

Returns the blue component of the color.

Returns:
Value between 0 and 255, specifying how blue the color is. 0 means no blue, 255 means full blue.

Definition at line 211 of file SColor.h.


References color.
Referenced by getAverage(), getInterpolated(), getInterpolated_quadratic(), getLuminance(), operator+(),
irr::video::SColorf::SColorf(), and toOpenGLColor().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.131 irr::video::SColor Class Reference 699

7.131.3.4 u32 irr::video::SColor::getGreen () const [inline]

Returns the green component of the color.

Returns:
Value between 0 and 255, specifying how green the color is. 0 means no green, 255 means full green.

Definition at line 206 of file SColor.h.


References color.
Referenced by getAverage(), getInterpolated(), getInterpolated_quadratic(), getLuminance(), operator+(),
irr::video::SColorf::SColorf(), and toOpenGLColor().

7.131.3.5 SColor irr::video::SColor::getInterpolated (const SColor & other, f32 d) const


[inline]

Interpolates the color with a f32 value to another color.

Parameters:
other: Other color
d: value between 0.0f and 1.0f

Returns:
Interpolated color.

Definition at line 311 of file SColor.h.


References irr::core::clamp(), getAlpha(), getBlue(), getGreen(), getRed(), and SColor().

7.131.3.6 SColor irr::video::SColor::getInterpolated_quadratic (const SColor & c1, const SColor


& c2, f32 d) const [inline]

Returns interpolated color. ( quadratic ).

Parameters:
c1: first color to interpolate with
c2: second color to interpolate with
d: value between 0.0f and 1.0f.

Definition at line 325 of file SColor.h.


References irr::core::clamp(), getAlpha(), getBlue(), getGreen(), getRed(), and SColor().

7.131.3.7 f32 irr::video::SColor::getLuminance () const [inline]

Returns the luminance of the color.


Definition at line 214 of file SColor.h.
References getBlue(), getGreen(), and getRed().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


700 Irrlicht Engine Class Documentation

7.131.3.8 u32 irr::video::SColor::getRed () const [inline]

Returns the red component of the color.

Returns:
Value between 0 and 255, specifying how red the color is. 0 means no red, 255 means full red.

Definition at line 201 of file SColor.h.


References color.
Referenced by getAverage(), getInterpolated(), getInterpolated_quadratic(), getLuminance(), operator+(),
irr::video::SColorf::SColorf(), and toOpenGLColor().

7.131.3.9 bool irr::video::SColor::operator!= (const SColor & other) const [inline]

Compares the color to another color.

Returns:
True if the colors are different, and false if they are the same.

Definition at line 290 of file SColor.h.


References color.

7.131.3.10 SColor irr::video::SColor::operator+ (const SColor & other) const [inline]

Adds two colors, result is clamped to 0..255 values.

Parameters:
other Color to add to this color

Returns:
Addition of the two colors, clamped to 0..255 values

Definition at line 299 of file SColor.h.


References getAlpha(), getBlue(), getGreen(), getRed(), irr::core::min_(), and SColor().

7.131.3.11 bool irr::video::SColor::operator< (const SColor & other) const [inline]

comparison operator

Returns:
True if this color is smaller than the other one

Definition at line 294 of file SColor.h.


References color.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.131 irr::video::SColor Class Reference 701

7.131.3.12 bool irr::video::SColor::operator== (const SColor & other) const [inline]

Compares the color to another color.

Returns:
True if the colors are the same, and false if not.

Definition at line 286 of file SColor.h.


References color.

7.131.3.13 void irr::video::SColor::set (u32 col) [inline]

Definition at line 282 of file SColor.h.


References color.

7.131.3.14 void irr::video::SColor::set (u32 a, u32 r, u32 g, u32 b) [inline]

Sets all four components of the color at once.


Constructs the color from 4 values representing the alpha, red, green and blue components of the color.
Must be values between 0 and 255.

Parameters:
a: Alpha component of the color. The alpha component defines how transparent a color should be. Has
to be a value between 0 and 255. 255 means not transparent (opaque), 0 means fully transparent.
r: Sets the red component of the Color. Has to be a value between 0 and 255. 0 means no red, 255
means full red.
g: Sets the green component of the Color. Has to be a value between 0 and 255. 0 means no green,
255 means full green.
b: Sets the blue component of the Color. Has to be a value between 0 and 255. 0 means no blue, 255
means full blue.

Definition at line 278 of file SColor.h.


References color.

7.131.3.15 void irr::video::SColor::setAlpha (u32 a) [inline]

Sets the alpha component of the Color.


The alpha component defines how transparent a color should be.

Parameters:
a: Has to be a value between 0 and 255. 255 means not transparent (opaque), 0 means fully transpar-
ent.

Definition at line 230 of file SColor.h.


References color.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


702 Irrlicht Engine Class Documentation

7.131.3.16 void irr::video::SColor::setBlue (u32 b) [inline]

Sets the blue component of the Color.

Parameters:
b: Has to be a value between 0 and 255. 0 means no blue, 255 means full blue.

Definition at line 245 of file SColor.h.


References color.

7.131.3.17 void irr::video::SColor::setGreen (u32 g) [inline]

Sets the green component of the Color.

Parameters:
g: Has to be a value between 0 and 255. 0 means no green, 255 means full green.

Definition at line 240 of file SColor.h.


References color.

7.131.3.18 void irr::video::SColor::setRed (u32 r) [inline]

Sets the red component of the Color.

Parameters:
r: Has to be a value between 0 and 255. 0 means no red, 255 means full red.

Definition at line 235 of file SColor.h.


References color.

7.131.3.19 u16 irr::video::SColor::toA1R5G5B5 () const [inline]

Calculates a 16 bit A1R5G5B5 value of this color.


Returns:
16 bit A1R5G5B5 value of this color.

Definition at line 249 of file SColor.h.


References irr::video::A8R8G8B8toA1R5G5B5(), and color.

7.131.3.20 void irr::video::SColor::toOpenGLColor (u8 ∗ dest) const [inline]

Converts color to OpenGL color format.


From ARGB to RGBA in 4 byte components for endian aware passing to OpenGL

Parameters:
dest: address where the 4x8 bit OpenGL color is stored.

Definition at line 255 of file SColor.h.


References getAlpha(), getBlue(), getGreen(), and getRed().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.131 irr::video::SColor Class Reference 703

7.131.4 Member Data Documentation

7.131.4.1 u32 irr::video::SColor::color

color in A8R8G8B8 Format


Definition at line 346 of file SColor.h.
Referenced by getAlpha(), getBlue(), getGreen(), getRed(), operator!=(), operator<(), operator==(),
SColor(), set(), setAlpha(), setBlue(), setGreen(), setRed(), and toA1R5G5B5().
The documentation for this class was generated from the following file:

• SColor.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


704 Irrlicht Engine Class Documentation

7.132 irr::video::SColorf Class Reference


Class representing a color with four floats.
#include <SColor.h>

Public Member Functions


• f32 getAlpha () const
Returns the alpha component of the color in the range 0.0 to 1.0.

• f32 getBlue () const


Returns the blue component of the color in the range 0.0 to 1.0.

• f32 getGreen () const


Returns the green component of the color in the range 0.0 to 1.0.

• SColorf getInterpolated (const SColorf &other, f32 d) const


Interpolates the color with a f32 value to another color.

• SColorf getInterpolated_quadratic (const SColorf &c1, const SColorf &c2, f32 d) const
Returns interpolated color. ( quadratic ).

• f32 getRed () const


Returns the red component of the color in the range 0.0 to 1.0.

• SColorf (SColor c)
Constructs a color from 32 bit Color.

• SColorf (f32 r=0.f, f32 g=0.f, f32 b=0.f, f32 a=1.f)


Constructs a color from up to four color values: red, green, blue, and alpha.

• void set (f32 aa, f32 rr, f32 gg, f32 bb)
Sets all four color components to new values at once.

• void set (f32 rr, f32 gg, f32 bb)


Sets three color components to new values at once.

• void setColorComponentValue (s32 index, f32 value)


Sets a color component by index. R=0, G=1, B=2, A=3.

• SColor toSColor () const


Converts this color to a SColor without floats.

Public Attributes
• f32 a
alpha color component

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.132 irr::video::SColorf Class Reference 705

• f32 b
blue component

• f32 g
green color component

• f32 r
red color component

7.132.1 Detailed Description

Class representing a color with four floats.


The color values for red, green, blue and alpha are each stored in a 32 bit floating point variable. So all
four values may be between 0.0f and 1.0f. Another, faster way to define colors is using the class SColor,
which stores the color values in a single 32 bit integer.
Definition at line 357 of file SColor.h.

7.132.2 Constructor & Destructor Documentation

7.132.2.1 irr::video::SColorf::SColorf (f32 r = 0.f, f32 g = 0.f, f32 b = 0.f, f32 a = 1.f)
[inline]

Constructs a color from up to four color values: red, green, blue, and alpha.

Parameters:
r: Red color component. Should be a value between 0.0f meaning no red and 1.0f, meaning full red.
g: Green color component. Should be a value between 0.0f meaning no green and 1.0f, meaning full
green.
b: Blue color component. Should be a value between 0.0f meaning no blue and 1.0f, meaning full
blue.
a: Alpha color component of the color. The alpha component defines how transparent a color should
be. Has to be a value between 0.0f and 1.0f, 1.0f means not transparent (opaque), 0.0f means
fully transparent.

Definition at line 371 of file SColor.h.


References a, b, g, and r.
Referenced by getInterpolated(), and getInterpolated_quadratic().

7.132.2.2 irr::video::SColorf::SColorf (SColor c) [inline]

Constructs a color from 32 bit Color.

Parameters:
c: 32 bit color from which this SColorf class is constructed from.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


706 Irrlicht Engine Class Documentation

Definition at line 376 of file SColor.h.


References a, b, g, irr::video::SColor::getAlpha(), irr::video::SColor::getBlue(), irr::video::SColor::get-
Green(), irr::video::SColor::getRed(), and r.

7.132.3 Member Function Documentation

7.132.3.1 f32 irr::video::SColorf::getAlpha () const [inline]

Returns the alpha component of the color in the range 0.0 to 1.0.
Definition at line 457 of file SColor.h.
References a.

7.132.3.2 f32 irr::video::SColorf::getBlue () const [inline]

Returns the blue component of the color in the range 0.0 to 1.0.
Definition at line 466 of file SColor.h.
References b.

7.132.3.3 f32 irr::video::SColorf::getGreen () const [inline]

Returns the green component of the color in the range 0.0 to 1.0.
Definition at line 463 of file SColor.h.
References g.

7.132.3.4 SColorf irr::video::SColorf::getInterpolated (const SColorf & other, f32 d) const


[inline]

Interpolates the color with a f32 value to another color.

Parameters:
other: Other color
d: value between 0.0f and 1.0f

Returns:
Interpolated color.

Definition at line 415 of file SColor.h.


References a, b, irr::core::clamp(), g, r, and SColorf().

7.132.3.5 SColorf irr::video::SColorf::getInterpolated_quadratic (const SColorf & c1, const


SColorf & c2, f32 d) const [inline]

Returns interpolated color. ( quadratic ).

Parameters:
c1: first color to interpolate with

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.132 irr::video::SColorf Class Reference 707

c2: second color to interpolate with


d: value between 0.0f and 1.0f.

Definition at line 427 of file SColor.h.


References a, irr::core::clamp(), g, r, and SColorf().

7.132.3.6 f32 irr::video::SColorf::getRed () const [inline]

Returns the red component of the color in the range 0.0 to 1.0.
Definition at line 460 of file SColor.h.
References r.

7.132.3.7 void irr::video::SColorf::set (f32 aa, f32 rr, f32 gg, f32 bb) [inline]

Sets all four color components to new values at once.

Parameters:
aa: Alpha component. Should be a value between 0.0f meaning fully transparent and 1.0f, meaning
opaque.
rr: Red color component. Should be a value between 0.0f meaning no red and 1.0f, meaning full red.
gg: Green color component. Should be a value between 0.0f meaning no green and 1.0f, meaning full
green.
bb: Blue color component. Should be a value between 0.0f meaning no blue and 1.0f, meaning full
blue.

Definition at line 409 of file SColor.h.


References a, b, g, and r.

7.132.3.8 void irr::video::SColorf::set (f32 rr, f32 gg, f32 bb) [inline]

Sets three color components to new values at once.

Parameters:
rr: Red color component. Should be a value between 0.0f meaning no red (=black) and 1.0f, meaning
full red.
gg: Green color component. Should be a value between 0.0f meaning no green (=black) and 1.0f,
meaning full green.
bb: Blue color component. Should be a value between 0.0f meaning no blue (=black) and 1.0f, mean-
ing full blue.

Definition at line 398 of file SColor.h.


References b, g, and r.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


708 Irrlicht Engine Class Documentation

7.132.3.9 void irr::video::SColorf::setColorComponentValue (s32 index, f32 value) [inline]

Sets a color component by index. R=0, G=1, B=2, A=3.


Definition at line 445 of file SColor.h.
References a, b, g, and r.

7.132.3.10 SColor irr::video::SColorf::toSColor () const [inline]

Converts this color to a SColor without floats.


Definition at line 386 of file SColor.h.
References a, b, g, and r.

7.132.4 Member Data Documentation

7.132.4.1 f32 irr::video::SColorf::a

alpha color component


Definition at line 478 of file SColor.h.
Referenced by getAlpha(), getInterpolated(), getInterpolated_quadratic(), SColorf(), set(), setColor-
ComponentValue(), and toSColor().

7.132.4.2 f32 irr::video::SColorf::b

blue component
Definition at line 475 of file SColor.h.
Referenced by getBlue(), getInterpolated(), SColorf(), set(), setColorComponentValue(), and toSColor().

7.132.4.3 f32 irr::video::SColorf::g

green color component


Definition at line 472 of file SColor.h.
Referenced by getGreen(), getInterpolated(), getInterpolated_quadratic(), SColorf(), set(), setColor-
ComponentValue(), and toSColor().

7.132.4.4 f32 irr::video::SColorf::r

red color component


Definition at line 469 of file SColor.h.
Referenced by getInterpolated(), getInterpolated_quadratic(), getRed(), SColorf(), set(), setColor-
ComponentValue(), and toSColor().
The documentation for this class was generated from the following file:

• SColor.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.133 irr::video::SColorHSL Class Reference 709

7.133 irr::video::SColorHSL Class Reference

Class representing a color in HSV format.


#include <SColor.h>

Public Member Functions

• SColorHSL (f32 h=0.f, f32 s=0.f, f32 l=0.f)


• void settoRGB (SColor &color) const

Public Attributes

• f32 Hue
• f32 Luminance
• f32 Saturation

7.133.1 Detailed Description

Class representing a color in HSV format.


The color values for hue, saturation, value are stored in a 32 bit floating point variable.
Definition at line 486 of file SColor.h.

7.133.2 Constructor & Destructor Documentation

7.133.2.1 irr::video::SColorHSL::SColorHSL (f32 h = 0.f, f32 s = 0.f, f32 l = 0.f) [inline]

Definition at line 489 of file SColor.h.


References Hue, Luminance, and Saturation.

7.133.3 Member Function Documentation

7.133.3.1 void irr::video::SColorHSL::settoRGB (SColor & color) const [inline]

Definition at line 504 of file SColor.h.


References Hue, Luminance, and Saturation.

7.133.4 Member Data Documentation

7.133.4.1 f32 irr::video::SColorHSL::Hue

Definition at line 495 of file SColor.h.


Referenced by SColorHSL(), and settoRGB().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


710 Irrlicht Engine Class Documentation

7.133.4.2 f32 irr::video::SColorHSL::Luminance

Definition at line 497 of file SColor.h.


Referenced by SColorHSL(), and settoRGB().

7.133.4.3 f32 irr::video::SColorHSL::Saturation

Definition at line 496 of file SColor.h.


Referenced by SColorHSL(), and settoRGB().
The documentation for this class was generated from the following file:

• SColor.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.134 irr::SEvent Struct Reference 711

7.134 irr::SEvent Struct Reference


SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
#include <IEventReceiver.h>

Public Attributes
• EEVENT_TYPE EventType
• SGUIEvent GUIEvent
• SKeyInput KeyInput
• SLogEvent LogEvent
• SMouseInput MouseInput
• SUserEvent UserEvent

Classes
• struct SGUIEvent
Any kind of GUI event.

• struct SKeyInput
Any kind of keyboard event.

• struct SLogEvent
Any kind of log event.

• struct SMouseInput
Any kind of mouse event.

• struct SUserEvent
Any kind of user event.

7.134.1 Detailed Description

SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
Definition at line 160 of file IEventReceiver.h.

7.134.2 Member Data Documentation

7.134.2.1 EEVENT_TYPE irr::SEvent::EventType

Definition at line 235 of file IEventReceiver.h.

7.134.2.2 struct SGUIEvent irr::SEvent::GUIEvent

Definition at line 238 of file IEventReceiver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


712 Irrlicht Engine Class Documentation

7.134.2.3 struct SKeyInput irr::SEvent::KeyInput

Definition at line 240 of file IEventReceiver.h.

7.134.2.4 struct SLogEvent irr::SEvent::LogEvent

Definition at line 241 of file IEventReceiver.h.

7.134.2.5 struct SMouseInput irr::SEvent::MouseInput

Definition at line 239 of file IEventReceiver.h.

7.134.2.6 struct SUserEvent irr::SEvent::UserEvent

Definition at line 242 of file IEventReceiver.h.


The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.135 irr::SEvent::SGUIEvent Struct Reference 713

7.135 irr::SEvent::SGUIEvent Struct Reference


Any kind of GUI event.
#include <IEventReceiver.h>

Public Attributes
• gui::IGUIElement ∗ Caller
IGUIElement who called the event.

• gui::IGUIElement ∗ Element
If the event has something to do with another element, it will be held here.

• gui::EGUI_EVENT_TYPE EventType
Type of GUI Event.

7.135.1 Detailed Description

Any kind of GUI event.


Definition at line 163 of file IEventReceiver.h.

7.135.2 Member Data Documentation

7.135.2.1 gui::IGUIElement∗ irr::SEvent::SGUIEvent::Caller

IGUIElement who called the event.


Definition at line 166 of file IEventReceiver.h.

7.135.2.2 gui::IGUIElement∗ irr::SEvent::SGUIEvent::Element

If the event has something to do with another element, it will be held here.
Definition at line 169 of file IEventReceiver.h.

7.135.2.3 gui::EGUI_EVENT_TYPE irr::SEvent::SGUIEvent::EventType

Type of GUI Event.


Definition at line 172 of file IEventReceiver.h.
The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


714 Irrlicht Engine Class Documentation

7.136 irr::SEvent::SKeyInput Struct Reference


Any kind of keyboard event.
#include <IEventReceiver.h>

Public Attributes

• wchar_t Char
Character corresponding to the key (0, if not a character).

• bool Control
True if ctrl was also pressed.

• EKEY_CODE Key
Key which has been pressed or released.

• bool PressedDown
If not true, then the key was left up.

• bool Shift
True if shift was also pressed.

7.136.1 Detailed Description

Any kind of keyboard event.


Definition at line 194 of file IEventReceiver.h.

7.136.2 Member Data Documentation

7.136.2.1 wchar_t irr::SEvent::SKeyInput::Char

Character corresponding to the key (0, if not a character).


Definition at line 197 of file IEventReceiver.h.

7.136.2.2 bool irr::SEvent::SKeyInput::Control

True if ctrl was also pressed.


Definition at line 209 of file IEventReceiver.h.

7.136.2.3 EKEY_CODE irr::SEvent::SKeyInput::Key

Key which has been pressed or released.


Definition at line 200 of file IEventReceiver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.136 irr::SEvent::SKeyInput Struct Reference 715

7.136.2.4 bool irr::SEvent::SKeyInput::PressedDown

If not true, then the key was left up.


Definition at line 203 of file IEventReceiver.h.

7.136.2.5 bool irr::SEvent::SKeyInput::Shift

True if shift was also pressed.


Definition at line 206 of file IEventReceiver.h.
The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


716 Irrlicht Engine Class Documentation

7.137 irr::SEvent::SLogEvent Struct Reference


Any kind of log event.
#include <IEventReceiver.h>

Public Attributes
• ELOG_LEVEL Level
Log level in which the text has been logged.

• const c8 ∗ Text
Pointer to text which has been logged.

7.137.1 Detailed Description

Any kind of log event.


Definition at line 213 of file IEventReceiver.h.

7.137.2 Member Data Documentation

7.137.2.1 ELOG_LEVEL irr::SEvent::SLogEvent::Level

Log level in which the text has been logged.


Definition at line 219 of file IEventReceiver.h.

7.137.2.2 const c8∗ irr::SEvent::SLogEvent::Text

Pointer to text which has been logged.


Definition at line 216 of file IEventReceiver.h.
The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.138 irr::SEvent::SMouseInput Struct Reference 717

7.138 irr::SEvent::SMouseInput Struct Reference

Any kind of mouse event.


#include <IEventReceiver.h>

Public Attributes

• EMOUSE_INPUT_EVENT Event
Type of mouse event.

• f32 Wheel
mouse wheel delta, usually 1.0 or -1.0.

• s32 X
X position of mouse cursor.

• s32 Y
Y position of mouse cursor.

7.138.1 Detailed Description

Any kind of mouse event.


Definition at line 177 of file IEventReceiver.h.

7.138.2 Member Data Documentation

7.138.2.1 EMOUSE_INPUT_EVENT irr::SEvent::SMouseInput::Event

Type of mouse event.


Definition at line 190 of file IEventReceiver.h.

7.138.2.2 f32 irr::SEvent::SMouseInput::Wheel

mouse wheel delta, usually 1.0 or -1.0.


Only valid if event was EMIE_MOUSE_WHEEL
Definition at line 187 of file IEventReceiver.h.

7.138.2.3 s32 irr::SEvent::SMouseInput::X

X position of mouse cursor.


Definition at line 180 of file IEventReceiver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


718 Irrlicht Engine Class Documentation

7.138.2.4 s32 irr::SEvent::SMouseInput::Y

Y position of mouse cursor.


Definition at line 183 of file IEventReceiver.h.
The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.139 irr::SEvent::SUserEvent Struct Reference 719

7.139 irr::SEvent::SUserEvent Struct Reference


Any kind of user event.
#include <IEventReceiver.h>

Public Attributes
• s32 UserData1
Some user specified data as int.

• s32 UserData2
Another user specified data as int.

• f32 UserData3
Some user specified data as float.

7.139.1 Detailed Description

Any kind of user event.


Definition at line 223 of file IEventReceiver.h.

7.139.2 Member Data Documentation

7.139.2.1 s32 irr::SEvent::SUserEvent::UserData1

Some user specified data as int.


Definition at line 226 of file IEventReceiver.h.

7.139.2.2 s32 irr::SEvent::SUserEvent::UserData2

Another user specified data as int.


Definition at line 229 of file IEventReceiver.h.

7.139.2.3 f32 irr::SEvent::SUserEvent::UserData3

Some user specified data as float.


Definition at line 232 of file IEventReceiver.h.
The documentation for this struct was generated from the following file:

• IEventReceiver.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


720 Irrlicht Engine Class Documentation

7.140 irr::video::SExposedVideoData Struct Reference


structure for holding data describing a driver and operating system specific data.
#include <SExposedVideoData.h>

7.140.1 Detailed Description

structure for holding data describing a driver and operating system specific data.
This data can be retrived by IVideoDriver::getExposedVideoData(). Use this with caution. This only should
be used to make it possible to extend the engine easily without modification of its source. Note that this
structure does not contain any valid data, if you are using the software or the null device.
Definition at line 25 of file SExposedVideoData.h.

7.140.2 Member Data Documentation

7.140.2.1 struct { ... } irr::video::SExposedVideoData::D3D8

7.140.2.2 IDirect3D8∗ irr::video::SExposedVideoData::D3D8

Pointer to the IDirect3D8 interface.


Definition at line 46 of file SExposedVideoData.h.

7.140.2.3 struct { ... } irr::video::SExposedVideoData::D3D9

7.140.2.4 IDirect3D9∗ irr::video::SExposedVideoData::D3D9

Pointer to the IDirect3D9 interface.


Definition at line 32 of file SExposedVideoData.h.

7.140.2.5 IDirect3DDevice8∗ irr::video::SExposedVideoData::D3DDev8

Pointer to the IDirect3D8 interface.


Definition at line 49 of file SExposedVideoData.h.

7.140.2.6 IDirect3DDevice9∗ irr::video::SExposedVideoData::D3DDev9

Pointer to the IDirect3D9 interface.


Definition at line 35 of file SExposedVideoData.h.

7.140.2.7 s32 irr::video::SExposedVideoData::HDc

Private GDI Device Context.


Get if for example with: HDC h = reinterpret_cast<HDC>(exposedData.OpenGLWin32.HDc)
Definition at line 61 of file SExposedVideoData.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.140 irr::video::SExposedVideoData Struct Reference 721

7.140.2.8 s32 irr::video::SExposedVideoData::HRc

Permanent Rendering Context.


Get if for example with: HGLRC h = reinterpret_cast<HGLRC>(exposedData.OpenGLWin32.HRc)
Definition at line 65 of file SExposedVideoData.h.

7.140.2.9 s32 irr::video::SExposedVideoData::HWnd

Window handle.
Get with for example HWND h = reinterpret_cast<HWND>(exposedData.D3D9.HWnd)
Definition at line 69 of file SExposedVideoData.h.

7.140.2.10 struct { ... } irr::video::SExposedVideoData::OpenGLLinux

7.140.2.11 struct { ... } irr::video::SExposedVideoData::OpenGLWin32

7.140.2.12 void∗ irr::video::SExposedVideoData::X11Display

Definition at line 75 of file SExposedVideoData.h.

7.140.2.13 unsigned long irr::video::SExposedVideoData::X11Window

Definition at line 76 of file SExposedVideoData.h.


The documentation for this struct was generated from the following file:

• SExposedVideoData.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


722 Irrlicht Engine Class Documentation

7.141 irr::gui::SGUISprite Struct Reference


A sprite composed of several frames.
#include <IGUISpriteBank.h>

Public Member Functions


• SGUISprite ()

Public Attributes
• core::array< SGUISpriteFrame > Frames
• u32 frameTime

7.141.1 Detailed Description

A sprite composed of several frames.


Definition at line 32 of file IGUISpriteBank.h.

7.141.2 Constructor & Destructor Documentation

7.141.2.1 irr::gui::SGUISprite::SGUISprite () [inline]

Definition at line 34 of file IGUISpriteBank.h.


References Frames, and frameTime.

7.141.3 Member Data Documentation

7.141.3.1 core::array<SGUISpriteFrame> irr::gui::SGUISprite::Frames

Definition at line 34 of file IGUISpriteBank.h.


Referenced by SGUISprite().

7.141.3.2 u32 irr::gui::SGUISprite::frameTime

Definition at line 36 of file IGUISpriteBank.h.


Referenced by SGUISprite().
The documentation for this struct was generated from the following file:

• IGUISpriteBank.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.142 irr::gui::SGUISpriteFrame Struct Reference 723

7.142 irr::gui::SGUISpriteFrame Struct Reference


A single sprite frame.
#include <IGUISpriteBank.h>

Public Attributes
• u32 rectNumber
• u32 textureNumber

7.142.1 Detailed Description

A single sprite frame.


Definition at line 25 of file IGUISpriteBank.h.

7.142.2 Member Data Documentation

7.142.2.1 u32 irr::gui::SGUISpriteFrame::rectNumber

Definition at line 28 of file IGUISpriteBank.h.

7.142.2.2 u32 irr::gui::SGUISpriteFrame::textureNumber

Definition at line 27 of file IGUISpriteBank.h.


The documentation for this struct was generated from the following file:

• IGUISpriteBank.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


724 Irrlicht Engine Class Documentation

7.143 irr::SIrrlichtCreationParameters Struct Reference


Structure for holding advanced Irrlicht Device creation parameters.
#include <SIrrCreationParameters.h>

Public Member Functions

• SIrrlichtCreationParameters ()
Constructs a SIrrlichtCreationParameters structure with default values.

Public Attributes

• bool AntiAlias
Specifies if the device should use fullscreen anti aliasing.

• u32 Bits
Bits per pixel in fullscreen mode. Ignored if windowed mode. Default: 16.

• video::E_DRIVER_TYPE DriverType
Type of the device.

• IEventReceiver ∗ EventReceiver
A user created event receiver.

• bool Fullscreen
Should be set to true if the device should run in fullscreen.

• bool HighPrecisionFPU
Specifies if the device should use high precision FPU setting.

• const c8 ∗ SDK_version_do_not_use
Don’t use or change this parameter.

• bool Stencilbuffer
Specifies if the stencil buffer should be enabled.

• bool Vsync
Specifies vertical syncronisation.

• void ∗ WindowId
Window Id.

• core::dimension2d< s32 > WindowSize


Size of the window or the video mode in fullscreen mode. Default: 800x600.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.143 irr::SIrrlichtCreationParameters Struct Reference 725

7.143.1 Detailed Description

Structure for holding advanced Irrlicht Device creation parameters.


This structure is only used in the createDeviceEx() function.
Definition at line 12 of file SIrrCreationParameters.h.

7.143.2 Constructor & Destructor Documentation

7.143.2.1 irr::SIrrlichtCreationParameters::SIrrlichtCreationParameters () [inline]

Constructs a SIrrlichtCreationParameters structure with default values.


Definition at line 15 of file SIrrCreationParameters.h.
References AntiAlias, Bits, DriverType, EventReceiver, Fullscreen, HighPrecisionFPU, IRRLICHT_-
SDK_VERSION, SDK_version_do_not_use, Stencilbuffer, Vsync, WindowId, and WindowSize.

7.143.3 Member Data Documentation

7.143.3.1 bool irr::SIrrlichtCreationParameters::AntiAlias

Specifies if the device should use fullscreen anti aliasing.


Makes sharp/pixelated edges softer, but requires more performance. Also, 2D elements might look blurred
with this switched on. The resulting rendering quality also depends on the hardware and driver you
are using, your program might look different on different hardware with this. So if you are writing a
game/application with antiAlias switched on, it would be a good idea to make it possible to switch this
option off again by the user. This is only supported in D3D9 and D3D8. In D3D9, both sample types are
supported, D3DMULTISAMPLE_X_SAMPLES and D3DMULTISAMPLE_NONMASKABLE. Default
value: false
Definition at line 67 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.2 u32 irr::SIrrlichtCreationParameters::Bits

Bits per pixel in fullscreen mode. Ignored if windowed mode. Default: 16.
Definition at line 40 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.3 video::E_DRIVER_TYPE irr::SIrrlichtCreationParameters::DriverType

Type of the device.


This can currently be video::EDT_NULL, video::EDT_SOFTWARE, video::EDT_DIRECT3D8,
video::EDT_DIRECT3D9 and video::EDT_OPENGL. Default: Software.
Definition at line 34 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


726 Irrlicht Engine Class Documentation

7.143.3.4 IEventReceiver∗ irr::SIrrlichtCreationParameters::EventReceiver

A user created event receiver.


Definition at line 78 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.5 bool irr::SIrrlichtCreationParameters::Fullscreen

Should be set to true if the device should run in fullscreen.


Otherwise the device runs in windowed mode. Default: false.
Definition at line 44 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.6 bool irr::SIrrlichtCreationParameters::HighPrecisionFPU

Specifies if the device should use high precision FPU setting.


This is only relevant for DirectX Devices, which switch to low FPU precision by default for performance
reasons. However, this may lead to problems with the other computations of the application. In this case
setting this flag to true should help - on the expense of performance loss, though. Default value: false
Definition at line 75 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.7 const c8∗ irr::SIrrlichtCreationParameters::SDK_version_do_not_use

Don’t use or change this parameter.


Always set it to IRRLICHT_SDK_VERSION, which is done by default. This is needed for sdk version
checks.
Definition at line 133 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.8 bool irr::SIrrlichtCreationParameters::Stencilbuffer

Specifies if the stencil buffer should be enabled.


Set this to true, if you want the engine be able to draw stencil buffer shadows. Note that not all devices are
able to use the stencil buffer. If they don’t no shadows will be drawn. Default: false.
Definition at line 51 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.9 bool irr::SIrrlichtCreationParameters::Vsync

Specifies vertical syncronisation.


If set to true, the driver will wait for the vertical retrace period, otherwise not. Default: false

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.143 irr::SIrrlichtCreationParameters Struct Reference 727

Definition at line 56 of file SIrrCreationParameters.h.


Referenced by SIrrlichtCreationParameters().

7.143.3.10 void∗ irr::SIrrlichtCreationParameters::WindowId

Window Id.
If this is set to a value other than 0, the Irrlicht Engine will be created in an already existing window. For
windows, set this to the HWND of the window you want. The windowSize and FullScreen options will
be ignored when using the WindowId parameter. Default this is set to 0. To make Irrlicht run inside the
custom window, you still will have to draw Irrlicht on your own. You can use this loop, as usual:

while (device->run())
{
driver->beginScene(true, true, 0);
smgr->drawAll();
driver->endScene();
}

Instead of this, you can also simply use your own message loop using GetMessage, DispatchMessage and
whatever. Calling IrrlichtDevice::run() will cause Irrlicht to dispatch messages internally too. You need
not call Device->run() if you want to do your own message dispatching loop, but Irrlicht will not be able
to fetch user input then and you have to do it on your own using the window messages, DirectInput, or
whatever. Also, you’ll have to increment the Irrlicht timer. An alternative, own message dispatching loop
without device->run() would look like this:

MSG msg;
while (true)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);

if (msg.message == WM_QUIT)
break;
}

// increase virtual timer time


device->getTimer()->tick();

// draw engine picture


driver->beginScene(true, true, 0);
smgr->drawAll();
driver->endScene();
}

However, there is no need to draw the picture this often. Just do it how you like.
Definition at line 128 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().

7.143.3.11 core::dimension2d<s32> irr::SIrrlichtCreationParameters::WindowSize

Size of the window or the video mode in fullscreen mode. Default: 800x600.
Definition at line 37 of file SIrrCreationParameters.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


728 Irrlicht Engine Class Documentation

Referenced by SIrrlichtCreationParameters().
The documentation for this struct was generated from the following file:

• SIrrCreationParameters.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.144 irr::SKeyMap Struct Reference 729

7.144 irr::SKeyMap Struct Reference


Struct storing which key belongs to which action.
#include <SKeyMap.h>

Public Attributes
• EKEY_ACTION Action
• EKEY_CODE KeyCode

7.144.1 Detailed Description

Struct storing which key belongs to which action.


Definition at line 28 of file SKeyMap.h.

7.144.2 Member Data Documentation

7.144.2.1 EKEY_ACTION irr::SKeyMap::Action

Definition at line 30 of file SKeyMap.h.

7.144.2.2 EKEY_CODE irr::SKeyMap::KeyCode

Definition at line 31 of file SKeyMap.h.


The documentation for this struct was generated from the following file:

• SKeyMap.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


730 Irrlicht Engine Class Documentation

7.145 irr::video::SLight Struct Reference


structure for holding data describing a dynamic point light.
#include <SLight.h>

Public Member Functions


• SLight ()

Public Attributes
• SColorf AmbientColor
Ambient color emitted by the light.

• core::vector3df Attenuation
Attenuation factors (constant, linear, quadratic).

• bool CastShadows
Does the light cast shadows?

• SColorf DiffuseColor
Diffuse color emitted by the light.

• core::vector3df Direction
Read-ONLY! Direction of the light.

• f32 Falloff
The light strength’s decrease between Outer and Inner cone.

• f32 InnerCone
The angle of the spot’s inner cone. Ignored for other lights.

• f32 OuterCone
The angle of the spot’s outer cone. Ignored for other lights.

• core::vector3df Position
Read-ONLY! Position of the light.

• f32 Radius
Radius of light. Everything within this radius be be lighted.

• SColorf SpecularColor
Specular color emitted by the light.

• E_LIGHT_TYPE Type
Type of the light. Default: ELT_POINT.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.145 irr::video::SLight Struct Reference 731

7.145.1 Detailed Description

structure for holding data describing a dynamic point light.


Irrlicht supports point lights, spot lights, and directional lights.
Definition at line 38 of file SLight.h.

7.145.2 Constructor & Destructor Documentation

7.145.2.1 irr::video::SLight::SLight () [inline]

Definition at line 40 of file SLight.h.


References AmbientColor, Attenuation, CastShadows, DiffuseColor, Direction, irr::video::ELT_POINT,
Falloff, InnerCone, OuterCone, Position, Radius, SpecularColor, and Type.

7.145.3 Member Data Documentation

7.145.3.1 SColorf irr::video::SLight::AmbientColor

Ambient color emitted by the light.


Definition at line 48 of file SLight.h.
Referenced by SLight().

7.145.3.2 core::vector3df irr::video::SLight::Attenuation

Attenuation factors (constant, linear, quadratic).


Changes the light strength fading over distance
Definition at line 60 of file SLight.h.
Referenced by SLight().

7.145.3.3 bool irr::video::SLight::CastShadows

Does the light cast shadows?


Definition at line 86 of file SLight.h.
Referenced by SLight().

7.145.3.4 SColorf irr::video::SLight::DiffuseColor

Diffuse color emitted by the light.


This is the primary color you want to set.
Definition at line 52 of file SLight.h.
Referenced by SLight().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


732 Irrlicht Engine Class Documentation

7.145.3.5 core::vector3df irr::video::SLight::Direction

Read-ONLY! Direction of the light.


If Type is ELT_POINT, it is ignored. Changed via light scene node’s rotation.
Definition at line 80 of file SLight.h.
Referenced by SLight().

7.145.3.6 f32 irr::video::SLight::Falloff

The light strength’s decrease between Outer and Inner cone.


Definition at line 72 of file SLight.h.
Referenced by SLight().

7.145.3.7 f32 irr::video::SLight::InnerCone

The angle of the spot’s inner cone. Ignored for other lights.
Definition at line 69 of file SLight.h.
Referenced by SLight().

7.145.3.8 f32 irr::video::SLight::OuterCone

The angle of the spot’s outer cone. Ignored for other lights.
Definition at line 66 of file SLight.h.
Referenced by SLight().

7.145.3.9 core::vector3df irr::video::SLight::Position

Read-ONLY! Position of the light.


If Type is ELT_DIRECTIONAL, it is ignored. Changed via light scene node’s position.
Definition at line 76 of file SLight.h.
Referenced by SLight().

7.145.3.10 f32 irr::video::SLight::Radius

Radius of light. Everything within this radius be be lighted.


Definition at line 63 of file SLight.h.
Referenced by SLight().

7.145.3.11 SColorf irr::video::SLight::SpecularColor

Specular color emitted by the light.


For details how to use specular highlights, see SMaterial::Shininess

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.145 irr::video::SLight Struct Reference 733

Definition at line 56 of file SLight.h.


Referenced by SLight().

7.145.3.12 E_LIGHT_TYPE irr::video::SLight::Type

Type of the light. Default: ELT_POINT.


Definition at line 83 of file SLight.h.
Referenced by SLight().
The documentation for this struct was generated from the following file:

• SLight.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


734 Irrlicht Engine Class Documentation

7.146 irr::video::SMaterial Class Reference


Struct for holding parameters for a material renderer.
#include <SMaterial.h>

Public Member Functions


• bool getFlag (E_MATERIAL_FLAG flag) const
Gets the Material flag.

• ITexture ∗ getTexture (u32 i) const


Gets the i-th texture.

• const core::matrix4 & getTextureMatrix (u32 i) const


Gets the immutable texture transformation matrix for level i.

• core::matrix4 & getTextureMatrix (u32 i)


Gets the texture transformation matrix for level i.

• bool operator!= (const SMaterial &b) const


Inequality operator.

• SMaterial & operator= (const SMaterial &other)


Assignment operator.

• bool operator== (const SMaterial &b) const


Equality operator.

• void setFlag (E_MATERIAL_FLAG flag, bool value)


Sets the Material flag to the given value.

• void setTexture (u32 i, ITexture ∗tex)


Sets the i-th texture.

• void setTextureMatrix (u32 i, const core::matrix4 &mat)


Sets the i-th texture transformation matrix.

• SMaterial (const SMaterial &other)


Copy constructor.

• SMaterial ()
Default constructor. Creates a solid, lit material with white colors.

Public Attributes
• SColor AmbientColor
How much ambient light (a global light) is reflected by this material.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.146 irr::video::SMaterial Class Reference 735

• bool BackfaceCulling
Is backface culling enabled? Default: true.

• SColor DiffuseColor
How much diffuse light coming from a light source is reflected by this material.

• SColor EmissiveColor
Light emitted by this material. Default is to emit no light.

• bool FogEnable
Is fog enabled? Default: false.

• bool GouraudShading
Flat or Gouraud shading? Default: true.

• bool Lighting
Will this material be lighted? Default: true.

• E_MATERIAL_TYPE MaterialType
Type of the material. Specifies how everything is blended together.

• f32 MaterialTypeParam
Free parameter, dependent on the material type.

• f32 MaterialTypeParam2
Second free parameter, dependent on the material type.

• bool NormalizeNormals
Should normals be normalized? Default: false.

• bool PointCloud
Draw as point cloud or filled triangles? Default: false.

• f32 Shininess
Value affecting the size of specular highlights.

• SColor SpecularColor
How much specular light (highlights from a light) is reflected.

• SMaterialLayer TextureLayer [MATERIAL_MAX_TEXTURES]


Texture layer array.

• f32 Thickness
Thickness of non-3dimensional elements such as lines and points.

• bool Wireframe
Draw as wireframe or filled triangles? Default: false.

• u32 ZBuffer

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


736 Irrlicht Engine Class Documentation

Is the ZBuffer enabled? Default: 1.

• bool ZWriteEnable
Is the zbuffer writeable or is it read-only. Default: true.

7.146.1 Detailed Description

Struct for holding parameters for a material renderer.


Definition at line 65 of file SMaterial.h.

7.146.2 Constructor & Destructor Documentation

7.146.2.1 irr::video::SMaterial::SMaterial () [inline]

Default constructor. Creates a solid, lit material with white colors.


Definition at line 69 of file SMaterial.h.
References AmbientColor, BackfaceCulling, DiffuseColor, EmissiveColor, irr::video::EMT_SOLID, Fog-
Enable, GouraudShading, Lighting, MaterialType, MaterialTypeParam, MaterialTypeParam2, Normalize-
Normals, PointCloud, Shininess, SpecularColor, Thickness, Wireframe, ZBuffer, and ZWriteEnable.

7.146.2.2 irr::video::SMaterial::SMaterial (const SMaterial & other) [inline]

Copy constructor.

Parameters:
other Material to copy from.

Definition at line 80 of file SMaterial.h.


References irr::video::MATERIAL_MAX_TEXTURES, TextureLayer, and irr::video::SMaterial-
Layer::TextureMatrix.

7.146.3 Member Function Documentation

7.146.3.1 bool irr::video::SMaterial::getFlag (E_MATERIAL_FLAG flag) const [inline]

Gets the Material flag.

Parameters:
flag The flag to query.

Returns:
The current value of the flag.

Definition at line 331 of file SMaterial.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.146 irr::video::SMaterial Class Reference 737

References irr::video::SMaterialLayer::AnisotropicFilter, BackfaceCulling, irr::video::SMaterial-


Layer::BilinearFilter, irr::video::EMF_ANISOTROPIC_FILTER, irr::video::EMF_BACK_FACE_-
CULLING, irr::video::EMF_BILINEAR_FILTER, irr::video::EMF_FOG_ENABLE, irr::video::EMF_-
GOURAUD_SHADING, irr::video::EMF_LIGHTING, irr::video::EMF_MATERIAL_FLAG_COUNT,
irr::video::EMF_NORMALIZE_NORMALS, irr::video::EMF_POINTCLOUD, irr::video::EMF_-
TEXTURE_WRAP, irr::video::EMF_TRILINEAR_FILTER, irr::video::EMF_WIREFRAME,
irr::video::EMF_ZBUFFER, irr::video::EMF_ZWRITE_ENABLE, FogEnable, GouraudShading,
Lighting, NormalizeNormals, PointCloud, TextureLayer, irr::video::SMaterialLayer::TextureWrap,
irr::video::SMaterialLayer::TrilinearFilter, Wireframe, ZBuffer, and ZWriteEnable.

7.146.3.2 ITexture∗ irr::video::SMaterial::getTexture (u32 i) const [inline]

Gets the i-th texture.

Parameters:
i The desired level.

Returns:
Texture for texture level i, if defined, else 0.

Definition at line 255 of file SMaterial.h.


References irr::video::MATERIAL_MAX_TEXTURES, irr::video::SMaterialLayer::Texture, and Texture-
Layer.

7.146.3.3 const core::matrix4& irr::video::SMaterial::getTextureMatrix (u32 i) const [inline]

Gets the immutable texture transformation matrix for level i.

Parameters:
i The desired level.

Returns:
Texture matrix for texture level i, or identity matrix for levels larger than MATERIAL_MAX_-
TEXTURES.

Definition at line 234 of file SMaterial.h.


References irr::video::SMaterialLayer::getTextureMatrix(), irr::video::MATERIAL_MAX_TEXTURES,
and TextureLayer.

7.146.3.4 core::matrix4& irr::video::SMaterial::getTextureMatrix (u32 i) [inline]

Gets the texture transformation matrix for level i.

Parameters:
i The desired level. Must not be larger than MATERIAL_MAX_TEXTURES.

Returns:
Texture matrix for texture level i.

Definition at line 226 of file SMaterial.h.


References irr::video::SMaterialLayer::getTextureMatrix(), and TextureLayer.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


738 Irrlicht Engine Class Documentation

7.146.3.5 bool irr::video::SMaterial::operator!= (const SMaterial & b) const [inline]

Inequality operator.

Parameters:
b Material to compare to.

Returns:
True if the materials differ, else false.

Definition at line 374 of file SMaterial.h.


References AmbientColor, BackfaceCulling, DiffuseColor, EmissiveColor, FogEnable, GouraudShading,
Lighting, irr::video::MATERIAL_MAX_TEXTURES, MaterialType, MaterialTypeParam, MaterialType-
Param2, NormalizeNormals, PointCloud, Shininess, SpecularColor, TextureLayer, Thickness, Wireframe,
ZBuffer, and ZWriteEnable.

7.146.3.6 SMaterial& irr::video::SMaterial::operator= (const SMaterial & other) [inline]

Assignment operator.

Parameters:
other Material to copy from.

Definition at line 90 of file SMaterial.h.


References AmbientColor, BackfaceCulling, DiffuseColor, EmissiveColor, FogEnable, GouraudShading,
Lighting, irr::video::MATERIAL_MAX_TEXTURES, MaterialType, MaterialTypeParam, MaterialType-
Param2, NormalizeNormals, PointCloud, Shininess, SpecularColor, TextureLayer, Thickness, Wireframe,
ZBuffer, and ZWriteEnable.

7.146.3.7 bool irr::video::SMaterial::operator== (const SMaterial & b) const [inline]

Equality operator.

Parameters:
b Material to compare to.

Returns:
True if the materials are equal, else false.

Definition at line 405 of file SMaterial.h.

7.146.3.8 void irr::video::SMaterial::setFlag (E_MATERIAL_FLAG flag, bool value) [inline]

Sets the Material flag to the given value.

Parameters:
flag The flag to be set.
value The new value for the flag.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.146 irr::video::SMaterial Class Reference 739

Definition at line 277 of file SMaterial.h.


References irr::video::SMaterialLayer::AnisotropicFilter, BackfaceCulling, irr::video::SMaterial-
Layer::BilinearFilter, irr::video::EMF_ANISOTROPIC_FILTER, irr::video::EMF_BACK_FACE_-
CULLING, irr::video::EMF_BILINEAR_FILTER, irr::video::EMF_FOG_ENABLE, irr::video::EMF_-
GOURAUD_SHADING, irr::video::EMF_LIGHTING, irr::video::EMF_NORMALIZE_NORMALS,
irr::video::EMF_POINTCLOUD, irr::video::EMF_TEXTURE_WRAP, irr::video::EMF_TRILINEAR_-
FILTER, irr::video::EMF_WIREFRAME, irr::video::EMF_ZBUFFER, irr::video::EMF_-
ZWRITE_ENABLE, FogEnable, GouraudShading, Lighting, irr::video::MATERIAL_MAX_-
TEXTURES, NormalizeNormals, PointCloud, TextureLayer, irr::video::SMaterialLayer::TextureWrap,
irr::video::SMaterialLayer::TrilinearFilter, Wireframe, ZBuffer, and ZWriteEnable.
Referenced by irr::scene::ISceneNode::setMaterialFlag().

7.146.3.9 void irr::video::SMaterial::setTexture (u32 i, ITexture ∗ tex) [inline]

Sets the i-th texture.


If i>=MATERIAL_MAX_TEXTURES this setting will be ignored.

Parameters:
i The desired level.
tex Texture for texture level i.

Definition at line 267 of file SMaterial.h.


References irr::video::MATERIAL_MAX_TEXTURES, irr::video::SMaterialLayer::Texture, and Texture-
Layer.
Referenced by irr::scene::ISceneNode::setMaterialTexture().

7.146.3.10 void irr::video::SMaterial::setTextureMatrix (u32 i, const core::matrix4 & mat)


[inline]

Sets the i-th texture transformation matrix.


Parameters:
i The desired level.
mat Texture matrix for texture level i.

Definition at line 245 of file SMaterial.h.


References irr::video::MATERIAL_MAX_TEXTURES, irr::video::SMaterialLayer::setTextureMatrix(),
and TextureLayer.

7.146.4 Member Data Documentation

7.146.4.1 SColor irr::video::SMaterial::AmbientColor

How much ambient light (a global light) is reflected by this material.


The default is full white, meaning objects are completely globally illuminated. Reduce this if you want to
see diffuse or specular light effects.
Definition at line 127 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


740 Irrlicht Engine Class Documentation

7.146.4.2 bool irr::video::SMaterial::BackfaceCulling

Is backface culling enabled? Default: true.


Definition at line 209 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.3 SColor irr::video::SMaterial::DiffuseColor

How much diffuse light coming from a light source is reflected by this material.
The default is full white.
Definition at line 131 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.4 SColor irr::video::SMaterial::EmissiveColor

Light emitted by this material. Default is to emit no light.


Definition at line 134 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.5 bool irr::video::SMaterial::FogEnable

Is fog enabled? Default: false.


Definition at line 212 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.6 bool irr::video::SMaterial::GouraudShading

Flat or Gouraud shading? Default: true.


Definition at line 198 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.7 bool irr::video::SMaterial::Lighting

Will this material be lighted? Default: true.


Definition at line 201 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.8 E_MATERIAL_TYPE irr::video::SMaterial::MaterialType

Type of the material. Specifies how everything is blended together.


Definition at line 121 of file SMaterial.h.
Referenced by operator!=(), operator=(), irr::scene::ISceneNode::setMaterialType(), and SMaterial().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.146 irr::video::SMaterial Class Reference 741

7.146.4.9 f32 irr::video::SMaterial::MaterialTypeParam

Free parameter, dependent on the material type.


Mostly ignored, used for example in EMT_PARALLAX_MAP_SOLID and EMT_TRANSPARENT_-
ALPHA_CHANNEL.
Definition at line 176 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.10 f32 irr::video::SMaterial::MaterialTypeParam2

Second free parameter, dependent on the material type.


Mostly ignored.
Definition at line 180 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.11 bool irr::video::SMaterial::NormalizeNormals

Should normals be normalized? Default: false.


Definition at line 215 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.12 bool irr::video::SMaterial::PointCloud

Draw as point cloud or filled triangles? Default: false.


Definition at line 195 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.13 f32 irr::video::SMaterial::Shininess

Value affecting the size of specular highlights.


A value of 20 is common. If set to 0, no specular highlights are being used. To activate, simply set the
shininess of a material to a value other than 0:

sceneNode->getMaterial(0).Shininess = 20.0f;

You can change the color of the highlights using

sceneNode->getMaterial(0).SpecularColor.set(255,255,255,255);

The specular color of the dynamic lights (SLight::SpecularColor) will influence the the highlight color too,
but they are set to a useful value by default when creating the light scene node. Here is a simple example
on how to use specular highlights:

// load and display mesh


scene::IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode(

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


742 Irrlicht Engine Class Documentation

smgr->getMesh("data/faerie.md2"));
node->setMaterialTexture(0, driver->getTexture("data/Faerie2.pcx")); // set diffuse textur
node->setMaterialFlag(video::EMF_LIGHTING, true); // enable dynamic lighting
node->getMaterial(0).Shininess = 20.0f; // set size of specular highlights

// add white light


scene::ILightSceneNode* light = smgr->addLightSceneNode(0,
core::vector3df(5,5,5), video::SColorf(1.0f, 1.0f, 1.0f));

Definition at line 171 of file SMaterial.h.


Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.14 SColor irr::video::SMaterial::SpecularColor

How much specular light (highlights from a light) is reflected.


The default is to reflect white specular light. See SMaterial::Shininess on how to enable specular lights.
Definition at line 139 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.15 SMaterialLayer irr::video::SMaterial::TextureLayer[MATERIAL_MAX_-


TEXTURES]

Texture layer array.


Definition at line 186 of file SMaterial.h.
Referenced by getFlag(), getTexture(), getTextureMatrix(), operator!=(), operator=(), setFlag(), set-
Texture(), setTextureMatrix(), and SMaterial().

7.146.4.16 f32 irr::video::SMaterial::Thickness

Thickness of non-3dimensional elements such as lines and points.


Definition at line 183 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().

7.146.4.17 bool irr::video::SMaterial::Wireframe

Draw as wireframe or filled triangles? Default: false.


The user can access a material flag using

material.Wireframe=true

or

material.setFlag(EMF_WIREFRAME, true);

Definition at line 192 of file SMaterial.h.


Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.146 irr::video::SMaterial Class Reference 743

7.146.4.18 u32 irr::video::SMaterial::ZBuffer

Is the ZBuffer enabled? Default: 1.


Changed from bool to integer (0 == ZBuffer Off, 1 == ZBuffer LessEqual, 2 == ZBuffer Equal)
Definition at line 221 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().

7.146.4.19 bool irr::video::SMaterial::ZWriteEnable

Is the zbuffer writeable or is it read-only. Default: true.


This flag is ignored if the MaterialType is a transparent type.
Definition at line 206 of file SMaterial.h.
Referenced by getFlag(), operator!=(), operator=(), setFlag(), and SMaterial().
The documentation for this class was generated from the following file:

• SMaterial.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


744 Irrlicht Engine Class Documentation

7.147 irr::video::SMaterialLayer Class Reference


Struct for holding material parameters which exist per texture layer.
#include <SMaterialLayer.h>

Public Member Functions


• const core::matrix4 & getTextureMatrix () const
Gets the immutable texture transformation matrix.

• core::matrix4 & getTextureMatrix ()


Gets the texture transformation matrix.

• bool operator!= (const SMaterialLayer &b) const


Inequality operator.

• SMaterialLayer & operator= (const SMaterialLayer &other)


Assignment operator.

• bool operator== (const SMaterialLayer &b) const


Equality operator.

• void setTextureMatrix (const core::matrix4 &mat)


Sets the texture transformation matrix to mat.

• SMaterialLayer (const SMaterialLayer &other)


Copy constructor.

• SMaterialLayer ()
Default constructor.

• ∼SMaterialLayer ()
Destructor.

Public Attributes
• bool AnisotropicFilter
Is anisotropic filtering enabled? Default: false.

• bool BilinearFilter
Is bilinear filtering enabled? Default: true.

• ITexture ∗ Texture
Texture.

• core::matrix4 ∗ TextureMatrix
Texture Matrix.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.147 irr::video::SMaterialLayer Class Reference 745

• E_TEXTURE_CLAMP TextureWrap
Texture Clamp Mode.

• bool TrilinearFilter
Is trilinear filtering enabled? Default: false.

7.147.1 Detailed Description

Struct for holding material parameters which exist per texture layer.
Definition at line 38 of file SMaterialLayer.h.

7.147.2 Constructor & Destructor Documentation

7.147.2.1 irr::video::SMaterialLayer::SMaterialLayer () [inline]

Default constructor.
Definition at line 42 of file SMaterialLayer.h.
References AnisotropicFilter, BilinearFilter, irr::video::ETC_REPEAT, Texture, TextureMatrix, Texture-
Wrap, and TrilinearFilter.

7.147.2.2 irr::video::SMaterialLayer::SMaterialLayer (const SMaterialLayer & other)


[inline]

Copy constructor.

Parameters:
other Material layer to copy from.

Definition at line 52 of file SMaterialLayer.h.


References TextureMatrix.

7.147.2.3 irr::video::SMaterialLayer::∼SMaterialLayer () [inline]

Destructor.
Definition at line 60 of file SMaterialLayer.h.
References TextureMatrix.

7.147.3 Member Function Documentation

7.147.3.1 const core::matrix4& irr::video::SMaterialLayer::getTextureMatrix () const


[inline]

Gets the immutable texture transformation matrix.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


746 Irrlicht Engine Class Documentation

Returns:
Texture matrix of this layer.

Definition at line 133 of file SMaterialLayer.h.


References TextureMatrix.

7.147.3.2 core::matrix4& irr::video::SMaterialLayer::getTextureMatrix () [inline]

Gets the texture transformation matrix.

Returns:
Texture matrix of this layer.

Definition at line 124 of file SMaterialLayer.h.


References TextureMatrix.
Referenced by irr::video::SMaterial::getTextureMatrix().

7.147.3.3 bool irr::video::SMaterialLayer::operator!= (const SMaterialLayer & b) const


[inline]

Inequality operator.

Parameters:
b Layer to compare to.

Returns:
True if layers are different, else false.

Definition at line 154 of file SMaterialLayer.h.


References AnisotropicFilter, BilinearFilter, Texture, TextureMatrix, TextureWrap, and TrilinearFilter.

7.147.3.4 SMaterialLayer& irr::video::SMaterialLayer::operator= (const SMaterialLayer &


other) [inline]

Assignment operator.

Parameters:
other Material layer to copy from.

Returns:
This material layer, updated.

Definition at line 68 of file SMaterialLayer.h.


References AnisotropicFilter, BilinearFilter, Texture, TextureMatrix, TextureWrap, and TrilinearFilter.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.147 irr::video::SMaterialLayer Class Reference 747

7.147.3.5 bool irr::video::SMaterialLayer::operator== (const SMaterialLayer & b) const


[inline]

Equality operator.

Parameters:
b Layer to compare to.

Returns:
True if layers are equal, else false.

Definition at line 174 of file SMaterialLayer.h.

7.147.3.6 void irr::video::SMaterialLayer::setTextureMatrix (const core::matrix4 & mat)


[inline]

Sets the texture transformation matrix to mat.

Parameters:
mat New texture matrix for this layer.

Definition at line 143 of file SMaterialLayer.h.


References TextureMatrix.
Referenced by irr::video::SMaterial::setTextureMatrix().

7.147.4 Member Data Documentation

7.147.4.1 bool irr::video::SMaterialLayer::AnisotropicFilter

Is anisotropic filtering enabled? Default: false.


In Irrlicht you can use anisotropic texture filtering in conjunction with bilinear or trilinear texture filtering
to improve rendering results. Primitives will look less blurry with this flag switched on.
Definition at line 120 of file SMaterialLayer.h.
Referenced by irr::video::SMaterial::getFlag(), operator!=(), operator=(), irr::video::SMaterial::setFlag(),
and SMaterialLayer().

7.147.4.2 bool irr::video::SMaterialLayer::BilinearFilter

Is bilinear filtering enabled? Default: true.


Definition at line 108 of file SMaterialLayer.h.
Referenced by irr::video::SMaterial::getFlag(), operator!=(), operator=(), irr::video::SMaterial::setFlag(),
and SMaterialLayer().

7.147.4.3 ITexture∗ irr::video::SMaterialLayer::Texture

Texture.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


748 Irrlicht Engine Class Documentation

Definition at line 97 of file SMaterialLayer.h.


Referenced by irr::video::SMaterial::getTexture(), operator!=(), operator=(), irr::video::SMaterial::set-
Texture(), and SMaterialLayer().

7.147.4.4 core::matrix4∗ irr::video::SMaterialLayer::TextureMatrix

Texture Matrix.
Do not access this element directly as the internal ressource management has to cope with Null pointers
etc.
Definition at line 102 of file SMaterialLayer.h.
Referenced by getTextureMatrix(), operator!=(), operator=(), setTextureMatrix(),
irr::video::SMaterial::SMaterial(), SMaterialLayer(), and ∼SMaterialLayer().

7.147.4.5 E_TEXTURE_CLAMP irr::video::SMaterialLayer::TextureWrap

Texture Clamp Mode.


Definition at line 105 of file SMaterialLayer.h.
Referenced by irr::video::SMaterial::getFlag(), operator!=(), operator=(), irr::video::SMaterial::setFlag(),
and SMaterialLayer().

7.147.4.6 bool irr::video::SMaterialLayer::TrilinearFilter

Is trilinear filtering enabled? Default: false.


If the trilinear filter flag is enabled, the bilinear filtering flag is ignored.
Definition at line 113 of file SMaterialLayer.h.
Referenced by irr::video::SMaterial::getFlag(), operator!=(), operator=(), irr::video::SMaterial::setFlag(),
and SMaterialLayer().
The documentation for this class was generated from the following file:

• SMaterialLayer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.148 irr::scene::SMD3AnimationInfo Struct Reference 749

7.148 irr::scene::SMD3AnimationInfo Struct Reference


#include <IAnimatedMeshMD3.h>

Public Attributes
• s32 first
First frame.

• s32 fps
Frames per second.

• s32 looping
Looping frames.

• s32 num
Last frame.

7.148.1 Member Data Documentation

7.148.1.1 s32 irr::scene::SMD3AnimationInfo::first

First frame.
Definition at line 67 of file IAnimatedMeshMD3.h.

7.148.1.2 s32 irr::scene::SMD3AnimationInfo::fps

Frames per second.


Definition at line 73 of file IAnimatedMeshMD3.h.

7.148.1.3 s32 irr::scene::SMD3AnimationInfo::looping

Looping frames.
Definition at line 71 of file IAnimatedMeshMD3.h.

7.148.1.4 s32 irr::scene::SMD3AnimationInfo::num

Last frame.
Definition at line 69 of file IAnimatedMeshMD3.h.
The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


750 Irrlicht Engine Class Documentation

7.149 irr::scene::SMD3Face Struct Reference


Triangle Index.
#include <IAnimatedMeshMD3.h>

Public Attributes
• s32 Index [3]

7.149.1 Detailed Description

Triangle Index.
Definition at line 138 of file IAnimatedMeshMD3.h.

7.149.2 Member Data Documentation

7.149.2.1 s32 irr::scene::SMD3Face::Index[3]

Definition at line 140 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.150 irr::scene::SMD3Header Struct Reference 751

7.150 irr::scene::SMD3Header Struct Reference


this holds the header info of the MD3 file
#include <IAnimatedMeshMD3.h>

Public Attributes
• s8 fileName [68]
• s32 fileSize
• c8 headerID [4]
• s32 headerSize
• s32 numFrames
• s32 numMaxSkins
• s32 numMeshes
• s32 numTags
• s32 tagEnd
• s32 tagStart
• s32 Version

7.150.1 Detailed Description

this holds the header info of the MD3 file


Definition at line 89 of file IAnimatedMeshMD3.h.

7.150.2 Member Data Documentation

7.150.2.1 s8 irr::scene::SMD3Header::fileName[68]

Definition at line 93 of file IAnimatedMeshMD3.h.

7.150.2.2 s32 irr::scene::SMD3Header::fileSize

Definition at line 101 of file IAnimatedMeshMD3.h.

7.150.2.3 c8 irr::scene::SMD3Header::headerID[4]

Definition at line 91 of file IAnimatedMeshMD3.h.

7.150.2.4 s32 irr::scene::SMD3Header::headerSize

Definition at line 98 of file IAnimatedMeshMD3.h.

7.150.2.5 s32 irr::scene::SMD3Header::numFrames

Definition at line 94 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


752 Irrlicht Engine Class Documentation

7.150.2.6 s32 irr::scene::SMD3Header::numMaxSkins

Definition at line 97 of file IAnimatedMeshMD3.h.

7.150.2.7 s32 irr::scene::SMD3Header::numMeshes

Definition at line 96 of file IAnimatedMeshMD3.h.

7.150.2.8 s32 irr::scene::SMD3Header::numTags

Definition at line 95 of file IAnimatedMeshMD3.h.

7.150.2.9 s32 irr::scene::SMD3Header::tagEnd

Definition at line 100 of file IAnimatedMeshMD3.h.

7.150.2.10 s32 irr::scene::SMD3Header::tagStart

Definition at line 99 of file IAnimatedMeshMD3.h.

7.150.2.11 s32 irr::scene::SMD3Header::Version

Definition at line 92 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.151 irr::scene::SMD3Mesh Struct Reference 753

7.151 irr::scene::SMD3Mesh Struct Reference


Holding Frames Buffers and Tag Infos.
#include <IAnimatedMeshMD3.h>
Inheritance diagram for irr::scene::SMD3Mesh::

irr::IReferenceCounted

irr::scene::SMD3Mesh

Public Member Functions


• ∼SMD3Mesh ()

Public Attributes
• core::array< SMD3MeshBuffer ∗ > Buffer
• SMD3Header MD3Header
• core::stringc Name
• SMD3QuaterionTagList TagList

7.151.1 Detailed Description

Holding Frames Buffers and Tag Infos.


Definition at line 230 of file IAnimatedMeshMD3.h.

7.151.2 Constructor & Destructor Documentation

7.151.2.1 irr::scene::SMD3Mesh::∼SMD3Mesh () [inline]

Definition at line 232 of file IAnimatedMeshMD3.h.


References Buffer, and irr::core::array< T, TAlloc >::size().

7.151.3 Member Data Documentation

7.151.3.1 core::array< SMD3MeshBuffer ∗ > irr::scene::SMD3Mesh::Buffer

Definition at line 240 of file IAnimatedMeshMD3.h.


Referenced by ∼SMD3Mesh().

7.151.3.2 SMD3Header irr::scene::SMD3Mesh::MD3Header

Definition at line 236 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


754 Irrlicht Engine Class Documentation

7.151.3.3 core::stringc irr::scene::SMD3Mesh::Name

Definition at line 239 of file IAnimatedMeshMD3.h.

7.151.3.4 SMD3QuaterionTagList irr::scene::SMD3Mesh::TagList

Definition at line 241 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.152 irr::scene::SMD3MeshBuffer Struct Reference 755

7.152 irr::scene::SMD3MeshBuffer Struct Reference

Holding Frame Data for a Mesh.


#include <IAnimatedMeshMD3.h>
Inheritance diagram for irr::scene::SMD3MeshBuffer::

irr::IReferenceCounted

irr::scene::SMD3MeshBuffer

Public Attributes

• core::array< s32 > Indices


• SMD3MeshHeader MeshHeader
• core::array< core::stringc > Shader
• core::array< SMD3TexCoord > Tex
• core::array< SMD3Vertex > Vertices

7.152.1 Detailed Description

Holding Frame Data for a Mesh.


Definition at line 152 of file IAnimatedMeshMD3.h.

7.152.2 Member Data Documentation

7.152.2.1 core::array< s32 > irr::scene::SMD3MeshBuffer::Indices

Definition at line 157 of file IAnimatedMeshMD3.h.

7.152.2.2 SMD3MeshHeader irr::scene::SMD3MeshBuffer::MeshHeader

Definition at line 154 of file IAnimatedMeshMD3.h.

7.152.2.3 core::array< core::stringc > irr::scene::SMD3MeshBuffer::Shader

Definition at line 156 of file IAnimatedMeshMD3.h.

7.152.2.4 core::array< SMD3TexCoord > irr::scene::SMD3MeshBuffer::Tex

Definition at line 159 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


756 Irrlicht Engine Class Documentation

7.152.2.5 core::array< SMD3Vertex > irr::scene::SMD3MeshBuffer::Vertices

Definition at line 158 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.153 irr::scene::SMD3MeshHeader Struct Reference 757

7.153 irr::scene::SMD3MeshHeader Struct Reference


this holds the header info of an MD3 mesh section
#include <IAnimatedMeshMD3.h>

Public Attributes
• c8 meshID [4]
• c8 meshName [68]
• s32 numFrames
• s32 numShader
• s32 numTriangles
• s32 numVertices
• s32 offset_end
• s32 offset_shaders
• s32 offset_st
• s32 offset_triangles
• s32 vertexStart

7.153.1 Detailed Description

this holds the header info of an MD3 mesh section


Definition at line 105 of file IAnimatedMeshMD3.h.

7.153.2 Member Data Documentation

7.153.2.1 c8 irr::scene::SMD3MeshHeader::meshID[4]

Definition at line 107 of file IAnimatedMeshMD3.h.

7.153.2.2 c8 irr::scene::SMD3MeshHeader::meshName[68]

Definition at line 108 of file IAnimatedMeshMD3.h.

7.153.2.3 s32 irr::scene::SMD3MeshHeader::numFrames

Definition at line 110 of file IAnimatedMeshMD3.h.

7.153.2.4 s32 irr::scene::SMD3MeshHeader::numShader

Definition at line 111 of file IAnimatedMeshMD3.h.

7.153.2.5 s32 irr::scene::SMD3MeshHeader::numTriangles

Definition at line 113 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


758 Irrlicht Engine Class Documentation

7.153.2.6 s32 irr::scene::SMD3MeshHeader::numVertices

Definition at line 112 of file IAnimatedMeshMD3.h.

7.153.2.7 s32 irr::scene::SMD3MeshHeader::offset_end

Definition at line 119 of file IAnimatedMeshMD3.h.

7.153.2.8 s32 irr::scene::SMD3MeshHeader::offset_shaders

Definition at line 116 of file IAnimatedMeshMD3.h.

7.153.2.9 s32 irr::scene::SMD3MeshHeader::offset_st

Definition at line 117 of file IAnimatedMeshMD3.h.

7.153.2.10 s32 irr::scene::SMD3MeshHeader::offset_triangles

Definition at line 115 of file IAnimatedMeshMD3.h.

7.153.2.11 s32 irr::scene::SMD3MeshHeader::vertexStart

Definition at line 118 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.154 irr::scene::SMD3QuaterionTag Struct Reference 759

7.154 irr::scene::SMD3QuaterionTag Struct Reference


hold a tag info for connecting meshes
#include <IAnimatedMeshMD3.h>

Public Member Functions

• bool operator== (const SMD3QuaterionTag &other) const


• void setto (core::matrix4 &m)
• SMD3QuaterionTag (const core::vector3df &pos, const core::vector3df &angle)
• SMD3QuaterionTag (const core::stringc &name, const core::matrix4 &m)
• SMD3QuaterionTag (const core::stringc &name)
• SMD3QuaterionTag ()

Public Attributes

• core::stringc Name
• core::vector3df position
• core::quaternion rotation

7.154.1 Detailed Description

hold a tag info for connecting meshes


Basically its an alternate way to describe a transformation.
Definition at line 164 of file IAnimatedMeshMD3.h.

7.154.2 Constructor & Destructor Documentation

7.154.2.1 irr::scene::SMD3QuaterionTag::SMD3QuaterionTag () [inline]

Definition at line 166 of file IAnimatedMeshMD3.h.

7.154.2.2 irr::scene::SMD3QuaterionTag::SMD3QuaterionTag (const core::stringc & name)


[inline]

Definition at line 168 of file IAnimatedMeshMD3.h.


References Name.

7.154.2.3 irr::scene::SMD3QuaterionTag::SMD3QuaterionTag (const core::stringc & name, const


core::matrix4 & m) [inline]

Definition at line 172 of file IAnimatedMeshMD3.h.


References Name, position, and rotation.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


760 Irrlicht Engine Class Documentation

7.154.2.4 irr::scene::SMD3QuaterionTag::SMD3QuaterionTag (const core::vector3df & pos,


const core::vector3df & angle) [inline]

Definition at line 187 of file IAnimatedMeshMD3.h.


References position, rotation, and irr::core::quaternion::set().

7.154.3 Member Function Documentation

7.154.3.1 bool irr::scene::SMD3QuaterionTag::operator== (const SMD3QuaterionTag & other)


const [inline]

Definition at line 193 of file IAnimatedMeshMD3.h.


References Name.

7.154.3.2 void irr::scene::SMD3QuaterionTag::setto (core::matrix4 & m) [inline]

Definition at line 180 of file IAnimatedMeshMD3.h.


References irr::core::quaternion::getMatrix(), position, and rotation.

7.154.4 Member Data Documentation

7.154.4.1 core::stringc irr::scene::SMD3QuaterionTag::Name

Definition at line 198 of file IAnimatedMeshMD3.h.


Referenced by operator==(), and SMD3QuaterionTag().

7.154.4.2 core::vector3df irr::scene::SMD3QuaterionTag::position

Definition at line 199 of file IAnimatedMeshMD3.h.


Referenced by setto(), and SMD3QuaterionTag().

7.154.4.3 core::quaternion irr::scene::SMD3QuaterionTag::rotation

Definition at line 200 of file IAnimatedMeshMD3.h.


Referenced by setto(), and SMD3QuaterionTag().
The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.155 irr::scene::SMD3QuaterionTagList Struct Reference 761

7.155 irr::scene::SMD3QuaterionTagList Struct Reference


holds a associative list of named quaternions
#include <IAnimatedMeshMD3.h>
Inheritance diagram for irr::scene::SMD3QuaterionTagList::

irr::IReferenceCounted

irr::scene::SMD3QuaterionTagList

Public Member Functions


• SMD3QuaterionTag ∗ get (const core::stringc &name)
• SMD3QuaterionTag & operator[ ] (u32 index)
• u32 size () const

Public Attributes
• core::array< SMD3QuaterionTag > Container

7.155.1 Detailed Description

holds a associative list of named quaternions


Definition at line 204 of file IAnimatedMeshMD3.h.

7.155.2 Member Function Documentation

7.155.2.1 SMD3QuaterionTag∗ irr::scene::SMD3QuaterionTagList::get (const core::stringc &


name) [inline]

Definition at line 206 of file IAnimatedMeshMD3.h.


References Container, and irr::core::array< T, TAlloc >::linear_search().

7.155.2.2 ]

SMD3QuaterionTag& irr::scene::SMD3QuaterionTagList::operator[ ] (u32 index) [inline]


Definition at line 220 of file IAnimatedMeshMD3.h.
References Container.

7.155.2.3 u32 irr::scene::SMD3QuaterionTagList::size () const [inline]

Definition at line 215 of file IAnimatedMeshMD3.h.


References Container, and irr::core::array< T, TAlloc >::size().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


762 Irrlicht Engine Class Documentation

7.155.3 Member Data Documentation

7.155.3.1 core::array< SMD3QuaterionTag > irr::scene::SMD3QuaterionTagList::Container

Definition at line 225 of file IAnimatedMeshMD3.h.


Referenced by get(), operator[ ](), and size().
The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.156 irr::scene::SMD3TexCoord Struct Reference 763

7.156 irr::scene::SMD3TexCoord Struct Reference


Texture Coordinate.
#include <IAnimatedMeshMD3.h>

Public Attributes
• f32 u
• f32 v

7.156.1 Detailed Description

Texture Coordinate.
Definition at line 131 of file IAnimatedMeshMD3.h.

7.156.2 Member Data Documentation

7.156.2.1 f32 irr::scene::SMD3TexCoord::u

Definition at line 133 of file IAnimatedMeshMD3.h.

7.156.2.2 f32 irr::scene::SMD3TexCoord::v

Definition at line 134 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


764 Irrlicht Engine Class Documentation

7.157 irr::scene::SMD3Vertex Struct Reference


Compressed Vertex Data.
#include <IAnimatedMeshMD3.h>

Public Attributes
• u8 normal [2]
• s16 position [3]

7.157.1 Detailed Description

Compressed Vertex Data.


Definition at line 124 of file IAnimatedMeshMD3.h.

7.157.2 Member Data Documentation

7.157.2.1 u8 irr::scene::SMD3Vertex::normal[2]

Definition at line 127 of file IAnimatedMeshMD3.h.

7.157.2.2 s16 irr::scene::SMD3Vertex::position[3]

Definition at line 126 of file IAnimatedMeshMD3.h.


The documentation for this struct was generated from the following file:

• IAnimatedMeshMD3.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.158 irr::scene::SMesh Struct Reference 765

7.158 irr::scene::SMesh Struct Reference


Simple implementation of the IMesh interface.
#include <SMesh.h>
Inheritance diagram for irr::scene::SMesh::

irr::IReferenceCounted

irr::scene::IMesh

irr::scene::SMesh

Public Member Functions

• void addMeshBuffer (IMeshBuffer ∗buf)


adds a MeshBuffer

• virtual const core::aabbox3d< f32 > & getBoundingBox () const


returns an axis aligned bounding box

• virtual IMeshBuffer ∗ getMeshBuffer (const video::SMaterial &material) const


returns a meshbuffer which fits a material

• virtual IMeshBuffer ∗ getMeshBuffer (u32 nr) const


returns pointer to a mesh buffer

• virtual u32 getMeshBufferCount () const


returns amount of mesh buffers.

• void recalculateBoundingBox ()
recalculates the bounding box

• virtual void setBoundingBox (const core::aabbox3df &box)


set user axis aligned bounding box

• virtual void setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)


sets a flag of all contained materials to a new value

• SMesh ()
constructor

• virtual ∼SMesh ()
destructor

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


766 Irrlicht Engine Class Documentation

Public Attributes
• core::aabbox3d< f32 > BoundingBox
The bounding box of this mesh.

• core::array< IMeshBuffer ∗ > MeshBuffers


The meshbuffers of this mesh.

7.158.1 Detailed Description

Simple implementation of the IMesh interface.


Definition at line 18 of file SMesh.h.

7.158.2 Constructor & Destructor Documentation

7.158.2.1 irr::scene::SMesh::SMesh () [inline]

constructor
Definition at line 21 of file SMesh.h.
References irr::IReferenceCounted::setDebugName().

7.158.2.2 virtual irr::scene::SMesh::∼SMesh () [inline, virtual]

destructor
Definition at line 29 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().

7.158.3 Member Function Documentation

7.158.3.1 void irr::scene::SMesh::addMeshBuffer (IMeshBuffer ∗ buf) [inline]

adds a MeshBuffer
Definition at line 87 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::push_back().

7.158.3.2 virtual const core::aabbox3d<f32>& irr::scene::SMesh::getBoundingBox () const


[inline, virtual]

returns an axis aligned bounding box


Implements irr::scene::IMesh.
Definition at line 62 of file SMesh.h.
References BoundingBox.
Referenced by recalculateBoundingBox().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.158 irr::scene::SMesh Struct Reference 767

7.158.3.3 virtual IMeshBuffer∗ irr::scene::SMesh::getMeshBuffer (const video::SMaterial &


material) const [inline, virtual]

returns a meshbuffer which fits a material


reverse search
Implements irr::scene::IMesh.
Definition at line 50 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().

7.158.3.4 virtual IMeshBuffer∗ irr::scene::SMesh::getMeshBuffer (u32 nr) const [inline,


virtual]

returns pointer to a mesh buffer


Implements irr::scene::IMesh.
Definition at line 43 of file SMesh.h.
References MeshBuffers.

7.158.3.5 virtual u32 irr::scene::SMesh::getMeshBufferCount () const [inline, virtual]

returns amount of mesh buffers.


Implements irr::scene::IMesh.
Definition at line 37 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().

7.158.3.6 void irr::scene::SMesh::recalculateBoundingBox () [inline]

recalculates the bounding box


Definition at line 74 of file SMesh.h.
References irr::core::aabbox3d< T >::addInternalBox(), BoundingBox, getBoundingBox(), MeshBuffers,
irr::core::aabbox3d< T >::reset(), and irr::core::array< T, TAlloc >::size().

7.158.3.7 virtual void irr::scene::SMesh::setBoundingBox (const core::aabbox3df & box)


[inline, virtual]

set user axis aligned bounding box


Implements irr::scene::IMesh.
Definition at line 68 of file SMesh.h.
References BoundingBox.

7.158.3.8 virtual void irr::scene::SMesh::setMaterialFlag (video::E_MATERIAL_FLAG flag,


bool newvalue) [inline, virtual]

sets a flag of all contained materials to a new value

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


768 Irrlicht Engine Class Documentation

Implements irr::scene::IMesh.
Definition at line 97 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().

7.158.4 Member Data Documentation

7.158.4.1 core::aabbox3d<f32> irr::scene::SMesh::BoundingBox

The bounding box of this mesh.


Definition at line 106 of file SMesh.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

7.158.4.2 core::array<IMeshBuffer∗> irr::scene::SMesh::MeshBuffers

The meshbuffers of this mesh.


Definition at line 104 of file SMesh.h.
Referenced by addMeshBuffer(), getMeshBuffer(), getMeshBufferCount(), recalculateBoundingBox(),
setMaterialFlag(), and ∼SMesh().
The documentation for this struct was generated from the following file:

• SMesh.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.159 irr::scene::quake3::SModifierFunction Struct Reference 769

7.159 irr::scene::quake3::SModifierFunction Struct Reference


#include <IQ3Shader.h>

Public Member Functions

• f32 evaluate (f32 dt) const


• SModifierFunction ()

Public Attributes

• s32 func
• s32 masterfunc0
• s32 masterfunc1
• f32 phase
• s32 tcgen
• f32 wave
• f32 amp
• f32 base
• f32 bulgeheight
• f32 bulgespeed
• f32 bulgewidth
• f32 freq

7.159.1 Constructor & Destructor Documentation

7.159.1.1 irr::scene::quake3::SModifierFunction::SModifierFunction () [inline]

Definition at line 300 of file IQ3Shader.h.


References amp, base, freq, func, masterfunc0, masterfunc1, phase, tcgen, and wave.

7.159.2 Member Function Documentation

7.159.2.1 f32 irr::scene::quake3::SModifierFunction::evaluate (f32 dt) const [inline]

Definition at line 335 of file IQ3Shader.h.


References amp, base, irr::core::fract(), freq, func, and phase.

7.159.3 Member Data Documentation

7.159.3.1 f32 irr::scene::quake3::SModifierFunction::amp

Definition at line 321 of file IQ3Shader.h.


Referenced by evaluate(), and SModifierFunction().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


770 Irrlicht Engine Class Documentation

7.159.3.2 f32 irr::scene::quake3::SModifierFunction::base

Definition at line 315 of file IQ3Shader.h.


Referenced by evaluate(), and SModifierFunction().

7.159.3.3 f32 irr::scene::quake3::SModifierFunction::bulgeheight

Definition at line 322 of file IQ3Shader.h.

7.159.3.4 f32 irr::scene::quake3::SModifierFunction::bulgespeed

Definition at line 330 of file IQ3Shader.h.

7.159.3.5 f32 irr::scene::quake3::SModifierFunction::bulgewidth

Definition at line 316 of file IQ3Shader.h.

7.159.3.6 f32 irr::scene::quake3::SModifierFunction::freq

Definition at line 329 of file IQ3Shader.h.


Referenced by evaluate(), and SModifierFunction().

7.159.3.7 s32 irr::scene::quake3::SModifierFunction::func

Definition at line 309 of file IQ3Shader.h.


Referenced by evaluate(), and SModifierFunction().

7.159.3.8 s32 irr::scene::quake3::SModifierFunction::masterfunc0

Definition at line 305 of file IQ3Shader.h.


Referenced by SModifierFunction().

7.159.3.9 s32 irr::scene::quake3::SModifierFunction::masterfunc1

Definition at line 307 of file IQ3Shader.h.


Referenced by SModifierFunction().

7.159.3.10 f32 irr::scene::quake3::SModifierFunction::phase

Definition at line 325 of file IQ3Shader.h.


Referenced by evaluate(), and SModifierFunction().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.159 irr::scene::quake3::SModifierFunction Struct Reference 771

7.159.3.11 s32 irr::scene::quake3::SModifierFunction::tcgen

Definition at line 311 of file IQ3Shader.h.


Referenced by SModifierFunction().

7.159.3.12 f32 irr::scene::quake3::SModifierFunction::wave

Definition at line 333 of file IQ3Shader.h.


Referenced by SModifierFunction().
The documentation for this struct was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


772 Irrlicht Engine Class Documentation

7.160 irr::scene::SParticle Struct Reference


Struct for holding particle data.
#include <SParticle.h>

Public Attributes
• video::SColor color
Current color of the particle.

• u32 endTime
End life time of the particle.

• core::vector3df pos
Position of the particle.

• video::SColor startColor
Original color of the particle.

• u32 startTime
Start life time of the particle.

• core::vector3df startVector
Original direction and speed of the particle.

• core::vector3df vector
Direction and speed of the particle.

7.160.1 Detailed Description

Struct for holding particle data.


Definition at line 16 of file SParticle.h.

7.160.2 Member Data Documentation

7.160.2.1 video::SColor irr::scene::SParticle::color

Current color of the particle.


Definition at line 31 of file SParticle.h.

7.160.2.2 u32 irr::scene::SParticle::endTime

End life time of the particle.


Definition at line 28 of file SParticle.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.160 irr::scene::SParticle Struct Reference 773

7.160.2.3 core::vector3df irr::scene::SParticle::pos

Position of the particle.


Definition at line 19 of file SParticle.h.

7.160.2.4 video::SColor irr::scene::SParticle::startColor

Original color of the particle.


That’s the color of the particle it had when it was emitted.
Definition at line 35 of file SParticle.h.

7.160.2.5 u32 irr::scene::SParticle::startTime

Start life time of the particle.


Definition at line 25 of file SParticle.h.

7.160.2.6 core::vector3df irr::scene::SParticle::startVector

Original direction and speed of the particle.


The direction and speed the particle had when it was emitted.
Definition at line 39 of file SParticle.h.

7.160.2.7 core::vector3df irr::scene::SParticle::vector

Direction and speed of the particle.


Definition at line 22 of file SParticle.h.
The documentation for this struct was generated from the following file:

• SParticle.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


774 Irrlicht Engine Class Documentation

7.161 irr::scene::quake3::SShader Class Reference

A Parsed Shader Holding Variables ordered in Groups.


#include <IQ3Shader.h>

Public Member Functions

• const SVarGroup ∗ getGroup (u32 stage) const


• bool operator< (const SShader &other) const
• bool operator== (const SShader &other) const

Public Attributes

• s32 id
• core::stringc name
• SVarGroupList ∗ VarGroup

7.161.1 Detailed Description

A Parsed Shader Holding Variables ordered in Groups.


Definition at line 448 of file IQ3Shader.h.

7.161.2 Member Function Documentation

7.161.2.1 const SVarGroup∗ irr::scene::quake3::SShader::getGroup (u32 stage) const


[inline]

Definition at line 461 of file IQ3Shader.h.


References irr::core::array< T, TAlloc >::size(), VarGroup, and irr::scene::quake3::SVarGroup-
List::VariableGroup.

7.161.2.2 bool irr::scene::quake3::SShader::operator< (const SShader & other) const


[inline]

Definition at line 456 of file IQ3Shader.h.


References name.

7.161.2.3 bool irr::scene::quake3::SShader::operator== (const SShader & other) const


[inline]

Definition at line 451 of file IQ3Shader.h.


References name.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.161 irr::scene::quake3::SShader Class Reference 775

7.161.3 Member Data Documentation

7.161.3.1 s32 irr::scene::quake3::SShader::id

Definition at line 470 of file IQ3Shader.h.

7.161.3.2 core::stringc irr::scene::quake3::SShader::name

Definition at line 474 of file IQ3Shader.h.


Referenced by operator<(), and operator==().

7.161.3.3 SVarGroupList∗ irr::scene::quake3::SShader::VarGroup

Definition at line 475 of file IQ3Shader.h.


Referenced by getGroup().
The documentation for this class was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


776 Irrlicht Engine Class Documentation

7.162 irr::scene::SSharedMeshBuffer Struct Reference


Implementation of the IMeshBuffer interface with shared vertex list.
#include <SSharedMeshBuffer.h>
Inheritance diagram for irr::scene::SSharedMeshBuffer::

irr::IReferenceCounted

irr::scene::IMeshBuffer

irr::scene::SSharedMeshBuffer

Public Member Functions


• virtual void append (const IMeshBuffer ∗const other)
append the meshbuffer to the current buffer

• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
append the vertices and indices to the current buffer

• virtual const core::aabbox3d< f32 > & getBoundingBox () const


returns an axis aligned bounding box

• virtual u32 getIndexCount () const


returns amount of indices

• virtual u16 ∗ getIndices ()


returns pointer to Indices

• virtual const u16 ∗ getIndices () const


returns pointer to Indices

• virtual video::SMaterial & getMaterial ()


returns the material of this meshbuffer

• virtual const video::SMaterial & getMaterial () const


returns the material of this meshbuffer

• virtual u32 getVertexCount () const


returns amount of vertices

• virtual video::E_VERTEX_TYPE getVertexType () const


returns which type of vertex data is stored.

• virtual void ∗ getVertices ()

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.162 irr::scene::SSharedMeshBuffer Struct Reference 777

returns pointer to vertices

• virtual const void ∗ getVertices () const


returns pointer to vertices

• virtual void recalculateBoundingBox ()


recalculates the bounding box. should be called if the mesh changed.

• virtual void setBoundingBox (const core::aabbox3df &box)


set user axis aligned bounding box

• SSharedMeshBuffer (core::array< video::S3DVertex > ∗vertices)


constructor

• SSharedMeshBuffer ()
constructor

• virtual ∼SSharedMeshBuffer ()
destructor

Public Attributes
• core::aabbox3df BoundingBox
Bounding box.

• core::array< u16 > Indices


Array of Indices.

• video::SMaterial Material
material of this meshBuffer

• core::array< video::S3DVertex > ∗ Vertices


Shared Array of vertices.

7.162.1 Detailed Description

Implementation of the IMeshBuffer interface with shared vertex list.


Definition at line 16 of file SSharedMeshBuffer.h.

7.162.2 Constructor & Destructor Documentation

7.162.2.1 irr::scene::SSharedMeshBuffer::SSharedMeshBuffer () [inline]

constructor
Definition at line 19 of file SSharedMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and Vertices.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


778 Irrlicht Engine Class Documentation

7.162.2.2 irr::scene::SSharedMeshBuffer::SSharedMeshBuffer (core::array< video::S3DVertex


> ∗ vertices) [inline]

constructor
Definition at line 27 of file SSharedMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and Vertices.

7.162.2.3 virtual irr::scene::SSharedMeshBuffer::∼SSharedMeshBuffer () [inline,


virtual]

destructor
Definition at line 35 of file SSharedMeshBuffer.h.

7.162.3 Member Function Documentation

7.162.3.1 virtual void irr::scene::SSharedMeshBuffer::append (const IMeshBuffer ∗const other)


[inline, virtual]

append the meshbuffer to the current buffer


Implements irr::scene::IMeshBuffer.
Definition at line 129 of file SSharedMeshBuffer.h.

7.162.3.2 virtual void irr::scene::SSharedMeshBuffer::append (const void ∗const vertices, u32


numVertices, const u16 ∗const indices, u32 numIndices) [inline, virtual]

append the vertices and indices to the current buffer


Implements irr::scene::IMeshBuffer.
Definition at line 126 of file SSharedMeshBuffer.h.

7.162.3.3 virtual const core::aabbox3d<f32>& irr::scene::SSharedMeshBuffer::getBoundingBox


() const [inline, virtual]

returns an axis aligned bounding box


Implements irr::scene::IMeshBuffer.
Definition at line 95 of file SSharedMeshBuffer.h.
References BoundingBox.

7.162.3.4 virtual u32 irr::scene::SSharedMeshBuffer::getIndexCount () const [inline,


virtual]

returns amount of indices


Implements irr::scene::IMeshBuffer.
Definition at line 89 of file SSharedMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::size().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.162 irr::scene::SSharedMeshBuffer Struct Reference 779

7.162.3.5 virtual u16∗ irr::scene::SSharedMeshBuffer::getIndices () [inline, virtual]

returns pointer to Indices


Implements irr::scene::IMeshBuffer.
Definition at line 83 of file SSharedMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::pointer().

7.162.3.6 virtual const u16∗ irr::scene::SSharedMeshBuffer::getIndices () const [inline,


virtual]

returns pointer to Indices


Implements irr::scene::IMeshBuffer.
Definition at line 77 of file SSharedMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and Indices.

7.162.3.7 virtual video::SMaterial& irr::scene::SSharedMeshBuffer::getMaterial () [inline,


virtual]

returns the material of this meshbuffer


Implements irr::scene::IMeshBuffer.
Definition at line 44 of file SSharedMeshBuffer.h.
References Material.

7.162.3.8 virtual const video::SMaterial& irr::scene::SSharedMeshBuffer::getMaterial () const


[inline, virtual]

returns the material of this meshbuffer


Implements irr::scene::IMeshBuffer.
Definition at line 38 of file SSharedMeshBuffer.h.
References Material.

7.162.3.9 virtual u32 irr::scene::SSharedMeshBuffer::getVertexCount () const [inline,


virtual]

returns amount of vertices


Implements irr::scene::IMeshBuffer.
Definition at line 68 of file SSharedMeshBuffer.h.
References irr::core::array< T, TAlloc >::size(), and Vertices.

7.162.3.10 virtual video::E_VERTEX_TYPE irr::scene::SSharedMeshBuffer::getVertexType ()


const [inline, virtual]

returns which type of vertex data is stored.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


780 Irrlicht Engine Class Documentation

Implements irr::scene::IMeshBuffer.
Definition at line 107 of file SSharedMeshBuffer.h.

7.162.3.11 virtual void∗ irr::scene::SSharedMeshBuffer::getVertices () [inline, virtual]

returns pointer to vertices


Implements irr::scene::IMeshBuffer.
Definition at line 59 of file SSharedMeshBuffer.h.
References irr::core::array< T, TAlloc >::pointer(), and Vertices.

7.162.3.12 virtual const void∗ irr::scene::SSharedMeshBuffer::getVertices () const [inline,


virtual]

returns pointer to vertices


Implements irr::scene::IMeshBuffer.
Definition at line 50 of file SSharedMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and Vertices.

7.162.3.13 virtual void irr::scene::SSharedMeshBuffer::recalculateBoundingBox () [inline,


virtual]

recalculates the bounding box. should be called if the mesh changed.


Implements irr::scene::IMeshBuffer.
Definition at line 113 of file SSharedMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), BoundingBox, irr::core::array< T, TAlloc
>::empty(), Indices, irr::core::aabbox3d< T >::reset(), irr::core::array< T, TAlloc >::size(), and Vertices.

7.162.3.14 virtual void irr::scene::SSharedMeshBuffer::setBoundingBox (const core::aabbox3df


& box) [inline, virtual]

set user axis aligned bounding box


Implements irr::scene::IMeshBuffer.
Definition at line 101 of file SSharedMeshBuffer.h.
References BoundingBox.

7.162.4 Member Data Documentation

7.162.4.1 core::aabbox3df irr::scene::SSharedMeshBuffer::BoundingBox

Bounding box.
Definition at line 138 of file SSharedMeshBuffer.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.162 irr::scene::SSharedMeshBuffer Struct Reference 781

7.162.4.2 core::array<u16> irr::scene::SSharedMeshBuffer::Indices

Array of Indices.
Definition at line 136 of file SSharedMeshBuffer.h.
Referenced by getIndexCount(), getIndices(), and recalculateBoundingBox().

7.162.4.3 video::SMaterial irr::scene::SSharedMeshBuffer::Material

material of this meshBuffer


Definition at line 132 of file SSharedMeshBuffer.h.
Referenced by getMaterial().

7.162.4.4 core::array<video::S3DVertex>∗ irr::scene::SSharedMeshBuffer::Vertices

Shared Array of vertices.


Definition at line 134 of file SSharedMeshBuffer.h.
Referenced by getVertexCount(), getVertices(), recalculateBoundingBox(), and SSharedMeshBuffer().
The documentation for this struct was generated from the following file:

• SSharedMeshBuffer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


782 Irrlicht Engine Class Documentation

7.163 irr::scene::SSkinMeshBuffer Struct Reference


A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
#include <SSkinMeshBuffer.h>
Inheritance diagram for irr::scene::SSkinMeshBuffer::

irr::IReferenceCounted

irr::scene::IMeshBuffer

irr::scene::SSkinMeshBuffer

Public Member Functions


• virtual void append (const IMeshBuffer ∗const other)
append the meshbuffer to the current buffer

• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
append the vertices and indices to the current buffer

• virtual const core::aabbox3d< f32 > & getBoundingBox () const


Get bounding box.

• virtual u32 getIndexCount () const


Get index count.

• virtual u16 ∗ getIndices ()


Get pointer to index array.

• virtual const u16 ∗ getIndices () const


Get pointer to index array.

• virtual video::SMaterial & getMaterial ()


Get Material of this buffer.

• virtual const video::SMaterial & getMaterial () const


Get Material of this buffer.

• virtual video::S3DVertex ∗ getVertex (u32 index)


Get standard vertex at given index.

• virtual u32 getVertexCount () const


Get vertex count.

• virtual video::E_VERTEX_TYPE getVertexType () const

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.163 irr::scene::SSkinMeshBuffer Struct Reference 783

Get vertex type.

• virtual void ∗ getVertices ()


Get pointer to vertex array.

• virtual const void ∗ getVertices () const


Get pointer to vertex array.

• virtual void MoveTo_2TCoords ()


Convert to 2tcoords vertex type.

• virtual void MoveTo_Tangents ()


Convert to tangents vertex type.

• virtual void recalculateBoundingBox ()


Recalculate bounding box.

• virtual void setBoundingBox (const core::aabbox3df &box)


Set bounding box.

• SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD)


Default constructor.

Public Attributes
• core::aabbox3d< f32 > BoundingBox
• core::array< u16 > Indices
• video::SMaterial Material
• core::matrix4 Transformation
• video::E_VERTEX_TYPE VertexType
• core::array< video::S3DVertex2TCoords > Vertices_2TCoords
• core::array< video::S3DVertex > Vertices_Standard
• core::array< video::S3DVertexTangents > Vertices_Tangents

7.163.1 Detailed Description

A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
Definition at line 19 of file SSkinMeshBuffer.h.

7.163.2 Constructor & Destructor Documentation

7.163.2.1 irr::scene::SSkinMeshBuffer::SSkinMeshBuffer (video::E_VERTEX_TYPE vt =


video::EVT_STANDARD) [inline]

Default constructor.
Definition at line 22 of file SSkinMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and VertexType.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


784 Irrlicht Engine Class Documentation

7.163.3 Member Function Documentation

7.163.3.1 virtual void irr::scene::SSkinMeshBuffer::append (const IMeshBuffer ∗const other)


[inline, virtual]

append the meshbuffer to the current buffer


Implements irr::scene::IMeshBuffer.
Definition at line 233 of file SSkinMeshBuffer.h.

7.163.3.2 virtual void irr::scene::SSkinMeshBuffer::append (const void ∗const vertices, u32


numVertices, const u16 ∗const indices, u32 numIndices) [inline, virtual]

append the vertices and indices to the current buffer


Implements irr::scene::IMeshBuffer.
Definition at line 230 of file SSkinMeshBuffer.h.

7.163.3.3 virtual const core::aabbox3d<f32>& irr::scene::SSkinMeshBuffer::getBoundingBox ()


const [inline, virtual]

Get bounding box.


Implements irr::scene::IMeshBuffer.
Definition at line 116 of file SSkinMeshBuffer.h.
References BoundingBox.

7.163.3.4 virtual u32 irr::scene::SSkinMeshBuffer::getIndexCount () const [inline,


virtual]

Get index count.


Implements irr::scene::IMeshBuffer.
Definition at line 110 of file SSkinMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::size().

7.163.3.5 virtual u16∗ irr::scene::SSkinMeshBuffer::getIndices () [inline, virtual]

Get pointer to index array.


Implements irr::scene::IMeshBuffer.
Definition at line 104 of file SSkinMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::pointer().

7.163.3.6 virtual const u16∗ irr::scene::SSkinMeshBuffer::getIndices () const [inline,


virtual]

Get pointer to index array.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.163 irr::scene::SSkinMeshBuffer Struct Reference 785

Implements irr::scene::IMeshBuffer.
Definition at line 98 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and Indices.

7.163.3.7 virtual video::SMaterial& irr::scene::SSkinMeshBuffer::getMaterial () [inline,


virtual]

Get Material of this buffer.


Implements irr::scene::IMeshBuffer.
Definition at line 36 of file SSkinMeshBuffer.h.
References Material.

7.163.3.8 virtual const video::SMaterial& irr::scene::SSkinMeshBuffer::getMaterial () const


[inline, virtual]

Get Material of this buffer.


Implements irr::scene::IMeshBuffer.
Definition at line 30 of file SSkinMeshBuffer.h.
References Material.

7.163.3.9 virtual video::S3DVertex∗ irr::scene::SSkinMeshBuffer::getVertex (u32 index)


[inline, virtual]

Get standard vertex at given index.


Definition at line 42 of file SSkinMeshBuffer.h.
References VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

7.163.3.10 virtual u32 irr::scene::SSkinMeshBuffer::getVertexCount () const [inline,


virtual]

Get vertex count.


Implements irr::scene::IMeshBuffer.
Definition at line 84 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::size(), VertexType, Vertices_2TCoords, Vertices_Standard, and
Vertices_Tangents.

7.163.3.11 virtual video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::getVertexType ()


const [inline, virtual]

Get vertex type.


Implements irr::scene::IMeshBuffer.
Definition at line 172 of file SSkinMeshBuffer.h.
References VertexType.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


786 Irrlicht Engine Class Documentation

7.163.3.12 virtual void∗ irr::scene::SSkinMeshBuffer::getVertices () [inline, virtual]

Get pointer to vertex array.


Implements irr::scene::IMeshBuffer.
Definition at line 70 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::pointer(), VertexType, Vertices_2TCoords, Vertices_Standard,
and Vertices_Tangents.

7.163.3.13 virtual const void∗ irr::scene::SSkinMeshBuffer::getVertices () const [inline,


virtual]

Get pointer to vertex array.


Implements irr::scene::IMeshBuffer.
Definition at line 56 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), VertexType, Vertices_2TCoords, Vertices_-
Standard, and Vertices_Tangents.

7.163.3.14 virtual void irr::scene::SSkinMeshBuffer::MoveTo_2TCoords () [inline,


virtual]

Convert to 2tcoords vertex type.


Definition at line 178 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::clear(), irr::video::S3DVertex::Color,
irr::video::S3DVertex::Normal, irr::video::S3DVertex::Pos, irr::core::array< T, TAlloc >::push_back(),
irr::core::array< T, TAlloc >::size(), irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords,
and Vertices_Standard.

7.163.3.15 virtual void irr::scene::SSkinMeshBuffer::MoveTo_Tangents () [inline,


virtual]

Convert to tangents vertex type.


Definition at line 197 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::clear(), irr::video::S3DVertex::Color,
irr::video::S3DVertex::Normal, irr::video::S3DVertex::Pos, irr::core::array< T, TAlloc >::push_back(),
irr::core::array< T, TAlloc >::size(), irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords,
Vertices_Standard, and Vertices_Tangents.

7.163.3.16 virtual void irr::scene::SSkinMeshBuffer::recalculateBoundingBox () [inline,


virtual]

Recalculate bounding box.


Implements irr::scene::IMeshBuffer.
Definition at line 128 of file SSkinMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), BoundingBox, irr::core::array< T, TAl-
loc >::empty(), irr::core::aabbox3d< T >::reset(), irr::core::array< T, TAlloc >::size(), VertexType,

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.163 irr::scene::SSkinMeshBuffer Struct Reference 787

Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

7.163.3.17 virtual void irr::scene::SSkinMeshBuffer::setBoundingBox (const core::aabbox3df &


box) [inline, virtual]

Set bounding box.


Implements irr::scene::IMeshBuffer.
Definition at line 122 of file SSkinMeshBuffer.h.
References BoundingBox.

7.163.4 Member Data Documentation

7.163.4.1 core::aabbox3d<f32> irr::scene::SSkinMeshBuffer::BoundingBox

Definition at line 245 of file SSkinMeshBuffer.h.


Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

7.163.4.2 core::array<u16> irr::scene::SSkinMeshBuffer::Indices

Definition at line 244 of file SSkinMeshBuffer.h.


Referenced by getIndexCount(), and getIndices().

7.163.4.3 video::SMaterial irr::scene::SSkinMeshBuffer::Material

Definition at line 239 of file SSkinMeshBuffer.h.


Referenced by getMaterial().

7.163.4.4 core::matrix4 irr::scene::SSkinMeshBuffer::Transformation

Definition at line 237 of file SSkinMeshBuffer.h.

7.163.4.5 video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::VertexType

Definition at line 240 of file SSkinMeshBuffer.h.


Referenced by getVertex(), getVertexCount(), getVertexType(), getVertices(), MoveTo_2TCoords(), Move-
To_Tangents(), recalculateBoundingBox(), and SSkinMeshBuffer().

7.163.4.6 core::array<video::S3DVertex2TCoords> irr::scene::SSkinMeshBuffer::Vertices_-


2TCoords

Definition at line 242 of file SSkinMeshBuffer.h.


Referenced by getVertex(), getVertexCount(), getVertices(), MoveTo_2TCoords(), MoveTo_Tangents(),
and recalculateBoundingBox().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


788 Irrlicht Engine Class Documentation

7.163.4.7 core::array<video::S3DVertex> irr::scene::SSkinMeshBuffer::Vertices_Standard

Definition at line 243 of file SSkinMeshBuffer.h.


Referenced by getVertex(), getVertexCount(), getVertices(), MoveTo_2TCoords(), MoveTo_Tangents(),
and recalculateBoundingBox().

7.163.4.8 core::array<video::S3DVertexTangents> irr::scene::SSkinMeshBuffer::Vertices_-


Tangents

Definition at line 241 of file SSkinMeshBuffer.h.


Referenced by getVertex(), getVertexCount(), getVertices(), MoveTo_Tangents(), and recalculate-
BoundingBox().
The documentation for this struct was generated from the following file:

• SSkinMeshBuffer.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 789

7.164 irr::core::string< T, TAlloc > Class Template Reference


Very simple string class with some useful features.
#include <irrString.h>

Public Member Functions


• void append (const string< T > &other, u32 length)
Appends a string of the length l to this string.

• void append (const string< T > &other)


Appends a string to this string.

• void append (const T ∗const other)


Appends a char string to this string.

• void append (T character)


Appends a character to this string.

• const T ∗ c_str () const


Returns character string.

• bool equals_ignore_case (const string< T > &other) const


Compares the string ignoring case.

• bool equalsn (const T ∗const str, u32 n) const


compares the first n characters of the strings

• bool equalsn (const string< T > &other, u32 n) const


compares the first n characters of the strings

• void erase (u32 index)


• template<class B> s32 find (const B ∗const str) const
• s32 findFirst (T c) const
finds first occurrence of character in string

• s32 findFirstChar (const T ∗const c, u32 count) const


finds first occurrence of a character of a list in string

• template<class B> s32 findFirstCharNotInList (const B ∗const c, u32 count) const


Finds first position of a character not in a given list.

• s32 findLast (T c, s32 start=-1) const


• s32 findLastChar (const T ∗const c, u32 count) const
finds last occurrence of a character of a list in string

• template<class B> s32 findLastCharNotInList (const B ∗const c, u32 count) const


Finds last position of a character not in a given list.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


790 Irrlicht Engine Class Documentation

• s32 findNext (T c, u32 startPos) const


finds next occurrence of character in string

• bool lower_ignore_case (const string< T > &other) const


Compares the string ignoring case.

• void make_lower ()
Makes the string lower case.

• void make_upper ()
Makes the string upper case.

• bool operator!= (const string< T > &other) const


Equals not operator.

• bool operator!= (const T ∗const str) const


Equals not operator.

• template<class B> string< T > operator+ (const B ∗const c) const


Add operator for strings, ascii and unicode.

• string< T > operator+ (const string< T > &other) const


Add operator for other strings.

• string< T > & operator+= (const float i)


• string< T > & operator+= (const double i)
• string< T > & operator+= (const unsigned long &i)
• string< T > & operator+= (const long i)
• string< T > & operator+= (const unsigned int i)
• string< T > & operator+= (const int i)
• string< T > & operator+= (const string< T > &other)
• string< T > & operator+= (const T ∗const c)
• string< T > & operator+= (T c)
• bool operator< (const string< T > &other) const
Is smaller operator.

• template<class B> string< T > & operator= (const B ∗const c)


Assignment operator for strings, ascii and unicode.

• string< T > & operator= (const string< T > &other)


Assignment operator.

• bool operator== (const string< T > &other) const


Comparison operator.

• bool operator== (const T ∗const str) const


Comparison operator.

• const T & operator[ ] (const u32 index) const


Direct access operator.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 791

• T & operator[ ] (const u32 index)


Direct access operator.

• void replace (T toReplace, T replaceWith)


replaces all characters of a special type with another one

• void reserve (u32 count)


Reserves some memory.

• u32 size () const


Returns length of string.

• template<class B> string (const B ∗const c)


Constructor for unicode and ascii strings.

• template<class B> string (const B ∗const c, u32 length)


Constructor for copying a string from a pointer with a given length.

• string (unsigned int number)


Constructs a string from an unsigned int.

• string (int number)


Constructs a string from an int.

• string (const double number)


Constructs a string from a float.

• string (const string< T > &other)


Constructor.

• string ()
Default constructor.

• string< T > subString (u32 begin, s32 length) const


• string< T > & trim ()
trims the string.

• ∼string ()
destructor

7.164.1 Detailed Description

template<typename T, typename TAlloc = irrAllocator<T>> class irr::core::string< T, TAlloc >

Very simple string class with some useful features.


string<c8> and string<wchar_t> work both with unicode AND ascii, so you can assign unicode to
string<c8> and ascii to string<wchar_t> (and the other way round) if your ever would want to. Note
that the conversation between both is not done using an encoding.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


792 Irrlicht Engine Class Documentation

Known bugs: Special characters like umlauts are ignored in the methods make_upper, make_lower and
equals_ignore_case.
Definition at line 31 of file irrString.h.

7.164.2 Constructor & Destructor Documentation

7.164.2.1 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::string () [inline]

Default constructor.
Definition at line 36 of file irrString.h.

7.164.2.2 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::string (const string< T > & other) [inline]

Constructor.
Definition at line 46 of file irrString.h.

7.164.2.3 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::string (const double number) [inline]

Constructs a string from a float.


Definition at line 55 of file irrString.h.

7.164.2.4 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::string (int number) [inline]

Constructs a string from an int.


Definition at line 66 of file irrString.h.

7.164.2.5 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::string (unsigned int number) [inline]

Constructs a string from an unsigned int.


Definition at line 116 of file irrString.h.

7.164.2.6 template<typename T, typename TAlloc = irrAllocator<T>> template<class B>


irr::core::string< T, TAlloc >::string (const B ∗const c, u32 length) [inline]

Constructor for copying a string from a pointer with a given length.


Definition at line 150 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 793

7.164.2.7 template<typename T, typename TAlloc = irrAllocator<T>> template<class B>


irr::core::string< T, TAlloc >::string (const B ∗const c) [inline]

Constructor for unicode and ascii strings.


Definition at line 173 of file irrString.h.

7.164.2.8 template<typename T, typename TAlloc = irrAllocator<T>> irr::core::string< T,


TAlloc >::∼string () [inline]

destructor
Definition at line 182 of file irrString.h.

7.164.3 Member Function Documentation

7.164.3.1 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string< T,


TAlloc >::append (const string< T > & other, u32 length) [inline]

Appends a string of the length l to this string.

Parameters:
other: other String to append to this string.
length: How much characters of the other string to add to this one.

Definition at line 511 of file irrString.h.

7.164.3.2 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string< T,


TAlloc >::append (const string< T > & other) [inline]

Appends a string to this string.

Parameters:
other: String to append.

Definition at line 493 of file irrString.h.

7.164.3.3 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string< T,


TAlloc >::append (const T ∗const other) [inline]

Appends a char string to this string.

Parameters:
other: Char string to append.

Definition at line 465 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


794 Irrlicht Engine Class Documentation

7.164.3.4 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string< T,


TAlloc >::append (T character) [inline]

Appends a character to this string.

Parameters:
character: Character to append.

Definition at line 452 of file irrString.h.


Referenced by irr::core::string< c8 >::append(), irr::scene::quake3::dumpVarGroup(), irr::core::string<
c8 >::operator+(), and irr::core::string< c8 >::operator+=().

7.164.3.5 template<typename T, typename TAlloc = irrAllocator<T>> const T∗


irr::core::string< T, TAlloc >::c_str () const [inline]

Returns character string.

Returns:
Returns pointer to C-style zero terminated string.

Definition at line 359 of file irrString.h.


Referenced by irr::scene::quake3::getAsFloat(), irr::scene::ISceneNode::getName(),
irr::gui::IGUIElement::getText(), irr::scene::quake3::getTextures(), irr::scene::quake3::isEqual(), and
irr::scene::ISceneNode::serializeAttributes().

7.164.3.6 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string< T,


TAlloc >::equals_ignore_case (const string< T > & other) const [inline]

Compares the string ignoring case.

Parameters:
other: Other string to compare.

Returns:
Returns true if the string are equal ignoring case.

Definition at line 394 of file irrString.h.

7.164.3.7 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string< T,


TAlloc >::equalsn (const T ∗const str, u32 n) const [inline]

compares the first n characters of the strings


Definition at line 435 of file irrString.h.

7.164.3.8 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string< T,


TAlloc >::equalsn (const string< T > & other, u32 n) const [inline]

compares the first n characters of the strings


Definition at line 421 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 795

7.164.3.9 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string< T,


TAlloc >::erase (u32 index) [inline]

Erases a character from the string. May be slow, because all elements following after the erased element
have to be copied.

Parameters:
index: Index of element to be erased.

Definition at line 826 of file irrString.h.

7.164.3.10 template<typename T, typename TAlloc = irrAllocator<T>> template<class B> s32


irr::core::string< T, TAlloc >::find (const B ∗const str) const [inline]

finds another string in this string

Parameters:
str: Another string

Returns:
Returns positions where the string has been found, or -1 if not found.

Definition at line 683 of file irrString.h.

7.164.3.11 template<typename T, typename TAlloc = irrAllocator<T>> s32 irr::core::string< T,


TAlloc >::findFirst (T c) const [inline]

finds first occurrence of character in string

Parameters:
c: Character to search for.

Returns:
Returns position where the character has been found, or -1 if not found.

Definition at line 549 of file irrString.h.

7.164.3.12 template<typename T, typename TAlloc = irrAllocator<T>> s32 irr::core::string< T,


TAlloc >::findFirstChar (const T ∗const c, u32 count) const [inline]

finds first occurrence of a character of a list in string

Parameters:
c: List of characters to find. For example if the method should find the first occurrence of ’a’ or ’b’,
this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)

Returns:
Returns position where one of the characters has been found, or -1 if not found.

Definition at line 565 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


796 Irrlicht Engine Class Documentation

7.164.3.13 template<typename T, typename TAlloc = irrAllocator<T>> template<class B> s32


irr::core::string< T, TAlloc >::findFirstCharNotInList (const B ∗const c, u32 count)
const [inline]

Finds first position of a character not in a given list.

Parameters:
c: List of characters not to find. For example if the method should find the first occurrence of a
character not ’a’ or ’b’, this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)

Returns:
Returns position where the character has been found, or -1 if not found.

Definition at line 587 of file irrString.h.


Referenced by irr::core::string< c8 >::trim().

7.164.3.14 template<typename T, typename TAlloc = irrAllocator<T>> s32 irr::core::string< T,


TAlloc >::findLast (T c, s32 start = -1) const [inline]

finds last occurrence of character in string

Parameters:
c: Character to search for.
start: start to search reverse ( default = -1, on end )

Returns:
Returns position where the character has been found, or -1 if not found.

Definition at line 647 of file irrString.h.


Referenced by irr::core::cutFilenameExtension(), and irr::core::getFileNameExtension().

7.164.3.15 template<typename T, typename TAlloc = irrAllocator<T>> s32 irr::core::string< T,


TAlloc >::findLastChar (const T ∗const c, u32 count) const [inline]

finds last occurrence of a character of a list in string

Parameters:
c: List of strings to find. For example if the method should find the last occurrence of ’a’ or ’b’, this
parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)

Returns:
Returns position where one of the characters has been found, or -1 if not found.

Definition at line 664 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 797

7.164.3.16 template<typename T, typename TAlloc = irrAllocator<T>> template<class B> s32


irr::core::string< T, TAlloc >::findLastCharNotInList (const B ∗const c, u32 count)
const [inline]

Finds last position of a character not in a given list.

Parameters:
c: List of characters not to find. For example if the method should find the first occurrence of a
character not ’a’ or ’b’, this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)

Returns:
Returns position where the character has been found, or -1 if not found.

Definition at line 611 of file irrString.h.


Referenced by irr::core::string< c8 >::trim().

7.164.3.17 template<typename T, typename TAlloc = irrAllocator<T>> s32 irr::core::string< T,


TAlloc >::findNext (T c, u32 startPos) const [inline]

finds next occurrence of character in string

Parameters:
c: Character to search for.
startPos: Position in string to start searching.

Returns:
Returns position where the character has been found, or -1 if not found.

Definition at line 632 of file irrString.h.

7.164.3.18 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::lower_ignore_case (const string< T > & other) const [inline]

Compares the string ignoring case.

Parameters:
other: Other string to compare.

Returns:
Returns true if the string is smaller ignoring case.

Definition at line 406 of file irrString.h.

7.164.3.19 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string<


T, TAlloc >::make_lower () [inline]

Makes the string lower case.


Definition at line 367 of file irrString.h.
Referenced by irr::video::ITexture::ITexture().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


798 Irrlicht Engine Class Documentation

7.164.3.20 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string<


T, TAlloc >::make_upper () [inline]

Makes the string upper case.


Definition at line 376 of file irrString.h.

7.164.3.21 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::operator!= (const string< T > & other) const [inline]

Equals not operator.


Definition at line 341 of file irrString.h.

7.164.3.22 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::operator!= (const T ∗const str) const [inline]

Equals not operator.


Definition at line 333 of file irrString.h.

7.164.3.23 template<typename T, typename TAlloc = irrAllocator<T>> template<class B>


string<T> irr::core::string< T, TAlloc >::operator+ (const B ∗const c) const
[inline]

Add operator for strings, ascii and unicode.


Definition at line 261 of file irrString.h.

7.164.3.24 template<typename T, typename TAlloc = irrAllocator<T>> string<T>


irr::core::string< T, TAlloc >::operator+ (const string< T > & other) const
[inline]

Add operator for other strings.


Definition at line 251 of file irrString.h.

7.164.3.25 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const float i) [inline]

Definition at line 790 of file irrString.h.

7.164.3.26 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const double i) [inline]

Definition at line 783 of file irrString.h.

7.164.3.27 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const unsigned long & i) [inline]

Definition at line 776 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 799

7.164.3.28 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const long i) [inline]

Definition at line 769 of file irrString.h.

7.164.3.29 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const unsigned int i) [inline]

Definition at line 762 of file irrString.h.

7.164.3.30 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const int i) [inline]

Definition at line 755 of file irrString.h.

7.164.3.31 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const string< T > & other) [inline]

Definition at line 748 of file irrString.h.

7.164.3.32 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (const T ∗const c) [inline]

Definition at line 741 of file irrString.h.

7.164.3.33 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator+= (T c) [inline]

Definition at line 734 of file irrString.h.

7.164.3.34 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::operator< (const string< T > & other) const [inline]

Is smaller operator.
Definition at line 314 of file irrString.h.

7.164.3.35 template<typename T, typename TAlloc = irrAllocator<T>> template<class B>


string<T>& irr::core::string< T, TAlloc >::operator= (const B ∗const c) [inline]

Assignment operator for strings, ascii and unicode.


Definition at line 210 of file irrString.h.

7.164.3.36 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::operator= (const string< T > & other) [inline]

Assignment operator.
Definition at line 190 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


800 Irrlicht Engine Class Documentation

7.164.3.37 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::operator== (const string< T > & other) const [inline]

Comparison operator.
Definition at line 303 of file irrString.h.

7.164.3.38 template<typename T, typename TAlloc = irrAllocator<T>> bool irr::core::string<


T, TAlloc >::operator== (const T ∗const str) const [inline]

Comparison operator.
Definition at line 287 of file irrString.h.

7.164.3.39 ]

template<typename T, typename TAlloc = irrAllocator<T>> const T& irr::core::string< T, TAlloc


>::operator[ ] (const u32 index) const [inline]
Direct access operator.
Definition at line 279 of file irrString.h.

7.164.3.40 ]

template<typename T, typename TAlloc = irrAllocator<T>> T& irr::core::string< T, TAlloc


>::operator[ ] (const u32 index) [inline]
Direct access operator.
Definition at line 271 of file irrString.h.

7.164.3.41 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string<


T, TAlloc >::replace (T toReplace, T replaceWith) [inline]

replaces all characters of a special type with another one


Definition at line 798 of file irrString.h.

7.164.3.42 template<typename T, typename TAlloc = irrAllocator<T>> void irr::core::string<


T, TAlloc >::reserve (u32 count) [inline]

Reserves some memory.

Parameters:
count: Amount of characters to reserve.

Definition at line 536 of file irrString.h.


Referenced by irr::core::string< c8 >::subString().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.164 irr::core::string< T, TAlloc > Class Template Reference 801

7.164.3.43 template<typename T, typename TAlloc = irrAllocator<T>> u32 irr::core::string< T,


TAlloc >::size () const [inline]

Returns length of string.

Returns:
Returns length of the string in characters.

Definition at line 350 of file irrString.h.


Referenced by irr::scene::quake3::dumpShader(), irr::scene::quake3::SVariable::isValid(), and
irr::core::string< c8 >::subString().

7.164.3.44 template<typename T, typename TAlloc = irrAllocator<T>> string<T>


irr::core::string< T, TAlloc >::subString (u32 begin, s32 length) const [inline]

Returns a substring

Parameters:
begin: Start of substring.
length: Length of substring.

Definition at line 714 of file irrString.h.


Referenced by irr::core::cutFilenameExtension(), irr::core::getFileNameExtension(), and irr::core::string<
c8 >::trim().

7.164.3.45 template<typename T, typename TAlloc = irrAllocator<T>> string<T>&


irr::core::string< T, TAlloc >::trim () [inline]

trims the string.


Removes whitespace from begin and end of the string.
Definition at line 807 of file irrString.h.
The documentation for this class was generated from the following file:

• irrString.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


802 Irrlicht Engine Class Documentation

7.165 irr::scene::quake3::SVarGroup Struct Reference


#include <IQ3Shader.h>

Public Member Functions


• const core::stringc & get (const c8 ∗name) const
• s32 getIndex (const c8 ∗name) const
• bool isDefined (const c8 ∗name, const c8 ∗content=0) const

Public Attributes
• core::array< SVariable > Variable

7.165.1 Member Function Documentation

7.165.1.1 const core::stringc& irr::scene::quake3::SVarGroup::get (const c8 ∗ name) const


[inline]

Definition at line 411 of file IQ3Shader.h.


References getIndex(), and Variable.

7.165.1.2 s32 irr::scene::quake3::SVarGroup::getIndex (const c8 ∗ name) const [inline]

Definition at line 401 of file IQ3Shader.h.


References irr::core::array< T, TAlloc >::linear_search(), irr::scene::quake3::SVariable::name, and Vari-
able.
Referenced by get().

7.165.1.3 bool irr::scene::quake3::SVarGroup::isDefined (const c8 ∗ name, const c8 ∗ content = 0)


const [inline]

Definition at line 420 of file IQ3Shader.h.


References irr::core::array< T, TAlloc >::size(), and Variable.

7.165.2 Member Data Documentation

7.165.2.1 core::array< SVariable > irr::scene::quake3::SVarGroup::Variable

Definition at line 435 of file IQ3Shader.h.


Referenced by get(), getIndex(), and isDefined().
The documentation for this struct was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.166 irr::scene::quake3::SVarGroupList Struct Reference 803

7.166 irr::scene::quake3::SVarGroupList Struct Reference


#include <IQ3Shader.h>
Inheritance diagram for irr::scene::quake3::SVarGroupList::

irr::IReferenceCounted

irr::scene::quake3::SVarGroupList

Public Member Functions


• SVarGroupList ()
• virtual ∼SVarGroupList ()

Public Attributes
• core::array< SVarGroup > VariableGroup

7.166.1 Constructor & Destructor Documentation

7.166.1.1 irr::scene::quake3::SVarGroupList::SVarGroupList () [inline]

Definition at line 440 of file IQ3Shader.h.

7.166.1.2 virtual irr::scene::quake3::SVarGroupList::∼SVarGroupList () [inline,


virtual]

Definition at line 441 of file IQ3Shader.h.

7.166.2 Member Data Documentation

7.166.2.1 core::array< SVarGroup > irr::scene::quake3::SVarGroupList::VariableGroup

Definition at line 443 of file IQ3Shader.h.


Referenced by irr::scene::quake3::SShader::getGroup().
The documentation for this struct was generated from the following file:

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


804 Irrlicht Engine Class Documentation

7.167 irr::scene::quake3::SVariable Struct Reference


#include <IQ3Shader.h>

Public Member Functions


• void clear ()
• s32 isValid () const
• bool operator== (const SVariable &other) const

Public Attributes
• core::stringc content
• core::stringc name

7.167.1 Member Function Documentation

7.167.1.1 void irr::scene::quake3::SVariable::clear () [inline]

Definition at line 47 of file IQ3Shader.h.


References content, and name.

7.167.1.2 s32 irr::scene::quake3::SVariable::isValid () const [inline]

Definition at line 53 of file IQ3Shader.h.


References name, and irr::core::string< T, TAlloc >::size().

7.167.1.3 bool irr::scene::quake3::SVariable::operator== (const SVariable & other) const


[inline]

Definition at line 58 of file IQ3Shader.h.


References name.

7.167.2 Member Data Documentation

7.167.2.1 core::stringc irr::scene::quake3::SVariable::content

Definition at line 45 of file IQ3Shader.h.


Referenced by clear().

7.167.2.2 core::stringc irr::scene::quake3::SVariable::name

Definition at line 44 of file IQ3Shader.h.


Referenced by clear(), irr::scene::quake3::SVarGroup::getIndex(), isValid(), and operator==().
The documentation for this struct was generated from the following file:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.167 irr::scene::quake3::SVariable Struct Reference 805

• IQ3Shader.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


806 Irrlicht Engine Class Documentation

7.168 irr::scene::SViewFrustum Struct Reference


Defines the view frustum. That’s the space visible by the camera.
#include <SViewFrustum.h>

Public Types
• enum E_TRANSFORMATION_STATE_3 { ETS_VIEW_PROJECTION_3 = video::ETS_-
PROJECTION + 1, ETS_VIEW_MODEL_INVERSE_3, ETS_CURRENT_3, ETS_COUNT_3 }
Hold a copy of important transform matrices.

• enum VFPLANES {
VF_FAR_PLANE = 0, VF_NEAR_PLANE, VF_LEFT_PLANE, VF_RIGHT_PLANE,
VF_BOTTOM_PLANE, VF_TOP_PLANE, VF_PLANE_COUNT }

Public Member Functions


• const core::aabbox3d< f32 > & getBoundingBox () const
returns a bounding box enclosing the whole view frustum

• core::vector3df getFarLeftDown () const


returns the point which is on the far left bottom corner inside the the view frustum.

• core::vector3df getFarLeftUp () const


returns the point which is on the far left upper corner inside the the view frustum.

• core::vector3df getFarRightDown () const


returns the point which is on the far right bottom corner inside the the view frustum.

• core::vector3df getFarRightUp () const


returns the point which is on the far right top corner inside the the view frustum.

• void recalculateBoundingBox ()
recalculates the bounding box member based on the planes

• void setFrom (const core::matrix4 &mat)


This constructor creates a view frustum based on a projection and/or view matrix.

• void setTransformState (video::E_TRANSFORMATION_STATE state)


• SViewFrustum (const core::matrix4 &mat)
This constructor creates a view frustum based on a projection and/or view matrix.

• SViewFrustum (const SViewFrustum &other)


Copy Constructor.

• SViewFrustum ()
Default Constructor.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.168 irr::scene::SViewFrustum Struct Reference 807

• void transform (const core::matrix4 &mat)


transforms the frustum by the matrix

Public Attributes
• core::aabbox3d< f32 > boundingBox
bounding box around the view frustum

• core::vector3df cameraPosition
the position of the camera

• core::matrix4 Matrices [ETS_COUNT_3]


Hold a copy of important transform matrices.

• core::plane3d< f32 > planes [VF_PLANE_COUNT]


all planes enclosing the view frustum.

7.168.1 Detailed Description

Defines the view frustum. That’s the space visible by the camera.
The view frustum is enclosed by 6 planes. These six planes share four points. A bounding box around
these four points is also stored in this structure.
Definition at line 24 of file SViewFrustum.h.

7.168.2 Member Enumeration Documentation

7.168.2.1 enum irr::scene::SViewFrustum::E_TRANSFORMATION_STATE_3

Hold a copy of important transform matrices.

Enumeration values:
ETS_VIEW_PROJECTION_3
ETS_VIEW_MODEL_INVERSE_3
ETS_CURRENT_3
ETS_COUNT_3

Definition at line 46 of file SViewFrustum.h.

7.168.2.2 enum irr::scene::SViewFrustum::VFPLANES

Enumeration values:
VF_FAR_PLANE Far plane of the frustum. That is the plane farest away from the eye.
VF_NEAR_PLANE Near plane of the frustum. That is the plane nearest to the eye.
VF_LEFT_PLANE Left plane of the frustum.
VF_RIGHT_PLANE Right plane of the frustum.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


808 Irrlicht Engine Class Documentation

VF_BOTTOM_PLANE Bottom plane of the frustum.


VF_TOP_PLANE Top plane of the frustum.
VF_PLANE_COUNT Amount of planes enclosing the view frustum. Should be 6.

Definition at line 26 of file SViewFrustum.h.

7.168.3 Constructor & Destructor Documentation

7.168.3.1 irr::scene::SViewFrustum::SViewFrustum () [inline]

Default Constructor.
Definition at line 55 of file SViewFrustum.h.

7.168.3.2 irr::scene::SViewFrustum::SViewFrustum (const SViewFrustum & other) [inline]

Copy Constructor.
Definition at line 104 of file SViewFrustum.h.
References boundingBox, cameraPosition, Matrices, planes, and VF_PLANE_COUNT.

7.168.3.3 irr::scene::SViewFrustum::SViewFrustum (const core::matrix4 & mat) [inline]

This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 117 of file SViewFrustum.h.
References setFrom().

7.168.4 Member Function Documentation

7.168.4.1 const core::aabbox3d< f32 > & irr::scene::SViewFrustum::getBoundingBox () const


[inline]

returns a bounding box enclosing the whole view frustum


Definition at line 173 of file SViewFrustum.h.
References boundingBox.

7.168.4.2 core::vector3df irr::scene::SViewFrustum::getFarLeftDown () const [inline]

returns the point which is on the far left bottom corner inside the the view frustum.
Definition at line 143 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.168 irr::scene::SViewFrustum Struct Reference 809

7.168.4.3 core::vector3df irr::scene::SViewFrustum::getFarLeftUp () const [inline]

returns the point which is on the far left upper corner inside the the view frustum.
Definition at line 133 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().

7.168.4.4 core::vector3df irr::scene::SViewFrustum::getFarRightDown () const [inline]

returns the point which is on the far right bottom corner inside the the view frustum.
Definition at line 163 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().

7.168.4.5 core::vector3df irr::scene::SViewFrustum::getFarRightUp () const [inline]

returns the point which is on the far right top corner inside the the view frustum.
Definition at line 153 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().

7.168.4.6 void irr::scene::SViewFrustum::recalculateBoundingBox () [inline]

recalculates the bounding box member based on the planes


Definition at line 178 of file SViewFrustum.h.
References irr::core::aabbox3d< T >::addInternalPoint(), boundingBox, cameraPosition, getFarLeft-
Down(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), and irr::core::aabbox3d< T >::reset().
Referenced by setFrom(), and transform().

7.168.4.7 void irr::scene::SViewFrustum::setFrom (const core::matrix4 & mat) [inline]

This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 243 of file SViewFrustum.h.
References irr::core::plane3d< T >::D, irr::core::plane3d< T >::Normal, planes, recalculateBounding-
Box(), irr::core::reciprocal_squareroot(), VF_BOTTOM_PLANE, VF_FAR_PLANE, VF_LEFT_PLANE,
VF_NEAR_PLANE, VF_PLANE_COUNT, VF_RIGHT_PLANE, and VF_TOP_PLANE.
Referenced by SViewFrustum().

7.168.4.8 void irr::scene::SViewFrustum::setTransformState (video::E_TRANSFORMATION_-


STATE state) [inline]

Definition at line 295 of file SViewFrustum.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


810 Irrlicht Engine Class Documentation

References ETS_CURRENT_3, ETS_VIEW_MODEL_INVERSE_3, ETS_VIEW_PROJECTION_3,


irr::core::CMatrix4< T >::makeInverse(), Matrices, irr::core::CMatrix4< T >::setbyproduct(), and
irr::core::CMatrix4< T >::setbyproduct_nocheck().

7.168.4.9 void irr::scene::SViewFrustum::transform (const core::matrix4 & mat) [inline]

transforms the frustum by the matrix

Parameters:
mat: Matrix by which the view frustum is transformed.

Definition at line 123 of file SViewFrustum.h.


References cameraPosition, planes, recalculateBoundingBox(), irr::core::CMatrix4< T >::transform-
Plane(), irr::core::CMatrix4< T >::transformVect(), and VF_PLANE_COUNT.

7.168.5 Member Data Documentation

7.168.5.1 core::aabbox3d<f32> irr::scene::SViewFrustum::boundingBox

bounding box around the view frustum


Definition at line 97 of file SViewFrustum.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and SViewFrustum().

7.168.5.2 core::vector3df irr::scene::SViewFrustum::cameraPosition

the position of the camera


Definition at line 91 of file SViewFrustum.h.
Referenced by recalculateBoundingBox(), SViewFrustum(), and transform().

7.168.5.3 core::matrix4 irr::scene::SViewFrustum::Matrices[ETS_COUNT_3]

Hold a copy of important transform matrices.


Definition at line 100 of file SViewFrustum.h.
Referenced by setTransformState(), and SViewFrustum().

7.168.5.4 core::plane3d<f32> irr::scene::SViewFrustum::planes[VF_PLANE_COUNT]

all planes enclosing the view frustum.


Definition at line 94 of file SViewFrustum.h.
Referenced by getFarLeftDown(), getFarLeftUp(), getFarRightDown(), getFarRightUp(), setFrom(),
SViewFrustum(), and transform().
The documentation for this struct was generated from the following file:

• SViewFrustum.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.169 irr::core::triangle3d< T > Class Template Reference 811

7.169 irr::core::triangle3d< T > Class Template Reference


3d triangle template class for doing collision detection and other things.
#include <triangle3d.h>

Public Member Functions


• core::vector3d< T > closestPointOnTriangle (const core::vector3d< T > &p) const
• T getArea () const
Returns the area of the triangle.

• bool getIntersectionOfPlaneWithLine (const vector3d< T > &linePoint, const vector3d< T >


&lineVect, vector3d< T > &outIntersection) const
• bool getIntersectionWithLimitedLine (const line3d< T > &line, vector3d< T > &outIntersection)
const
• bool getIntersectionWithLine (const vector3d< T > &linePoint, const vector3d< T > &lineVect,
vector3d< T > &outIntersection) const
• vector3d< T > getNormal () const
• plane3d< T > getPlane () const
Returns the plane of this triangle.

• bool isFrontFacing (const vector3d< T > &lookDirection) const


• bool isPointInside (const vector3d< T > &p) const
• bool isPointInsideFast (const vector3d< T > &p) const
• bool isTotalInsideBox (const aabbox3d< T > &box) const
• bool operator!= (const triangle3d< T > &other) const
Inequality operator.

• bool operator== (const triangle3d< T > &other) const


Equality operator.

• void set (const core::vector3d< T > &a, const core::vector3d< T > &b, const core::vector3d< T >
&c)
sets the triangle’s points

• triangle3d (vector3d< T > v1, vector3d< T > v2, vector3d< T > v3)
Constructor for triangle with given three vertices.

• triangle3d ()
Constructor for an all 0 triangle.

Public Attributes
• vector3d< T > pointA
the three points of the triangle

• vector3d< T > pointB


• vector3d< T > pointC

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


812 Irrlicht Engine Class Documentation

7.169.1 Detailed Description

template<class T> class irr::core::triangle3d< T >

3d triangle template class for doing collision detection and other things.
Definition at line 20 of file triangle3d.h.

7.169.2 Constructor & Destructor Documentation

7.169.2.1 template<class T> irr::core::triangle3d< T >::triangle3d () [inline]

Constructor for an all 0 triangle.


Definition at line 25 of file triangle3d.h.

7.169.2.2 template<class T> irr::core::triangle3d< T >::triangle3d (vector3d< T > v1,


vector3d< T > v2, vector3d< T > v3) [inline]

Constructor for triangle with given three vertices.


Definition at line 27 of file triangle3d.h.
References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.

7.169.3 Member Function Documentation

7.169.3.1 template<class T> core::vector3d<T> irr::core::triangle3d< T


>::closestPointOnTriangle (const core::vector3d< T > & p) const [inline]

Get the closest point on a triangle to a point on the same plane.

Parameters:
p: Point which must be on the same plane as the triangle.

Returns:
The closest point of the triangle

Definition at line 55 of file triangle3d.h.


References irr::core::vector3d< T >::getDistanceFrom(), irr::core::triangle3d< T >::pointA,
irr::core::triangle3d< T >::pointB, and irr::core::triangle3d< T >::pointC.

7.169.3.2 template<class T> T irr::core::triangle3d< T >::getArea () const [inline]

Returns the area of the triangle.


Definition at line 195 of file triangle3d.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::vector3d< T >::getLength(),
irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and irr::core::triangle3d< T
>::pointC.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.169 irr::core::triangle3d< T > Class Template Reference 813

7.169.3.3 template<class T> bool irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine


(const vector3d< T > & linePoint, const vector3d< T > & lineVect, vector3d< T > &
outIntersection) const [inline]

Calculates the intersection between a 3d line and the plane the triangle is on.

Parameters:
lineVect: Vector of the line to intersect with.
linePoint: Point of the line to intersect with.
outIntersection: Place to store the intersection point, if there is one.

Returns:
Returns true if there was an intersection, false if there was not.

Definition at line 150 of file triangle3d.h.


References irr::core::vector3d< T >::dotProduct(), irr::core::triangle3d< T >::getNormal(),
irr::core::vector3d< T >::normalize(), and irr::core::triangle3d< T >::pointA.
Referenced by irr::core::triangle3d< T >::getIntersectionWithLine().

7.169.3.4 template<class T> bool irr::core::triangle3d< T >::getIntersectionWithLimitedLine


(const line3d< T > & line, vector3d< T > & outIntersection) const [inline]

Get an intersection with a 3d line.

Parameters:
line: Line to intersect with.
outIntersection: Place to store the intersection point, if there is one.

Returns:
Returns true if there was an intersection, false if not.

Definition at line 116 of file triangle3d.h.


References irr::core::triangle3d< T >::getIntersectionWithLine(), and irr::core::vector3d< T >::is-
BetweenPoints().

7.169.3.5 template<class T> bool irr::core::triangle3d< T >::getIntersectionWithLine (const


vector3d< T > & linePoint, const vector3d< T > & lineVect, vector3d< T > &
outIntersection) const [inline]

Returns an intersection with a 3d line. Please note that also points are returned as intersection which are
on the line, but not between the start and end point of the line. If you want the returned point be between
start and end use getIntersectionWithLimitedLine().

Parameters:
linePoint: Point of the line to intersect with.
lineVect: Vector of the line to intersect with.
outIntersection: Place to store the intersection point, if there is one.

Returns:
Returns true if there was an intersection, false if there was not.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


814 Irrlicht Engine Class Documentation

Definition at line 134 of file triangle3d.h.


References irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), and irr::core::triangle3d< T
>::isPointInside().
Referenced by irr::core::triangle3d< T >::getIntersectionWithLimitedLine().

7.169.3.6 template<class T> vector3d<T> irr::core::triangle3d< T >::getNormal () const


[inline]

Returns the normal of the triangle. Please note: The normal is not normalized.
Definition at line 168 of file triangle3d.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::triangle3d< T >::pointA,
irr::core::triangle3d< T >::pointB, and irr::core::triangle3d< T >::pointC.
Referenced by irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), and irr::core::triangle3d< T
>::isFrontFacing().

7.169.3.7 template<class T> plane3d<T> irr::core::triangle3d< T >::getPlane () const


[inline]

Returns the plane of this triangle.


Definition at line 189 of file triangle3d.h.
References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.

7.169.3.8 template<class T> bool irr::core::triangle3d< T >::isFrontFacing (const vector3d< T


> & lookDirection) const [inline]

Test if the triangle would be front or backfacing from any point. Thus, this method assumes a camera
position from which the triangle is definitely visible when looking into the given direction. Do not use this
method with points as it will give wrong results!

Parameters:
lookDirection: Look direction.

Returns:
Returns true if the plane is front facing and false if it is backfacing.

Definition at line 181 of file triangle3d.h.


References irr::core::vector3d< T >::dotProduct(), F32_LOWER_EQUAL_0, irr::core::triangle3d< T
>::getNormal(), and irr::core::vector3d< T >::normalize().

7.169.3.9 template<class T> bool irr::core::triangle3d< T >::isPointInside (const vector3d< T >


& p) const [inline]

Check if a point is inside the triangle

Parameters:
p: Point to test. Assumes that this point is already on the plane of the triangle.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.169 irr::core::triangle3d< T > Class Template Reference 815

Returns:
Returns true if the point is inside the triangle, otherwise false.

Definition at line 75 of file triangle3d.h.


References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.
Referenced by irr::core::triangle3d< T >::getIntersectionWithLine().

7.169.3.10 template<class T> bool irr::core::triangle3d< T >::isPointInsideFast (const


vector3d< T > & p) const [inline]

Check if a point is inside the triangle. This method is an implementation of the example used in a paper by
Kasper Fauerby original written by Keidy from Mr-Gamemaker.

Parameters:
p: Point to test. Assumes that this point is already on the plane of the triangle.

Returns:
Returns true if the point is inside the triangle, otherwise false.

Definition at line 89 of file triangle3d.h.


References irr::core::vector3d< T >::dotProduct(), IR, irr::core::triangle3d< T >::pointA,
irr::core::triangle3d< T >::pointB, and irr::core::triangle3d< T >::pointC.

7.169.3.11 template<class T> bool irr::core::triangle3d< T >::isTotalInsideBox (const


aabbox3d< T > & box) const [inline]

Determines if the triangle is totally inside a bounding box.

Parameters:
box: Box to check.

Returns:
Returns true if the triangle is within the box, and false otherwise.

Definition at line 45 of file triangle3d.h.


References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.

7.169.3.12 template<class T> bool irr::core::triangle3d< T >::operator!= (const triangle3d< T


> & other) const [inline]

Inequality operator.
Definition at line 36 of file triangle3d.h.

7.169.3.13 template<class T> bool irr::core::triangle3d< T >::operator== (const triangle3d< T


> & other) const [inline]

Equality operator.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


816 Irrlicht Engine Class Documentation

Definition at line 30 of file triangle3d.h.


References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.

7.169.3.14 template<class T> void irr::core::triangle3d< T >::set (const core::vector3d< T > &
a, const core::vector3d< T > & b, const core::vector3d< T > & c) [inline]

sets the triangle’s points


Definition at line 202 of file triangle3d.h.
References irr::core::triangle3d< T >::pointA, irr::core::triangle3d< T >::pointB, and
irr::core::triangle3d< T >::pointC.

7.169.4 Member Data Documentation

7.169.4.1 template<class T> vector3d<T> irr::core::triangle3d< T >::pointA

the three points of the triangle


Definition at line 210 of file triangle3d.h.
Referenced by irr::core::triangle3d< T >::closestPointOnTriangle(), irr::core::triangle3d< T >::getArea(),
irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), irr::core::triangle3d< T >::getNormal(),
irr::core::triangle3d< T >::getPlane(), irr::core::triangle3d< T >::isPointInside(), irr::core::triangle3d<
T >::isPointInsideFast(), irr::core::triangle3d< T >::isTotalInsideBox(), irr::core::triangle3d< T
>::operator==(), irr::core::triangle3d< T >::set(), and irr::core::triangle3d< T >::triangle3d().

7.169.4.2 template<class T> vector3d<T> irr::core::triangle3d< T >::pointB

Definition at line 211 of file triangle3d.h.


Referenced by irr::core::triangle3d< T >::closestPointOnTriangle(), irr::core::triangle3d< T >::getArea(),
irr::core::triangle3d< T >::getNormal(), irr::core::triangle3d< T >::getPlane(), irr::core::triangle3d<
T >::isPointInside(), irr::core::triangle3d< T >::isPointInsideFast(), irr::core::triangle3d< T >::is-
TotalInsideBox(), irr::core::triangle3d< T >::operator==(), irr::core::triangle3d< T >::set(), and
irr::core::triangle3d< T >::triangle3d().

7.169.4.3 template<class T> vector3d<T> irr::core::triangle3d< T >::pointC

Definition at line 212 of file triangle3d.h.


Referenced by irr::core::triangle3d< T >::closestPointOnTriangle(), irr::core::triangle3d< T >::getArea(),
irr::core::triangle3d< T >::getNormal(), irr::core::triangle3d< T >::getPlane(), irr::core::triangle3d<
T >::isPointInside(), irr::core::triangle3d< T >::isPointInsideFast(), irr::core::triangle3d< T >::is-
TotalInsideBox(), irr::core::triangle3d< T >::operator==(), irr::core::triangle3d< T >::set(), and
irr::core::triangle3d< T >::triangle3d().
The documentation for this class was generated from the following file:

• triangle3d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.170 irr::core::vector2d< T > Class Template Reference 817

7.170 irr::core::vector2d< T > Class Template Reference


2d vector template class with lots of operators and methods.
#include <vector2d.h>

Public Member Functions


• T dotProduct (const vector2d< T > &other) const
Get the dot product of this vector with another.

• bool equals (const vector2d< T > &other) const


Checks if this vector equals the other one.

• f64 getAngle () const


Calculates the angle of this vector in degrees in the counter trigonometric sense.

• f64 getAngleTrig () const


Calculates the angle of this vector in degrees in the trigonometric sense.

• f64 getAngleWith (const vector2d< T > &b) const


Calculates the angle between this vector and another one in degree.

• T getDistanceFrom (const vector2d< T > &other) const


Gets distance from another point.

• T getDistanceFromSQ (const vector2d< T > &other) const


Returns squared distance from another point.

• vector2d< T > getInterpolated (const vector2d< T > &other, f32 d) const


Get the interpolated vector.

• vector2d< T > getInterpolated_quadratic (const vector2d< T > &v2, const vector2d< T > &v3,
const T d) const
Returns (quadratically) interpolated vector between this and the two given ones.

• T getLength () const
Gets the length of the vector.

• T getLengthSQ () const
Get the squared length of this vector.

• void interpolate (const vector2d< T > &a, const vector2d< T > &b, const f32 t)
Sets this vector to the linearly interpolated vector between a and b.

• bool isBetweenPoints (const vector2d< T > &begin, const vector2d< T > &end) const
Returns if this vector interpreted as a point is on a line between two other points.

• vector2d< T > & normalize ()


Normalize the vector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


818 Irrlicht Engine Class Documentation

• vector2d< T > operator ∗ (const T v) const


• vector2d< T > operator ∗ (const vector2d< T > &other) const
• vector2d< T > & operator ∗= (const T v)
• vector2d< T > & operator ∗= (const vector2d< T > &other)
• bool operator!= (const vector2d< T > &other) const
• vector2d< T > operator+ (const T v) const
• vector2d< T > operator+ (const vector2d< T > &other) const
• vector2d< T > & operator+= (const T v)
• vector2d< T > & operator+= (const vector2d< T > &other)
• vector2d< T > operator- (const T v) const
• vector2d< T > operator- (const vector2d< T > &other) const
• vector2d< T > operator- () const
• vector2d< T > & operator-= (const T v)
• vector2d< T > & operator-= (const vector2d< T > &other)
• vector2d< T > operator/ (const T v) const
• vector2d< T > operator/ (const vector2d< T > &other) const
• vector2d< T > & operator/= (const T v)
• vector2d< T > & operator/= (const vector2d< T > &other)
• bool operator< (const vector2d< T > &other) const
• bool operator<= (const vector2d< T > &other) const
• vector2d< T > & operator= (const vector2d< T > &other)
• bool operator== (const vector2d< T > &other) const
• bool operator> (const vector2d< T > &other) const
• bool operator>= (const vector2d< T > &other) const
• void rotateBy (f64 degrees, const vector2d< T > &center)
rotates the point around a center by an amount of degrees.

• void set (const vector2d< T > &p)


• void set (T nx, T ny)
• vector2d (const vector2d< T > &other)
• vector2d (T nx, T ny)
• vector2d ()

Public Attributes
• TX
X coordinate of vector.

• TY
Y coordinate of vector.

7.170.1 Detailed Description

template<class T> class irr::core::vector2d< T >

2d vector template class with lots of operators and methods.


Definition at line 18 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.170 irr::core::vector2d< T > Class Template Reference 819

7.170.2 Constructor & Destructor Documentation

7.170.2.1 template<class T> irr::core::vector2d< T >::vector2d () [inline]

Definition at line 22 of file vector2d.h.

7.170.2.2 template<class T> irr::core::vector2d< T >::vector2d (T nx, T ny) [inline]

Definition at line 23 of file vector2d.h.

7.170.2.3 template<class T> irr::core::vector2d< T >::vector2d (const vector2d< T > & other)
[inline]

Definition at line 24 of file vector2d.h.

7.170.3 Member Function Documentation

7.170.3.1 template<class T> T irr::core::vector2d< T >::dotProduct (const vector2d< T > &


other) const [inline]

Get the dot product of this vector with another.

Parameters:
other Other vector to take dot product with.

Returns:
The dot product of the two vectors.

Definition at line 87 of file vector2d.h.


Referenced by irr::core::line2d< T >::getClosestPoint().

7.170.3.2 template<class T> bool irr::core::vector2d< T >::equals (const vector2d< T > &
other) const [inline]

Checks if this vector equals the other one.


Takes floating point rounding errors into account.

Parameters:
other Vector to compare with.

Returns:
True if the two vector are (almost) equal, else false.

Definition at line 67 of file vector2d.h.

7.170.3.3 template<class T> f64 irr::core::vector2d< T >::getAngle () const [inline]

Calculates the angle of this vector in degrees in the counter trigonometric sense.
0 is to the right (3 o’clock), values increase counter-clockwise.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


820 Irrlicht Engine Class Documentation

Returns:
Returns a value between 0 and 360.

Definition at line 169 of file vector2d.h.

7.170.3.4 template<class T> f64 irr::core::vector2d< T >::getAngleTrig () const [inline]

Calculates the angle of this vector in degrees in the trigonometric sense.


0 is to the left (9 o’clock), values increase clockwise. This method has been suggested by Pr3t3nd3r.

Returns:
Returns a value between 0 and 360.

Definition at line 146 of file vector2d.h.

7.170.3.5 template<class T> f64 irr::core::vector2d< T >::getAngleWith (const vector2d< T >


& b) const [inline]

Calculates the angle between this vector and another one in degree.

Parameters:
b Other vector to test with.

Returns:
Returns a value between 0 and 90.

Definition at line 197 of file vector2d.h.


Referenced by irr::core::line2d< T >::getAngleWith().

7.170.3.6 template<class T> T irr::core::vector2d< T >::getDistanceFrom (const vector2d< T >


& other) const [inline]

Gets distance from another point.


Here, the vector is interpreted as a point in 2-dimensional space.

Parameters:
other Other vector to measure from.

Returns:
Distance from other point.

Definition at line 96 of file vector2d.h.

7.170.3.7 template<class T> T irr::core::vector2d< T >::getDistanceFromSQ (const vector2d<


T > & other) const [inline]

Returns squared distance from another point.


Here, the vector is interpreted as a point in 2-dimensional space.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.170 irr::core::vector2d< T > Class Template Reference 821

Parameters:
other Other vector to measure from.

Returns:
Squared distance from other point.

Definition at line 105 of file vector2d.h.


Referenced by irr::core::vector2d< f32 >::isBetweenPoints().

7.170.3.8 template<class T> vector2d<T> irr::core::vector2d< T >::getInterpolated (const


vector2d< T > & other, f32 d) const [inline]

Get the interpolated vector.

Parameters:
other Other vector to interpolate with.
d Value between 0.0f and 1.0f.

Returns:
Interpolated vector.

Definition at line 227 of file vector2d.h.

7.170.3.9 template<class T> vector2d<T> irr::core::vector2d< T >::getInterpolated_quadratic


(const vector2d< T > & v2, const vector2d< T > & v3, const T d) const [inline]

Returns (quadratically) interpolated vector between this and the two given ones.

Parameters:
v2 Second vector to interpolate with
v3 Third vector to interpolate with
d Value between 0.0f and 1.0f.

Returns:
Interpolated vector.

Definition at line 238 of file vector2d.h.

7.170.3.10 template<class T> T irr::core::vector2d< T >::getLength () const [inline]

Gets the length of the vector.

Returns:
The length of the vector.

Definition at line 77 of file vector2d.h.


Referenced by irr::core::vector2d< f32 >::getAngle(), and irr::core::line2d< T >::getClosestPoint().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


822 Irrlicht Engine Class Documentation

7.170.3.11 template<class T> T irr::core::vector2d< T >::getLengthSQ () const [inline]

Get the squared length of this vector.


This is useful because it is much faster than getLength().

Returns:
The squared length of the vector.

Definition at line 82 of file vector2d.h.

7.170.3.12 template<class T> void irr::core::vector2d< T >::interpolate (const vector2d< T > &
a, const vector2d< T > & b, const f32 t) [inline]

Sets this vector to the linearly interpolated vector between a and b.

Parameters:
a first vector to interpolate with
b second vector to interpolate with
t value between 0.0f and 1.0f.

Definition at line 254 of file vector2d.h.

7.170.3.13 template<class T> bool irr::core::vector2d< T >::isBetweenPoints (const vector2d<


T > & begin, const vector2d< T > & end) const [inline]

Returns if this vector interpreted as a point is on a line between two other points.
It is assumed that the point is on the line.

Parameters:
begin Beginning vector to compare between.
end Ending vector to compare between.

Returns:
True if this vector is between begin and end, false if not.

Definition at line 216 of file vector2d.h.


Referenced by irr::core::line2d< T >::isPointBetweenStartAndEnd().

7.170.3.14 template<class T> vector2d<T>& irr::core::vector2d< T >::normalize ()


[inline]

Normalize the vector.


The null vector is left untouched.

Returns:
Reference to this vector, after normalization.

Definition at line 131 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.170 irr::core::vector2d< T > Class Template Reference 823

7.170.3.15 template<class T> vector2d<T> irr::core::vector2d< T >::operator ∗ (const T v)


const [inline]

Definition at line 44 of file vector2d.h.

7.170.3.16 template<class T> vector2d<T> irr::core::vector2d< T >::operator ∗ (const


vector2d< T > & other) const [inline]

Definition at line 42 of file vector2d.h.

7.170.3.17 template<class T> vector2d<T>& irr::core::vector2d< T >::operator ∗= (const T v)


[inline]

Definition at line 45 of file vector2d.h.

7.170.3.18 template<class T> vector2d<T>& irr::core::vector2d< T >::operator ∗= (const


vector2d< T > & other) [inline]

Definition at line 43 of file vector2d.h.

7.170.3.19 template<class T> bool irr::core::vector2d< T >::operator!= (const vector2d< T > &
other) const [inline]

Definition at line 59 of file vector2d.h.

7.170.3.20 template<class T> vector2d<T> irr::core::vector2d< T >::operator+ (const T v)


const [inline]

Definition at line 34 of file vector2d.h.

7.170.3.21 template<class T> vector2d<T> irr::core::vector2d< T >::operator+ (const


vector2d< T > & other) const [inline]

Definition at line 32 of file vector2d.h.

7.170.3.22 template<class T> vector2d<T>& irr::core::vector2d< T >::operator+= (const T v)


[inline]

Definition at line 35 of file vector2d.h.

7.170.3.23 template<class T> vector2d<T>& irr::core::vector2d< T >::operator+= (const


vector2d< T > & other) [inline]

Definition at line 33 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


824 Irrlicht Engine Class Documentation

7.170.3.24 template<class T> vector2d<T> irr::core::vector2d< T >::operator- (const T v) const


[inline]

Definition at line 39 of file vector2d.h.

7.170.3.25 template<class T> vector2d<T> irr::core::vector2d< T >::operator- (const


vector2d< T > & other) const [inline]

Definition at line 37 of file vector2d.h.

7.170.3.26 template<class T> vector2d<T> irr::core::vector2d< T >::operator- () const


[inline]

Definition at line 28 of file vector2d.h.

7.170.3.27 template<class T> vector2d<T>& irr::core::vector2d< T >::operator-= (const T v)


[inline]

Definition at line 40 of file vector2d.h.

7.170.3.28 template<class T> vector2d<T>& irr::core::vector2d< T >::operator-= (const


vector2d< T > & other) [inline]

Definition at line 38 of file vector2d.h.

7.170.3.29 template<class T> vector2d<T> irr::core::vector2d< T >::operator/ (const T v) const


[inline]

Definition at line 49 of file vector2d.h.

7.170.3.30 template<class T> vector2d<T> irr::core::vector2d< T >::operator/ (const


vector2d< T > & other) const [inline]

Definition at line 47 of file vector2d.h.

7.170.3.31 template<class T> vector2d<T>& irr::core::vector2d< T >::operator/= (const T v)


[inline]

Definition at line 50 of file vector2d.h.

7.170.3.32 template<class T> vector2d<T>& irr::core::vector2d< T >::operator/= (const


vector2d< T > & other) [inline]

Definition at line 48 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.170 irr::core::vector2d< T > Class Template Reference 825

7.170.3.33 template<class T> bool irr::core::vector2d< T >::operator< (const vector2d< T > &
other) const [inline]

Definition at line 55 of file vector2d.h.

7.170.3.34 template<class T> bool irr::core::vector2d< T >::operator<= (const vector2d< T >


& other) const [inline]

Definition at line 52 of file vector2d.h.

7.170.3.35 template<class T> vector2d<T>& irr::core::vector2d< T >::operator= (const


vector2d< T > & other) [inline]

Definition at line 30 of file vector2d.h.

7.170.3.36 template<class T> bool irr::core::vector2d< T >::operator== (const vector2d< T >


& other) const [inline]

Definition at line 58 of file vector2d.h.

7.170.3.37 template<class T> bool irr::core::vector2d< T >::operator> (const vector2d< T > &
other) const [inline]

Definition at line 56 of file vector2d.h.

7.170.3.38 template<class T> bool irr::core::vector2d< T >::operator>= (const vector2d< T >


& other) const [inline]

Definition at line 53 of file vector2d.h.

7.170.3.39 template<class T> void irr::core::vector2d< T >::rotateBy (f64 degrees, const


vector2d< T > & center) [inline]

rotates the point around a center by an amount of degrees.

Parameters:
degrees Amount of degrees to rotate by.
center Rotation center.

Definition at line 113 of file vector2d.h.

7.170.3.40 template<class T> void irr::core::vector2d< T >::set (const vector2d< T > & p)
[inline]

Definition at line 73 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


826 Irrlicht Engine Class Documentation

7.170.3.41 template<class T> void irr::core::vector2d< T >::set (T nx, T ny) [inline]

Definition at line 72 of file vector2d.h.


Referenced by irr::core::vector2d< f32 >::rotateBy().

7.170.4 Member Data Documentation

7.170.4.1 template<class T> T irr::core::vector2d< T >::X

X coordinate of vector.
Definition at line 261 of file vector2d.h.

7.170.4.2 template<class T> T irr::core::vector2d< T >::Y

Y coordinate of vector.
Definition at line 263 of file vector2d.h.
The documentation for this class was generated from the following file:

• vector2d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 827

7.171 irr::core::vector3d< T > Class Template Reference


3d vector template class with lots of operators and methods.
#include <vector3d.h>

Public Member Functions


• vector3d< T > crossProduct (const vector3d< T > &p) const
Calculates the cross product with another vector.

• T dotProduct (const vector3d< T > &other) const


Get the dot product with another vector.

• bool equals (const vector3d< T > &other, const T tolerance=(T) ROUNDING_ERROR_32) const
returns if this vector equals the other one, taking floating point rounding errors into account

• void getAs4Values (T ∗array) const


Fills an array of 4 values with the vector data (usually floats).

• T getDistanceFrom (const vector3d< T > &other) const


Get distance from another point.

• T getDistanceFromSQ (const vector3d< T > &other) const


Returns squared distance from another point.

• vector3d< T > getHorizontalAngle ()


Gets the Y and Z rotations of a vector.

• vector3d< T > getInterpolated (const vector3d< T > &other, const T d) const


Returns interpolated vector.

• vector3d< T > getInterpolated_quadratic (const vector3d< T > &v2, const vector3d< T > &v3,
const T d) const
Returns interpolated vector. ( quadratic ).

• T getLength () const
Get length of the vector.

• T getLengthSQ () const
Get squared length of the vector.

• void invert ()
Inverts the vector.

• bool isBetweenPoints (const vector3d< T > &begin, const vector3d< T > &end) const
Returns if this vector interpreted as a point is on a line between two other points.

• vector3d< T > & normalize ()


Normalizes the vector.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


828 Irrlicht Engine Class Documentation

• vector3d< T > operator ∗ (const T v) const


• vector3d< T > operator ∗ (const vector3d< T > &other) const
• vector3d< T > & operator ∗= (const T v)
• vector3d< T > & operator ∗= (const vector3d< T > &other)
• bool operator!= (const vector3d< T > &other) const
• vector3d< T > operator+ (const vector3d< T > &other) const
• vector3d< T > & operator+= (const vector3d< T > &other)
• vector3d< T > operator- (const vector3d< T > &other) const
• vector3d< T > operator- () const
• vector3d< T > & operator-= (const vector3d< T > &other)
• vector3d< T > operator/ (const T v) const
• vector3d< T > operator/ (const vector3d< T > &other) const
• vector3d< T > & operator/= (const T v)
• vector3d< T > & operator/= (const vector3d< T > &other)
• bool operator< (const vector3d< T > &other) const
• bool operator<= (const vector3d< T > &other) const
• vector3d< T > & operator= (const vector3d< T > &other)
• bool operator== (const vector3d< T > &other) const
use weak float compare

• bool operator> (const vector3d< T > &other) const


• bool operator>= (const vector3d< T > &other) const
• void rotateXYBy (f64 degrees, const vector3d< T > &center)
Rotates the vector by a specified number of degrees around the Z axis and the specified center.

• void rotateXZBy (f64 degrees, const vector3d< T > &center)


Rotates the vector by a specified number of degrees around the Y axis and the specified center.

• void rotateYZBy (f64 degrees, const vector3d< T > &center)


Rotates the vector by a specified number of degrees around the X axis and the specified center.

• void set (const vector3d< T > &p)


• void set (const T nx, const T ny, const T nz)
• void setLength (T newlength)
Sets the length of the vector to a new value.

• vector3d (const vector3d< T > &other)


• vector3d (T nx, T ny, T nz)
• vector3d ()
Default constructor (null vector).

Public Attributes
• TX
X coordinate of the vector.

• TY

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 829

Y coordinate of the vector.

• TZ
Z coordinate of the vector.

7.171.1 Detailed Description

template<class T> class irr::core::vector3d< T >

3d vector template class with lots of operators and methods.


Definition at line 17 of file vector3d.h.

7.171.2 Constructor & Destructor Documentation

7.171.2.1 template<class T> irr::core::vector3d< T >::vector3d () [inline]

Default constructor (null vector).


Definition at line 21 of file vector3d.h.

7.171.2.2 template<class T> irr::core::vector3d< T >::vector3d (T nx, T ny, T nz) [inline]

Definition at line 22 of file vector3d.h.

7.171.2.3 template<class T> irr::core::vector3d< T >::vector3d (const vector3d< T > & other)
[inline]

Definition at line 23 of file vector3d.h.

7.171.3 Member Function Documentation

7.171.3.1 template<class T> vector3d<T> irr::core::vector3d< T >::crossProduct (const


vector3d< T > & p) const [inline]

Calculates the cross product with another vector.

Parameters:
p Vector to multiply with.

Returns:
Crossproduct of this vector with p.

Definition at line 107 of file vector3d.h.


Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4< T
>::buildCameraLookAtMatrixRH(), irr::core::triangle3d< T >::getArea(), irr::core::plane3d< f32 >::get-
IntersectionWithPlane(), irr::core::triangle3d< T >::getNormal(), irr::core::quaternion::operator ∗(), and
irr::core::quaternion::rotationFromTo().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


830 Irrlicht Engine Class Documentation

7.171.3.2 template<class T> T irr::core::vector3d< T >::dotProduct (const vector3d< T > &


other) const [inline]

Get the dot product with another vector.


Definition at line 85 of file vector3d.h.
Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4< T
>::buildCameraLookAtMatrixRH(), irr::core::CMatrix4< T >::buildShadowMatrix(), irr::core::line3d<
T >::getClosestPoint(), irr::core::plane3d< f32 >::getDistanceTo(), irr::core::triangle3d< T >::get-
IntersectionOfPlaneWithLine(), irr::core::plane3d< f32 >::getIntersectionWithPlane(), irr::core::line3d<
T >::getIntersectionWithSphere(), irr::core::triangle3d< T >::isFrontFacing(), irr::core::plane3d< f32
>::isFrontFacing(), irr::core::triangle3d< T >::isPointInsideFast(), irr::core::quaternion::rotationFrom-
To(), and irr::core::CMatrix4< T >::transformPlane().

7.171.3.3 template<class T> bool irr::core::vector3d< T >::equals (const vector3d< T > &
other, const T tolerance = (T)ROUNDING_ERROR_32) const [inline]

returns if this vector equals the other one, taking floating point rounding errors into account
Definition at line 66 of file vector3d.h.
Referenced by irr::core::aabbox3d< f32 >::isEmpty(), irr::core::vector3d< f32 >::operator!=(), and
irr::core::vector3d< f32 >::operator==().

7.171.3.4 template<class T> void irr::core::vector3d< T >::getAs4Values (T ∗ array) const


[inline]

Fills an array of 4 values with the vector data (usually floats).


Useful for setting in shader constants for example. The fourth value will always be 0.
Definition at line 256 of file vector3d.h.

7.171.3.5 template<class T> T irr::core::vector3d< T >::getDistanceFrom (const vector3d< T >


& other) const [inline]

Get distance from another point.


Here, the vector is interpreted as point in 3 dimensional space.
Definition at line 92 of file vector3d.h.
Referenced by irr::core::triangle3d< T >::closestPointOnTriangle().

7.171.3.6 template<class T> T irr::core::vector3d< T >::getDistanceFromSQ (const vector3d<


T > & other) const [inline]

Returns squared distance from another point.


Here, the vector is interpreted as point in 3 dimensional space.
Definition at line 99 of file vector3d.h.
Referenced by irr::core::vector3d< f32 >::isBetweenPoints().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 831

7.171.3.7 template<class T> vector3d<T> irr::core::vector3d< T >::getHorizontalAngle ()


[inline]

Gets the Y and Z rotations of a vector.


Thanks to Arras on the Irrlicht forums to add this method.

Returns:
A vector representing the rotation in degrees of this vector. The Z component of the vector will always
be 0.

Definition at line 231 of file vector3d.h.

7.171.3.8 template<class T> vector3d<T> irr::core::vector3d< T >::getInterpolated (const


vector3d< T > & other, const T d) const [inline]

Returns interpolated vector.

Parameters:
other Other vector to interpolate between
d Value between 0.0f and 1.0f.

Definition at line 204 of file vector3d.h.

7.171.3.9 template<class T> vector3d<T> irr::core::vector3d< T >::getInterpolated_quadratic


(const vector3d< T > & v2, const vector3d< T > & v3, const T d) const [inline]

Returns interpolated vector. ( quadratic ).

Parameters:
v2 Second vector to interpolate with
v3 Third vector to interpolate with
d Value between 0.0f and 1.0f.

Definition at line 214 of file vector3d.h.

7.171.3.10 template<class T> T irr::core::vector3d< T >::getLength () const [inline]

Get length of the vector.


Definition at line 77 of file vector3d.h.
Referenced by irr::core::plane3d< f32 >::existsIntersection(), irr::core::triangle3d< T >::getArea(),
irr::core::line3d< T >::getClosestPoint(), irr::core::plane3d< f32 >::getIntersectionWithPlane(), and
irr::core::line3d< T >::getIntersectionWithSphere().

7.171.3.11 template<class T> T irr::core::vector3d< T >::getLengthSQ () const [inline]

Get squared length of the vector.


This is useful because it is much faster than getLength().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


832 Irrlicht Engine Class Documentation

Returns:
Squared length of the vector.

Definition at line 82 of file vector3d.h.

7.171.3.12 template<class T> void irr::core::vector3d< T >::invert () [inline]

Inverts the vector.


Definition at line 149 of file vector3d.h.

7.171.3.13 template<class T> bool irr::core::vector3d< T >::isBetweenPoints (const vector3d<


T > & begin, const vector3d< T > & end) const [inline]

Returns if this vector interpreted as a point is on a line between two other points.
It is assumed that the point is on the line.

Parameters:
begin Beginning vector to compare between.
end Ending vector to compare between.

Returns:
True if this vector is between begin and end, false if not.

Definition at line 117 of file vector3d.h.


Referenced by irr::core::triangle3d< T >::getIntersectionWithLimitedLine().

7.171.3.14 template<class T> vector3d<T>& irr::core::vector3d< T >::normalize ()


[inline]

Normalizes the vector.


In case of the 0 vector the result is still 0, otherwise the length of the vector will be 1. TODO: 64 Bit
template doesnt work.. need specialized template

Returns:
Reference to this vector after normalization.

Definition at line 129 of file vector3d.h.


Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4<
T >::buildCameraLookAtMatrixRH(), irr::core::CMatrix4< T >::buildShadowMatrix(),
irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), irr::core::triangle3d< T >::isFront-
Facing(), irr::core::quaternion::rotationFromTo(), and irr::core::vector3d< f32 >::setLength().

7.171.3.15 template<class T> vector3d<T> irr::core::vector3d< T >::operator ∗ (const T v)


const [inline]

Definition at line 39 of file vector3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 833

7.171.3.16 template<class T> vector3d<T> irr::core::vector3d< T >::operator ∗ (const


vector3d< T > & other) const [inline]

Definition at line 37 of file vector3d.h.

7.171.3.17 template<class T> vector3d<T>& irr::core::vector3d< T >::operator ∗= (const T v)


[inline]

Definition at line 40 of file vector3d.h.

7.171.3.18 template<class T> vector3d<T>& irr::core::vector3d< T >::operator ∗= (const


vector3d< T > & other) [inline]

Definition at line 38 of file vector3d.h.

7.171.3.19 template<class T> bool irr::core::vector3d< T >::operator!= (const vector3d< T > &
other) const [inline]

Definition at line 58 of file vector3d.h.

7.171.3.20 template<class T> vector3d<T> irr::core::vector3d< T >::operator+ (const


vector3d< T > & other) const [inline]

Definition at line 31 of file vector3d.h.

7.171.3.21 template<class T> vector3d<T>& irr::core::vector3d< T >::operator+= (const


vector3d< T > & other) [inline]

Definition at line 32 of file vector3d.h.

7.171.3.22 template<class T> vector3d<T> irr::core::vector3d< T >::operator- (const


vector3d< T > & other) const [inline]

Definition at line 34 of file vector3d.h.

7.171.3.23 template<class T> vector3d<T> irr::core::vector3d< T >::operator- () const


[inline]

Definition at line 27 of file vector3d.h.

7.171.3.24 template<class T> vector3d<T>& irr::core::vector3d< T >::operator-= (const


vector3d< T > & other) [inline]

Definition at line 35 of file vector3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


834 Irrlicht Engine Class Documentation

7.171.3.25 template<class T> vector3d<T> irr::core::vector3d< T >::operator/ (const T v) const


[inline]

Definition at line 44 of file vector3d.h.

7.171.3.26 template<class T> vector3d<T> irr::core::vector3d< T >::operator/ (const


vector3d< T > & other) const [inline]

Definition at line 42 of file vector3d.h.

7.171.3.27 template<class T> vector3d<T>& irr::core::vector3d< T >::operator/= (const T v)


[inline]

Definition at line 45 of file vector3d.h.

7.171.3.28 template<class T> vector3d<T>& irr::core::vector3d< T >::operator/= (const


vector3d< T > & other) [inline]

Definition at line 43 of file vector3d.h.

7.171.3.29 template<class T> bool irr::core::vector3d< T >::operator< (const vector3d< T > &
other) const [inline]

Definition at line 49 of file vector3d.h.

7.171.3.30 template<class T> bool irr::core::vector3d< T >::operator<= (const vector3d< T >


& other) const [inline]

Definition at line 47 of file vector3d.h.

7.171.3.31 template<class T> vector3d<T>& irr::core::vector3d< T >::operator= (const


vector3d< T > & other) [inline]

Definition at line 29 of file vector3d.h.

7.171.3.32 template<class T> bool irr::core::vector3d< T >::operator== (const vector3d< T >


& other) const [inline]

use weak float compare


Definition at line 53 of file vector3d.h.

7.171.3.33 template<class T> bool irr::core::vector3d< T >::operator> (const vector3d< T > &
other) const [inline]

Definition at line 50 of file vector3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 835

7.171.3.34 template<class T> bool irr::core::vector3d< T >::operator>= (const vector3d< T >


& other) const [inline]

Definition at line 48 of file vector3d.h.

7.171.3.35 template<class T> void irr::core::vector3d< T >::rotateXYBy (f64 degrees, const


vector3d< T > & center) [inline]

Rotates the vector by a specified number of degrees around the Z axis and the specified center.

Parameters:
degrees: Number of degrees to rotate around the Z axis.
center: The center of the rotation.

Definition at line 174 of file vector3d.h.

7.171.3.36 template<class T> void irr::core::vector3d< T >::rotateXZBy (f64 degrees, const


vector3d< T > & center) [inline]

Rotates the vector by a specified number of degrees around the Y axis and the specified center.

Parameters:
degrees Number of degrees to rotate around the Y axis.
center The center of the rotation.

Definition at line 159 of file vector3d.h.

7.171.3.37 template<class T> void irr::core::vector3d< T >::rotateYZBy (f64 degrees, const


vector3d< T > & center) [inline]

Rotates the vector by a specified number of degrees around the X axis and the specified center.

Parameters:
degrees: Number of degrees to rotate around the X axis.
center: The center of the rotation.

Definition at line 189 of file vector3d.h.

7.171.3.38 template<class T> void irr::core::vector3d< T >::set (const vector3d< T > & p)
[inline]

Definition at line 74 of file vector3d.h.

7.171.3.39 template<class T> void irr::core::vector3d< T >::set (const T nx, const T ny, const T
nz) [inline]

Definition at line 73 of file vector3d.h.


Referenced by irr::core::aabbox3d< f32 >::getEdges(), irr::core::vector3d< f32 >::rotateXYBy(),
irr::core::vector3d< f32 >::rotateXZBy(), and irr::core::vector3d< f32 >::rotateYZBy().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


836 Irrlicht Engine Class Documentation

7.171.3.40 template<class T> void irr::core::vector3d< T >::setLength (T newlength)


[inline]

Sets the length of the vector to a new value.


Definition at line 142 of file vector3d.h.

7.171.4 Member Data Documentation

7.171.4.1 template<class T> T irr::core::vector3d< T >::X

X coordinate of the vector.


Definition at line 266 of file vector3d.h.
Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4<
T >::buildCameraLookAtMatrixRH(), irr::core::CMatrix4< T >::buildShadowMatrix(),
irr::core::aabbox3d< f32 >::classifyPlaneRelation(), irr::scene::quake3::getAsVector3df(),
irr::core::aabbox3d< f32 >::getEdges(), irr::core::vector3d< f32 >::getHorizontalAngle(),
irr::core::aabbox3d< f32 >::intersectsWithLine(), irr::core::CMatrix4< T >::inverse-
RotateVect(), irr::core::aabbox3d< f32 >::repair(), irr::core::CMatrix4< T >::rotate-
Vect(), irr::core::quaternion::rotationFromTo(), irr::core::CMatrix4< T >::transformBoxEx(),
irr::core::CMatrix4< T >::transformPlane_new(), and irr::core::CMatrix4< T >::transformVect().

7.171.4.2 template<class T> T irr::core::vector3d< T >::Y

Y coordinate of the vector.


Definition at line 268 of file vector3d.h.
Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4<
T >::buildCameraLookAtMatrixRH(), irr::core::CMatrix4< T >::buildShadowMatrix(),
irr::core::aabbox3d< f32 >::classifyPlaneRelation(), irr::scene::quake3::getAsVector3df(),
irr::core::aabbox3d< f32 >::getEdges(), irr::core::vector3d< f32 >::getHorizontalAngle(),
irr::core::aabbox3d< f32 >::intersectsWithLine(), irr::core::CMatrix4< T >::inverse-
RotateVect(), irr::core::aabbox3d< f32 >::repair(), irr::core::CMatrix4< T >::rotate-
Vect(), irr::core::quaternion::rotationFromTo(), irr::core::CMatrix4< T >::transformBoxEx(),
irr::core::CMatrix4< T >::transformPlane_new(), and irr::core::CMatrix4< T >::transformVect().

7.171.4.3 template<class T> T irr::core::vector3d< T >::Z

Z coordinate of the vector.


Definition at line 270 of file vector3d.h.
Referenced by irr::core::CMatrix4< T >::buildCameraLookAtMatrixLH(), irr::core::CMatrix4<
T >::buildCameraLookAtMatrixRH(), irr::core::CMatrix4< T >::buildShadowMatrix(),
irr::core::aabbox3d< f32 >::classifyPlaneRelation(), irr::scene::quake3::getAsVector3df(),
irr::core::aabbox3d< f32 >::getEdges(), irr::core::aabbox3d< f32 >::intersectsWith-
Line(), irr::core::CMatrix4< T >::inverseRotateVect(), irr::core::aabbox3d< f32 >::repair(),
irr::core::CMatrix4< T >::rotateVect(), irr::core::quaternion::rotationFromTo(), irr::core::CMatrix4< T
>::transformBoxEx(), irr::core::CMatrix4< T >::transformPlane_new(), and irr::core::CMatrix4< T
>::transformVect().
The documentation for this class was generated from the following file:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


7.171 irr::core::vector3d< T > Class Template Reference 837

• vector3d.h

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


838 Irrlicht Engine Class Documentation

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


Chapter 8

Irrlicht Engine File Documentation

8.1 aabbox3d.h File Reference


#include "irrMath.h"
#include "plane3d.h"
#include "line3d.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.

• typedef aabbox3d< s32 > aabbox3di


Typedef for an integer 3d bounding box.

8.1.1 Typedef Documentation

8.1.1.1 typedef aabbox3d<f32> irr::core::aabbox3df

Typedef for a f32 3d bounding box.


Definition at line 310 of file aabbox3d.h.

8.1.1.2 typedef aabbox3d<s32> irr::core::aabbox3di

Typedef for an integer 3d bounding box.


Definition at line 312 of file aabbox3d.h.
840 Irrlicht Engine File Documentation

8.2 CMeshBuffer.h File Reference


#include "irrArray.h"
#include "IMeshBuffer.h"

Namespaces
• namespace irr
• namespace irr::scene

Typedefs
• typedef CMeshBuffer< video::S3DVertex > SMeshBuffer
Standard meshbuffer.

• typedef CMeshBuffer< video::S3DVertex2TCoords > SMeshBufferLightMap


Meshbuffer with two texture coords per vertex, e.g. for lightmaps.

• typedef CMeshBuffer< video::S3DVertexTangents > SMeshBufferTangents


Meshbuffer with vertices having tangents stored, e.g. for normal mapping.

8.2.1 Typedef Documentation

8.2.1.1 typedef CMeshBuffer<video::S3DVertex> irr::scene::SMeshBuffer

Standard meshbuffer.
Definition at line 200 of file CMeshBuffer.h.

8.2.1.2 typedef CMeshBuffer<video::S3DVertex2TCoords> irr::scene::SMeshBufferLightMap

Meshbuffer with two texture coords per vertex, e.g. for lightmaps.
Definition at line 202 of file CMeshBuffer.h.

8.2.1.3 typedef CMeshBuffer<video::S3DVertexTangents> irr::scene::SMeshBufferTangents

Meshbuffer with vertices having tangents stored, e.g. for normal mapping.
Definition at line 204 of file CMeshBuffer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.3 coreutil.h File Reference 841

8.3 coreutil.h File Reference


#include "irrString.h"

Namespaces
• namespace irr
• namespace irr::core

Functions
• stringc & cutFilenameExtension (stringc &dest, const stringc &source)
cut the filename extension from a string

• stringc & getFileNameExtension (stringc &dest, const stringc &source)


get the filename extension from a string

• s32 isdigit (s32 c)


some standard function ( to remove dependencies )

• s32 isspace (s32 c)


• s32 isupper (s32 c)

8.3.1 Function Documentation

8.3.1.1 stringc& cutFilenameExtension (stringc & dest, const stringc & source) [inline]

cut the filename extension from a string


Definition at line 22 of file coreutil.h.
References irr::core::string< T, TAlloc >::findLast(), and irr::core::string< T, TAlloc >::subString().
Referenced by irr::scene::quake3::getTextures().

8.3.1.2 stringc& getFileNameExtension (stringc & dest, const stringc & source) [inline]

get the filename extension from a string


Definition at line 30 of file coreutil.h.
References irr::core::string< T, TAlloc >::findLast(), and irr::core::string< T, TAlloc >::subString().

8.3.1.3 s32 isdigit (s32 c) [inline]

some standard function ( to remove dependencies )


Definition at line 44 of file coreutil.h.

8.3.1.4 s32 isspace (s32 c) [inline]

Definition at line 45 of file coreutil.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


842 Irrlicht Engine File Documentation

8.3.1.5 s32 isupper (s32 c) [inline]

Definition at line 46 of file coreutil.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.4 dimension2d.h File Reference 843

8.4 dimension2d.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef dimension2d< f32 > dimension2df
Typedef for an f32 dimension.

• typedef dimension2d< s32 > dimension2di


Typedef for an integer dimension.

8.4.1 Typedef Documentation

8.4.1.1 typedef dimension2d<f32> irr::core::dimension2df

Typedef for an f32 dimension.


Definition at line 88 of file dimension2d.h.

8.4.1.2 typedef dimension2d<s32> irr::core::dimension2di

Typedef for an integer dimension.


Definition at line 90 of file dimension2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


844 Irrlicht Engine File Documentation

8.5 ECullingTypes.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_CULLING_TYPE { EAC_OFF = 0, EAC_BOX = 1, EAC_FRUSTUM_BOX = 2, EAC_-
FRUSTUM_SPHERE = 4 }
An enumeration for all types of automatic culling for built-in scene nodes.

Variables
• const c8 ∗const AutomaticCullingNames [ ]
Names for culling type.

8.5.1 Enumeration Type Documentation

8.5.1.1 enum irr::scene::E_CULLING_TYPE

An enumeration for all types of automatic culling for built-in scene nodes.

Enumeration values:
EAC_OFF
EAC_BOX
EAC_FRUSTUM_BOX
EAC_FRUSTUM_SPHERE

Definition at line 16 of file ECullingTypes.h.

8.5.2 Variable Documentation

8.5.2.1 const c8∗ const irr::scene::AutomaticCullingNames[ ]

Initial value:

{
"false",
"box",
"frustum_box",
"frustum_sphere",
0
}

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.5 ECullingTypes.h File Reference 845

Names for culling type.


Definition at line 25 of file ECullingTypes.h.
Referenced by irr::scene::ISceneNode::serializeAttributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


846 Irrlicht Engine File Documentation

8.6 EDebugSceneTypes.h File Reference

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_DEBUG_SCENE_TYPE {
EDS_OFF = 0, EDS_BBOX = 1, EDS_NORMALS = 2, EDS_SKELETON = 4,
EDS_MESH_WIRE_OVERLAY = 8, EDS_HALF_TRANSPARENCY = 16, EDS_BBOX_-
BUFFERS = 32, EDS_FULL = 0xffffffff }
An enumeration for all types of debug data for built-in scene nodes (flags).

8.6.1 Enumeration Type Documentation

8.6.1.1 enum irr::scene::E_DEBUG_SCENE_TYPE

An enumeration for all types of debug data for built-in scene nodes (flags).

Enumeration values:
EDS_OFF No Debug Data ( Default ).
EDS_BBOX Show Bounding Boxes of SceneNode.
EDS_NORMALS Show Vertex Normals.
EDS_SKELETON Shows Skeleton/Tags.
EDS_MESH_WIRE_OVERLAY Overlays Mesh Wireframe.
EDS_HALF_TRANSPARENCY Temporary use transparency Material Type.
EDS_BBOX_BUFFERS Show Bounding Boxes of all MeshBuffers.
EDS_FULL Show all debug infos.

Definition at line 14 of file EDebugSceneTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.7 EDriverFeatures.h File Reference 847

8.7 EDriverFeatures.h File Reference

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_VIDEO_DRIVER_FEATURE {
EVDF_RENDER_TO_TARGET = 0, EVDF_HARDWARE_TL, EVDF_MULTITEXTURE,
EVDF_BILINEAR_FILTER,
EVDF_MIP_MAP, EVDF_MIP_MAP_AUTO_UPDATE, EVDF_STENCIL_BUFFER, EVDF_-
VERTEX_SHADER_1_1,
EVDF_VERTEX_SHADER_2_0, EVDF_VERTEX_SHADER_3_0, EVDF_PIXEL_SHADER_-
1_1, EVDF_PIXEL_SHADER_1_2,
EVDF_PIXEL_SHADER_1_3, EVDF_PIXEL_SHADER_1_4, EVDF_PIXEL_SHADER_2_0,
EVDF_PIXEL_SHADER_3_0,
EVDF_ARB_VERTEX_PROGRAM_1, EVDF_ARB_FRAGMENT_PROGRAM_1, EVDF_-
ARB_GLSL, EVDF_HLSL,
EVDF_TEXTURE_NPOT, EVDF_FRAMEBUFFER_OBJECT }
enumeration for querying features of the video driver.

8.7.1 Enumeration Type Documentation

8.7.1.1 enum irr::video::E_VIDEO_DRIVER_FEATURE

enumeration for querying features of the video driver.

Enumeration values:
EVDF_RENDER_TO_TARGET Is driver able to render to a surface?
EVDF_HARDWARE_TL Is hardeware transform and lighting supported?
EVDF_MULTITEXTURE Are multiple textures per material possible?
EVDF_BILINEAR_FILTER Is driver able to render with a bilinear filter applied?
EVDF_MIP_MAP Can the driver handle mip maps?
EVDF_MIP_MAP_AUTO_UPDATE Can the driver update mip maps automatically?
EVDF_STENCIL_BUFFER Are stencilbuffers switched on and does the device support stencil
buffers?
EVDF_VERTEX_SHADER_1_1 Is Vertex Shader 1.1 supported?
EVDF_VERTEX_SHADER_2_0 Is Vertex Shader 2.0 supported?
EVDF_VERTEX_SHADER_3_0 Is Vertex Shader 3.0 supported?
EVDF_PIXEL_SHADER_1_1 Is Pixel Shader 1.1 supported?
EVDF_PIXEL_SHADER_1_2 Is Pixel Shader 1.2 supported?
EVDF_PIXEL_SHADER_1_3 Is Pixel Shader 1.3 supported?

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


848 Irrlicht Engine File Documentation

EVDF_PIXEL_SHADER_1_4 Is Pixel Shader 1.4 supported?


EVDF_PIXEL_SHADER_2_0 Is Pixel Shader 2.0 supported?
EVDF_PIXEL_SHADER_3_0 Is Pixel Shader 3.0 supported?
EVDF_ARB_VERTEX_PROGRAM_1 Are ARB vertex programs v1.0 supported?
EVDF_ARB_FRAGMENT_PROGRAM_1 Are ARB fragment programs v1.0 supported?
EVDF_ARB_GLSL Is GLSL supported?
EVDF_HLSL Is HLSL supported?
EVDF_TEXTURE_NPOT Are non-power-of-two textures supported?
EVDF_FRAMEBUFFER_OBJECT Are framebuffer objects supported?

Definition at line 14 of file EDriverFeatures.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.8 EDriverTypes.h File Reference 849

8.8 EDriverTypes.h File Reference

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_DRIVER_TYPE {
EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8,
EDT_DIRECT3D9, EDT_OPENGL }
An enum for all types of drivers the Irrlicht Engine supports.

8.8.1 Enumeration Type Documentation

8.8.1.1 enum irr::video::E_DRIVER_TYPE

An enum for all types of drivers the Irrlicht Engine supports.

Enumeration values:
EDT_NULL Null driver, useful for applications to run the engine without visualisation. The null
device is able to load textures, but does not render and display any graphics.
EDT_SOFTWARE The Irrlicht Engine Software renderer, runs on all platforms, with every hard-
ware. It should only be used for 2d graphics, but it can also perform some primitive 3d functions.
These 3d drawing functions are quite fast, but very inaccurate, and don’t even support clipping
in 3D mode.
EDT_BURNINGSVIDEO The Burning’s Software Renderer, an alternative software renderer for
Irrlicht. Basically it can be described as the Irrlicht Software renderer on steroids. It rasterizes 3D
geometry perfectly: It is able to perform correct 3d clipping, perspective correct texture mapping,
perspective correct color mapping, and renders sub pixel correct, sub texel correct primitives. In
addition, it does bilinear texel filtering and supports more materials than the EDT_SOFTWARE
driver. This renderer has been written entirely by Thomas Alten, thanks a lot for this huge
contribution.
EDT_DIRECT3D8 Direct3D8 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_DIRECT3D9 Direct3D 9 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_OPENGL OpenGL device, available on most platforms. Performs hardware accelerated ren-
dering of 3D and 2D primitives.

Definition at line 14 of file EDriverTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


850 Irrlicht Engine File Documentation

8.9 EGUIElementTypes.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::gui

Enumerations
• enum EGUI_ELEMENT_TYPE {
EGUIET_BUTTON = 0, EGUIET_CHECK_BOX, EGUIET_COMBO_BOX, EGUIET_-
CONTEXT_MENU,
EGUIET_MENU, EGUIET_EDIT_BOX, EGUIET_FILE_OPEN_DIALOG, EGUIET_COLOR_-
SELECT_DIALOG,
EGUIET_IN_OUT_FADER, EGUIET_IMAGE, EGUIET_LIST_BOX, EGUIET_MESH_-
VIEWER,
EGUIET_MESSAGE_BOX, EGUIET_MODAL_SCREEN, EGUIET_SCROLL_BAR, EGUIET_-
STATIC_TEXT,
EGUIET_TAB, EGUIET_TAB_CONTROL, EGUIET_TOOL_BAR, EGUIET_WINDOW,
EGUIET_SPIN_BOX, EGUIET_COUNT, EGUIET_ELEMENT, EGUIET_FORCE_32_BIT =
0x7fffffff }
List of all basic Irrlicht GUI elements.

Variables
• const c8 ∗const GUIElementTypeNames [ ]
Names for built-in element types.

8.9.1 Enumeration Type Documentation

8.9.1.1 enum irr::gui::EGUI_ELEMENT_TYPE

List of all basic Irrlicht GUI elements.


An IGUIElement returns this when calling IGUIElement::getType();

Enumeration values:
EGUIET_BUTTON A button (IGUIButton).
EGUIET_CHECK_BOX A check box (IGUICheckBox).
EGUIET_COMBO_BOX A combo box (IGUIComboBox).
EGUIET_CONTEXT_MENU A context menu (IGUIContextMenu).
EGUIET_MENU A menu (IGUIMenu).
EGUIET_EDIT_BOX An edit box (IGUIEditBox).

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.9 EGUIElementTypes.h File Reference 851

EGUIET_FILE_OPEN_DIALOG A file open dialog (IGUIFileOpenDialog).


EGUIET_COLOR_SELECT_DIALOG A color select open dialog (IGUIColorSelectDialog).
EGUIET_IN_OUT_FADER A in/out fader (IGUIInOutFader).
EGUIET_IMAGE An image (IGUIImage).
EGUIET_LIST_BOX A list box (IGUIListBox).
EGUIET_MESH_VIEWER A mesh viewer (IGUIMeshViewer).
EGUIET_MESSAGE_BOX A message box (IGUIWindow).
EGUIET_MODAL_SCREEN A modal screen.
EGUIET_SCROLL_BAR A scroll bar (IGUIScrollBar).
EGUIET_STATIC_TEXT A static text (IGUIStaticText).
EGUIET_TAB A tab (IGUITab).
EGUIET_TAB_CONTROL A tab control.
EGUIET_TOOL_BAR A tool bar (IGUIToolBar).
EGUIET_WINDOW A window.
EGUIET_SPIN_BOX A spin box (IGUISpinBox).
EGUIET_COUNT Not an element, amount of elements in there.
EGUIET_ELEMENT Unknown type.
EGUIET_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.

Definition at line 17 of file EGUIElementTypes.h.

8.9.2 Variable Documentation

8.9.2.1 const c8∗ const irr::gui::GUIElementTypeNames[ ]

Initial value:

{
"button",
"checkBox",
"comboBox",
"contextMenu",
"menu",
"editBox",
"fileOpenDialog",
"colorSelectDialog",
"inOutFader",
"image",
"listBox",
"meshViewer",
"messageBox",
"modalScreen",
"scrollBar",
"staticText",
"tab",
"tabControl",
"toolBar",
"window",
"spinBox",
0
}

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


852 Irrlicht Engine File Documentation

Names for built-in element types.


Definition at line 95 of file EGUIElementTypes.h.
Referenced by irr::gui::IGUIElement::getTypeName().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.10 EMaterialFlags.h File Reference 853

8.10 EMaterialFlags.h File Reference

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_MATERIAL_FLAG {
EMF_WIREFRAME = 0, EMF_POINTCLOUD, EMF_GOURAUD_SHADING, EMF_-
LIGHTING,
EMF_ZBUFFER, EMF_ZWRITE_ENABLE, EMF_BACK_FACE_CULLING, EMF_-
BILINEAR_FILTER,
EMF_TRILINEAR_FILTER, EMF_ANISOTROPIC_FILTER, EMF_FOG_ENABLE, EMF_-
NORMALIZE_NORMALS,
EMF_TEXTURE_WRAP, EMF_MATERIAL_FLAG_COUNT }
Material flags.

8.10.1 Enumeration Type Documentation

8.10.1.1 enum irr::video::E_MATERIAL_FLAG

Material flags.

Enumeration values:
EMF_WIREFRAME Draw as wireframe or filled triangles? Default: false.
EMF_POINTCLOUD Draw as point cloud or filled triangles? Default: false.
EMF_GOURAUD_SHADING Flat or Gouraud shading? Default: true.
EMF_LIGHTING Will this material be lighted? Default: true.
EMF_ZBUFFER Is the ZBuffer enabled? Default: true.
EMF_ZWRITE_ENABLE May be written to the zbuffer or is it readonly. Default: true This flag is
ignored, if the material type is a transparent type.
EMF_BACK_FACE_CULLING Is backfaceculling enabled? Default: true.
EMF_BILINEAR_FILTER Is bilinear filtering enabled? Default: true.
EMF_TRILINEAR_FILTER Is trilinear filtering enabled? Default: false If the trilinear filter flag
is enabled, the bilinear filtering flag is ignored.
EMF_ANISOTROPIC_FILTER Is anisotropic filtering? Default: false In Irrlicht you can use
anisotropic texture filtering in conjunction with bilinear or trilinear texture filtering to improve
rendering results. Primitives will look less blurry with this flag switched on.
EMF_FOG_ENABLE Is fog enabled? Default: false.
EMF_NORMALIZE_NORMALS Normalizes normals.You can enable this if you need to scale a
dynamic lighted model. Usually, its normals will get scaled too then and it will get darker. If you
enable the EMF_NORMALIZE_NORMALS flag, the normals will be normalized again, and the
model will look as bright as it should.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


854 Irrlicht Engine File Documentation

EMF_TEXTURE_WRAP Access to all layers texture wrap settings. Overwrites separate layer set-
tings.
EMF_MATERIAL_FLAG_COUNT This is not a flag, but a value indicating how much flags there
are.

Definition at line 14 of file EMaterialFlags.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.11 EMaterialTypes.h File Reference 855

8.11 EMaterialTypes.h File Reference

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_MATERIAL_TYPE {
EMT_SOLID = 0, EMT_SOLID_2_LAYER, EMT_LIGHTMAP, EMT_LIGHTMAP_ADD,
EMT_LIGHTMAP_M2, EMT_LIGHTMAP_M4, EMT_LIGHTMAP_LIGHTING, EMT_-
LIGHTMAP_LIGHTING_M2,
EMT_LIGHTMAP_LIGHTING_M4, EMT_DETAIL_MAP, EMT_SPHERE_MAP, EMT_-
REFLECTION_2_LAYER,
EMT_TRANSPARENT_ADD_COLOR, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_-
TRANSPARENT_ALPHA_CHANNEL_REF, EMT_TRANSPARENT_VERTEX_ALPHA,
EMT_TRANSPARENT_REFLECTION_2_LAYER, EMT_NORMAL_MAP_SOLID, EMT_-
NORMAL_MAP_TRANSPARENT_ADD_COLOR, EMT_NORMAL_MAP_TRANSPARENT_-
VERTEX_ALPHA,
EMT_PARALLAX_MAP_SOLID, EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR,
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_ONETEXTURE_-
BLEND,
EMT_FORCE_32BIT = 0x7fffffff }
Abstracted and easy to use fixed function/programmable pipeline material modes.

Variables
• const char ∗const sBuiltInMaterialTypeNames [ ]
Array holding the built in material type names.

8.11.1 Enumeration Type Documentation

8.11.1.1 enum irr::video::E_MATERIAL_TYPE

Abstracted and easy to use fixed function/programmable pipeline material modes.

Enumeration values:
EMT_SOLID Standard solid material. Only first texture is used, which is supposed to be the diffuse
material.
EMT_SOLID_2_LAYER Solid material with 2 texture layers. The second is blended onto the first
using the alpha value of the vertex colors. This material is currently not implemented in OpenGL.

EMT_LIGHTMAP Material type with standard lightmap technique: There should be 2 textures:
The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


856 Irrlicht Engine File Documentation

EMT_LIGHTMAP_ADD Material type with lightmap technique like EMT_LIGHTMAP. But


lightmap and diffuse texture are added instead of modulated.
EMT_LIGHTMAP_M2 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplied by 2 for brightening. Like known in DirectX as
D3DTOP_MODULATE2X.
EMT_LIGHTMAP_M4 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplyied by 4 for brightening. Like known in DirectX as
D3DTOP_MODULATE4X.
EMT_LIGHTMAP_LIGHTING Like EMT_LIGHTMAP, but also supports dynamic lighting.
EMT_LIGHTMAP_LIGHTING_M2 Like EMT_LIGHTMAP_M2, but also supports dynamic
lighting.
EMT_LIGHTMAP_LIGHTING_M4 Like EMT_LIGHTMAP_4, but also supports dynamic light-
ing.
EMT_DETAIL_MAP Detail mapped material. The first texture is diffuse color map, the second is
added to this and usually displayed with a bigger scale value so that it adds more detail. The
detail map is added to the diffuse map using ADD_SIGNED, so that it is possible to add and
substract color from the diffuse map. For example a value of (127,127,127) will not change the
appearance of the diffuse map at all. Often used for terrain rendering.
EMT_SPHERE_MAP Makes the material look like it was reflection the environment around it. To
make this possible, a texture called ’sphere map’ is used, which must be set as the first texture.
EMT_REFLECTION_2_LAYER A reflecting material with an optional additional non reflecting
texture layer. The reflection map should be set as first texture.
EMT_TRANSPARENT_ADD_COLOR A transparent material. Only the first texture is used. The
new color is calculated by simply adding the source color and the dest color. This means if for
example a billboard using a texture with black background and a red circle on it is drawn with this
material, the result is that only the red circle will be drawn a little bit transparent, and everything
which was black is 100% transparent and not visible. This material type is useful for particle
effects.
EMT_TRANSPARENT_ALPHA_CHANNEL Makes the material transparent based on the texture
alpha channel. The final color is blended together from the destination color and the texture color,
using the alpha channel value as blend factor. Only first texture is used. If you are using this
material with small textures, it is a good idea to load the texture in 32 bit mode (video::IVideo-
Driver::setTextureCreationFlag()). Also, an alpha ref is used, which can be manipulated using
SMaterial::MaterialTypeParam. If set to 0, the alpha ref gets its default value which is 0.5f and
means that pixels with an alpha value >127 will be written, others not. In other, simple words:
this value controls how sharp the edges become when going from a transparent to a solid spot on
the texture.
EMT_TRANSPARENT_ALPHA_CHANNEL_REF Makes the material transparent based on the
texture alpha channel. If the alpha channel value is greater than 127, a pixel is written to the
target, otherwise not. This material does not use alpha blending and is a lot faster than EMT_-
TRANSPARENT_ALPHA_CHANNEL. It is ideal for drawing stuff like leafes of plants, because
the borders are not blurry but sharp. Only first texture is used. If you are using this material with
small textures and 3d object, it is a good idea to load the texture in 32 bit mode (video::IVideo-
Driver::setTextureCreationFlag()).
EMT_TRANSPARENT_VERTEX_ALPHA Makes the material transparent based on the vertex al-
pha value.
EMT_TRANSPARENT_REFLECTION_2_LAYER A transparent reflecting material with an op-
tional additional non reflecting texture layer. The reflection map should be set as first texture.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.11 EMaterialTypes.h File Reference 857

The transparency depends on the alpha value in the vertex colors. A texture which will not
reflect can be set as second texture. Please note that this material type is currently not 100%
implemented in OpenGL.
EMT_NORMAL_MAP_SOLID A solid normal map renderer. First texture is the color map, the
second should be the normal map. Note that you should use this material only when drawing ge-
ometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert
any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2
Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls
back to a fixed function lighted material if this hardware is not available. Only two lights are
supported by this shader, if there are more, the nearest two are chosen.
EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR A transparent normal map renderer.
First texture is the color map, the second should be the normal map. Note that you should use this
material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_-
TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMesh-
WithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel
shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is
not available. Only two lights are supported by this shader, if there are more, the nearest two are
chosen.
EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA A transparent (based on the vertex
alpha value) normal map renderer. First texture is the color map, the second should be the normal
map. Note that you should use this material only when drawing geometry consisting of vertices of
type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using
IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on
vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted
material if this hardware is not available. Only two lights are supported by this shader, if there
are more, the nearest two are chosen.
EMT_PARALLAX_MAP_SOLID Just like EMT_NORMAL_MAP_SOLID, but uses parallax map-
ping too, which looks a lot more realistic. This only works when the hardware supports at least
vertex shader 1.1 and pixel shader 1.4. First texture is the color map, the second should be
the normal map. The normal map texture should contain the height value in the alpha com-
ponent. The IVideoDriver::makeNormalMapTexture() method writes this value automatically
when creating normal maps from a heightmap when using a 32 bit texture. The height scale of
the material (affecting the bumpiness) is being controlled by the SMaterial::MaterialTypeParam
member. If set to zero, the default value (0.02f) will be applied. Otherwise the value set in
SMaterial::MaterialTypeParam is taken. This value depends on with which scale the texture is
mapped on the material. Too high or low values of MaterialTypeParam can result in strange
artifacts.
EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_ADD_COLOR
as base material.
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_VERTEX_-
ALPHA as base material.
EMT_ONETEXTURE_BLEND BlendFunc = source ∗ sourceFactor + dest ∗ destFactor ( E_-
BLEND_FUNC ) Using only first texture. Generic blending method.
EMT_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file EMaterialTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


858 Irrlicht Engine File Documentation

8.11.2 Variable Documentation

8.11.2.1 const char∗ const irr::video::sBuiltInMaterialTypeNames[ ]

Initial value:

{
"solid",
"solid_2layer",
"lightmap",
"lightmap_add",
"lightmap_m2",
"lightmap_m4",
"lightmap_light",
"lightmap_light_m2",
"lightmap_light_m4",
"detail_map",
"sphere_map",
"reflection_2layer",
"trans_add",
"trans_alphach",
"trans_alphach_ref",
"trans_vertex_alpha",
"trans_reflection_2layer",
"normalmap_solid",
"normalmap_trans_add",
"normalmap_trans_vertexalpha",
"parallaxmap_solid",
"parallaxmap_trans_add",
"parallaxmap_trans_vertexalpha",
"onetexture_blend",
0
}

Array holding the built in material type names.


Definition at line 209 of file EMaterialTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.12 EMeshWriterEnums.h File Reference 859

8.12 EMeshWriterEnums.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_MESH_WRITER_FLAGS { EMWF_NONE = 0, EMWF_WRITE_LIGHTMAPS = 0x1,
EMWF_WRITE_COMPRESSED = 0x2 }
flags configuring mesh writing

• enum EMESH_WRITER_TYPE { EMWT_IRR_MESH = MAKE_IRR_ID(’i’,’r’,’r’,’m’), EMWT_-


COLLADA = MAKE_IRR_ID(’c’,’o’,’l’,’l’), EMWT_STL = MAKE_IRR_ID(’s’,’t’,’l’,0) }
An enumeration for all supported types of built-in mesh writers.

8.12.1 Enumeration Type Documentation

8.12.1.1 enum irr::scene::E_MESH_WRITER_FLAGS

flags configuring mesh writing

Enumeration values:
EMWF_NONE no writer flags
EMWF_WRITE_LIGHTMAPS write lightmap textures out if possible
EMWF_WRITE_COMPRESSED write in a way that does consume less disk space

Definition at line 33 of file EMeshWriterEnums.h.

8.12.1.2 enum irr::scene::EMESH_WRITER_TYPE

An enumeration for all supported types of built-in mesh writers.


A scene mesh writers is represented by a four character code such as ’irrm’ or ’coll’ instead of simple
numbers, to avoid name clashes with external mesh writers.

Enumeration values:
EMWT_IRR_MESH Irrlicht Native mesh writer, for static .irrmesh files.
EMWT_COLLADA COLLADA mesh writer for .dae and .xml files.
EMWT_STL STL mesh writer for .stl files.

Definition at line 19 of file EMeshWriterEnums.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


860 Irrlicht Engine File Documentation

8.13 EMessageBoxFlags.h File Reference

Namespaces
• namespace irr
• namespace irr::gui

Enumerations
• enum EMESSAGE_BOX_FLAG {
EMBF_OK = 0x1, EMBF_CANCEL = 0x2, EMBF_YES = 0x4, EMBF_NO = 0x8,
EMBF_FORCE_32BIT = 0x7fffffff }
enumeration for message box layout flags

8.13.1 Enumeration Type Documentation

8.13.1.1 enum irr::gui::EMESSAGE_BOX_FLAG

enumeration for message box layout flags

Enumeration values:
EMBF_OK Flag for the ok button.
EMBF_CANCEL Flag for the cancel button.
EMBF_YES Flag for the yes button.
EMBF_NO Flag for the no button.
EMBF_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file EMessageBoxFlags.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.14 ESceneNodeAnimatorTypes.h File Reference 861

8.14 ESceneNodeAnimatorTypes.h File Reference

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum ESCENE_NODE_ANIMATOR_TYPE {
ESNAT_FLY_CIRCLE = 0, ESNAT_FLY_STRAIGHT, ESNAT_FOLLOW_SPLINE, ESNAT_-
ROTATION,
ESNAT_TEXTURE, ESNAT_DELETION, ESNAT_COLLISION_RESPONSE, ESNAT_COUNT,
ESNAT_UNKNOWN, ESNAT_FORCE_32_BIT = 0x7fffffff }
An enumeration for all types of built-in scene node animators.

8.14.1 Enumeration Type Documentation

8.14.1.1 enum irr::scene::ESCENE_NODE_ANIMATOR_TYPE

An enumeration for all types of built-in scene node animators.

Enumeration values:
ESNAT_FLY_CIRCLE Fly circle scene node animator.
ESNAT_FLY_STRAIGHT Fly straight scene node animator.
ESNAT_FOLLOW_SPLINE Follow spline scene node animator.
ESNAT_ROTATION Rotation scene node animator.
ESNAT_TEXTURE Texture scene node animator.
ESNAT_DELETION Deletion scene node animator.
ESNAT_COLLISION_RESPONSE Collision respose scene node animator.
ESNAT_COUNT Amount of built-in scene node animators.
ESNAT_UNKNOWN Unknown scene node animator.
ESNAT_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.

Definition at line 14 of file ESceneNodeAnimatorTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


862 Irrlicht Engine File Documentation

8.15 ESceneNodeTypes.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum ESCENE_NODE_TYPE {
ESNT_CUBE = MAKE_IRR_ID(’c’,’u’,’b’,’e’), ESNT_SPHERE = MAKE_IRR_ID(’s’,’p’,’h’,’r’),
ESNT_TEXT = MAKE_IRR_ID(’t’,’e’,’x’,’t’), ESNT_WATER_SURFACE = MAKE_IRR_-
ID(’w’,’a’,’t’,’r’),
ESNT_TERRAIN = MAKE_IRR_ID(’t’,’e’,’r’,’r’), ESNT_SKY_BOX = MAKE_IRR_-
ID(’s’,’k’,’y’,’_’), ESNT_SHADOW_VOLUME = MAKE_IRR_ID(’s’,’h’,’d’,’w’), ESNT_-
OCT_TREE = MAKE_IRR_ID(’o’,’c’,’t’,’t’),
ESNT_MESH = MAKE_IRR_ID(’m’,’e’,’s’,’h’), ESNT_LIGHT = MAKE_IRR_ID(’l’,’g’,’h’,’t’),
ESNT_EMPTY = MAKE_IRR_ID(’e’,’m’,’t’,’y’), ESNT_DUMMY_TRANSFORMATION =
MAKE_IRR_ID(’d’,’m’,’m’,’y’),
ESNT_CAMERA = MAKE_IRR_ID(’c’,’a’,’m’,’_’), ESNT_CAMERA_MAYA = MAKE_-
IRR_ID(’c’,’a’,’m’,’M’), ESNT_CAMERA_FPS = MAKE_IRR_ID(’c’,’a’,’m’,’F’), ESNT_-
BILLBOARD = MAKE_IRR_ID(’b’,’i’,’l’,’l’),
ESNT_ANIMATED_MESH = MAKE_IRR_ID(’a’,’m’,’s’,’h’), ESNT_PARTICLE_SYSTEM =
MAKE_IRR_ID(’p’,’t’,’c’,’l’), ESNT_MD3_SCENE_NODE = MAKE_IRR_ID(’m’,’d’,’3’,’_’),
ESNT_UNKNOWN = MAKE_IRR_ID(’u’,’n’,’k’,’n’) }
An enumeration for all types of built-in scene nodes.

8.15.1 Enumeration Type Documentation

8.15.1.1 enum irr::scene::ESCENE_NODE_TYPE

An enumeration for all types of built-in scene nodes.


A scene node type is represented by a four character code such as ’cube’ or ’mesh’ instead of simple
numbers, to avoid name clashes with external scene nodes.

Enumeration values:
ESNT_CUBE simple cube scene node
ESNT_SPHERE Sphere scene node.
ESNT_TEXT Text Scene Node.
ESNT_WATER_SURFACE Water Surface Scene Node.
ESNT_TERRAIN Terrain Scene Node.
ESNT_SKY_BOX Sky Box Scene Node.
ESNT_SHADOW_VOLUME Shadow Volume Scene Node.
ESNT_OCT_TREE OctTree Scene Node.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.15 ESceneNodeTypes.h File Reference 863

ESNT_MESH Mesh Scene Node.


ESNT_LIGHT Light Scene Node.
ESNT_EMPTY Empty Scene Node.
ESNT_DUMMY_TRANSFORMATION Dummy Transformation Scene Node.
ESNT_CAMERA Camera Scene Node.
ESNT_CAMERA_MAYA Maya Camera Scene Node.
ESNT_CAMERA_FPS First Person Shooter style Camera.
ESNT_BILLBOARD Billboard Scene Node.
ESNT_ANIMATED_MESH Animated Mesh Scene Node.
ESNT_PARTICLE_SYSTEM Particle System Scene Node.
ESNT_MD3_SCENE_NODE Quake3 Model Scene Node ( has tag to link to ).
ESNT_UNKNOWN Unknown scene node.

Definition at line 19 of file ESceneNodeTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


864 Irrlicht Engine File Documentation

8.16 ETerrainElements.h File Reference

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_TERRAIN_PATCH_SIZE {
ETPS_9 = 9, ETPS_17 = 17, ETPS_33 = 33, ETPS_65 = 65,
ETPS_129 = 129 }
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode

8.16.1 Enumeration Type Documentation

8.16.1.1 enum irr::scene::E_TERRAIN_PATCH_SIZE

enumeration for patch sizes specifying the size of patches in the TerrainSceneNode

Enumeration values:
ETPS_9 patch size of 9, at most, use 4 levels of detail with this patch size.
ETPS_17 patch size of 17, at most, use 5 levels of detail with this patch size.
ETPS_33 patch size of 33, at most, use 6 levels of detail with this patch size.
ETPS_65 patch size of 65, at most, use 7 levels of detail with this patch size.
ETPS_129 patch size of 129, at most, use 8 levels of detail with this patch size.

Definition at line 14 of file ETerrainElements.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.17 fast_atof.h File Reference 865

8.17 fast_atof.h File Reference


#include <stdlib.h>
#include "irrMath.h"

Namespaces
• namespace irr
• namespace irr::core

Functions
• float fast_atof (const char ∗c)
• const char ∗ fast_atof_move (const char ∗c, float &out)
• u32 strtol10 (const char ∗in, const char ∗∗out=0)

Variables
• const float fast_atof_table [16]

8.17.1 Function Documentation

8.17.1.1 float fast_atof (const char ∗ c) [inline]

Definition at line 106 of file fast_atof.h.


References irr::core::fast_atof_move().

8.17.1.2 const char∗ fast_atof_move (const char ∗ c, float & out) [inline]

Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.
Definition at line 56 of file fast_atof.h.
References irr::core::fast_atof_table, and irr::core::strtol10().
Referenced by irr::core::fast_atof(), and irr::scene::quake3::getAsFloat().

8.17.1.3 u32 strtol10 (const char ∗ in, const char ∗∗ out = 0) [inline]

Definition at line 36 of file fast_atof.h.


Referenced by irr::core::fast_atof_move().

8.17.2 Variable Documentation

8.17.2.1 const float irr::core::fast_atof_table[16]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


866 Irrlicht Engine File Documentation

{
0.f,
0.1f,
0.01f,
0.001f,
0.0001f,
0.00001f,
0.000001f,
0.0000001f,
0.00000001f,
0.000000001f,
0.0000000001f,
0.00000000001f,
0.000000000001f,
0.0000000000001f,
0.00000000000001f,
0.000000000000001f
}

Definition at line 17 of file fast_atof.h.


Referenced by irr::core::fast_atof_move().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.18 heapsort.h File Reference 867

8.18 heapsort.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::core

Functions
• template<class T> void heapsink (T ∗array, s32 element, s32 max)
Sinks an element into the heap.

• template<class T> void heapsort (T ∗array_, s32 size)


Sorts an array with size ’size’ using heapsort.

8.18.1 Function Documentation

8.18.1.1 template<class T> void heapsink (T ∗ array, s32 element, s32 max) [inline]

Sinks an element into the heap.


Definition at line 17 of file heapsort.h.
Referenced by irr::core::heapsort().

8.18.1.2 template<class T> void heapsort (T ∗ array_, s32 size) [inline]

Sorts an array with size ’size’ using heapsort.


Definition at line 41 of file heapsort.h.
References irr::core::heapsink().
Referenced by irr::core::array< IMesh ∗ >::sort().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


868 Irrlicht Engine File Documentation

8.19 IAnimatedMesh.h File Reference


#include "aabbox3d.h"
#include "IMesh.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_ANIMATED_MESH_TYPE {
EAMT_UNKNOWN = 0, EAMT_MD2, EAMT_MD3, EAMT_OBJ,
EAMT_BSP, EAMT_3DS, EAMT_MY3D, EAMT_LMTS,
EAMT_CSM, EAMT_OCT, EAMT_SKINNED }
Possible types of (animated) meshes.

8.19.1 Enumeration Type Documentation

8.19.1.1 enum irr::scene::E_ANIMATED_MESH_TYPE

Possible types of (animated) meshes.

Enumeration values:
EAMT_UNKNOWN Unknown animated mesh type.
EAMT_MD2 Quake 2 MD2 model file.
EAMT_MD3 Quake 3 MD3 model file.
EAMT_OBJ Maya .obj static model.
EAMT_BSP Quake 3 .bsp static Map.
EAMT_3DS 3D Studio .3ds file
EAMT_MY3D My3D Mesh, the file format by Zhuck Dimitry.
EAMT_LMTS Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen.
EAMT_CSM Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
EAMT_OCT .oct file for Paul Nette’s FSRad or from Murphy McCauley’s Blender .oct exporter.
The oct file format contains 3D geometry and lightmaps and can be loaded directly by Irrlicht
EAMT_SKINNED generic skinned mesh

Definition at line 16 of file IAnimatedMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.20 IAnimatedMeshMD2.h File Reference 869

8.20 IAnimatedMeshMD2.h File Reference


#include "IAnimatedMesh.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum EMD2_ANIMATION_TYPE {
EMAT_STAND = 0, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A,
EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP,
EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT,
EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_-
CROUCH_PAIN,
EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD,
EMAT_DEATH_FALLBACKSLOW,
EMAT_BOOM, EMAT_COUNT }
Types of standard md2 animations.

8.20.1 Enumeration Type Documentation

8.20.1.1 enum irr::scene::EMD2_ANIMATION_TYPE

Types of standard md2 animations.

Enumeration values:
EMAT_STAND
EMAT_RUN
EMAT_ATTACK
EMAT_PAIN_A
EMAT_PAIN_B
EMAT_PAIN_C
EMAT_JUMP
EMAT_FLIP
EMAT_SALUTE
EMAT_FALLBACK
EMAT_WAVE
EMAT_POINT
EMAT_CROUCH_STAND
EMAT_CROUCH_WALK

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


870 Irrlicht Engine File Documentation

EMAT_CROUCH_ATTACK
EMAT_CROUCH_PAIN
EMAT_CROUCH_DEATH
EMAT_DEATH_FALLBACK
EMAT_DEATH_FALLFORWARD
EMAT_DEATH_FALLBACKSLOW
EMAT_BOOM
EMAT_COUNT Not an animation, but amount of animation types.

Definition at line 16 of file IAnimatedMeshMD2.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.21 IAnimatedMeshMD3.h File Reference 871

8.21 IAnimatedMeshMD3.h File Reference


#include "IAnimatedMesh.h"
#include "IQ3Shader.h"
#include "quaternion.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum EMD3_ANIMATION_TYPE {
EMD3_BOTH_DEATH_1 = 0, EMD3_BOTH_DEAD_1, EMD3_BOTH_DEATH_2, EMD3_-
BOTH_DEAD_2,
EMD3_BOTH_DEATH_3, EMD3_BOTH_DEAD_3, EMD3_TORSO_GESTURE, EMD3_-
TORSO_ATTACK_1,
EMD3_TORSO_ATTACK_2, EMD3_TORSO_DROP, EMD3_TORSO_RAISE, EMD3_TORSO_-
STAND_1,
EMD3_TORSO_STAND_2, EMD3_LEGS_WALK_CROUCH, EMD3_LEGS_WALK, EMD3_-
LEGS_RUN,
EMD3_LEGS_BACK, EMD3_LEGS_SWIM, EMD3_LEGS_JUMP_1, EMD3_LEGS_LAND_1,
EMD3_LEGS_JUMP_2, EMD3_LEGS_LAND_2, EMD3_LEGS_IDLE, EMD3_LEGS_IDLE_-
CROUCH,
EMD3_LEGS_TURN, EMD3_ANIMATION_COUNT }
Animation list.

• enum eMD3Models {
EMD3_HEAD = 0, EMD3_UPPER, EMD3_LOWER, EMD3_WEAPON,
EMD3_NUMMODELS }

8.21.1 Enumeration Type Documentation

8.21.1.1 enum irr::scene::EMD3_ANIMATION_TYPE

Animation list.

Enumeration values:
EMD3_BOTH_DEATH_1
EMD3_BOTH_DEAD_1
EMD3_BOTH_DEATH_2
EMD3_BOTH_DEAD_2
EMD3_BOTH_DEATH_3
EMD3_BOTH_DEAD_3

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


872 Irrlicht Engine File Documentation

EMD3_TORSO_GESTURE
EMD3_TORSO_ATTACK_1
EMD3_TORSO_ATTACK_2
EMD3_TORSO_DROP
EMD3_TORSO_RAISE
EMD3_TORSO_STAND_1
EMD3_TORSO_STAND_2
EMD3_LEGS_WALK_CROUCH
EMD3_LEGS_WALK
EMD3_LEGS_RUN
EMD3_LEGS_BACK
EMD3_LEGS_SWIM
EMD3_LEGS_JUMP_1
EMD3_LEGS_LAND_1
EMD3_LEGS_JUMP_2
EMD3_LEGS_LAND_2
EMD3_LEGS_IDLE
EMD3_LEGS_IDLE_CROUCH
EMD3_LEGS_TURN
EMD3_ANIMATION_COUNT Not an animation, but amount of animation types.

Definition at line 27 of file IAnimatedMeshMD3.h.

8.21.1.2 enum irr::scene::eMD3Models

Enumeration values:
EMD3_HEAD
EMD3_UPPER
EMD3_LOWER
EMD3_WEAPON
EMD3_NUMMODELS

Definition at line 17 of file IAnimatedMeshMD3.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.22 IAnimatedMeshSceneNode.h File Reference 873

8.22 IAnimatedMeshSceneNode.h File Reference


#include "ISceneNode.h"
#include "IBoneSceneNode.h"
#include "IAnimatedMeshMD2.h"
#include "IAnimatedMeshMD3.h"
#include "IShadowVolumeSceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_JOINT_UPDATE_ON_RENDER { EJUOR_NONE = 0, EJUOR_READ, EJUOR_-
CONTROL, EJUOR_COUNT }

8.22.1 Enumeration Type Documentation

8.22.1.1 enum irr::scene::E_JOINT_UPDATE_ON_RENDER

Enumeration values:
EJUOR_NONE do nothing
EJUOR_READ get joints positions from the mesh (for attached nodes, etc)
EJUOR_CONTROL control joint positions in the mesh (eg. ragdolls, or set the animation from
animateJoints() )
EJUOR_COUNT count of all available interpolation modes

Definition at line 20 of file IAnimatedMeshSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


874 Irrlicht Engine File Documentation

8.23 IAttributeExchangingObject.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io

Enumerations
• enum E_ATTRIBUTE_READ_WRITE_FLAGS { EARWF_FOR_FILE = 0x00000001, EARWF_-
FOR_EDITOR = 0x00000002, EARWF_USE_RELATIVE_PATHS = 0x00000004 }
Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.

8.23.1 Enumeration Type Documentation

8.23.1.1 enum irr::io::E_ATTRIBUTE_READ_WRITE_FLAGS

Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.

Enumeration values:
EARWF_FOR_FILE Serialization/Deserializion is done for an xml file.
EARWF_FOR_EDITOR Serialization/Deserializion is done for an editor property box.
EARWF_USE_RELATIVE_PATHS When writing filenames, relative paths should be used.

Definition at line 20 of file IAttributeExchangingObject.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.24 IAttributes.h File Reference 875

8.24 IAttributes.h File Reference


#include "IReferenceCounted.h"
#include "SColor.h"
#include "vector3d.h"
#include "vector2d.h"
#include "line2d.h"
#include "line3d.h"
#include "triangle3d.h"
#include "position2d.h"
#include "rect.h"
#include "matrix4.h"
#include "quaternion.h"
#include "plane3d.h"
#include "irrString.h"
#include "irrArray.h"
#include "IXMLReader.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video

Enumerations
• enum E_ATTRIBUTE_TYPE {
EAT_INT = 0, EAT_FLOAT, EAT_STRING, EAT_BOOL,
EAT_ENUM, EAT_COLOR, EAT_COLORF, EAT_VECTOR3D,
EAT_POSITION2D, EAT_VECTOR2D, EAT_RECT, EAT_MATRIX,
EAT_QUATERNION, EAT_BBOX, EAT_PLANE, EAT_TRIANGLE3D,
EAT_LINE2D, EAT_LINE3D, EAT_STRINGWARRAY, EAT_FLOATARRAY,
EAT_INTARRAY, EAT_BINARY, EAT_TEXTURE, EAT_USER_POINTER,
EAT_COUNT, EAT_UNKNOWN }
Types of attributes available for IAttributes.

8.24.1 Enumeration Type Documentation

8.24.1.1 enum irr::io::E_ATTRIBUTE_TYPE

Types of attributes available for IAttributes.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


876 Irrlicht Engine File Documentation

Enumeration values:
EAT_INT
EAT_FLOAT
EAT_STRING
EAT_BOOL
EAT_ENUM
EAT_COLOR
EAT_COLORF
EAT_VECTOR3D
EAT_POSITION2D
EAT_VECTOR2D
EAT_RECT
EAT_MATRIX
EAT_QUATERNION
EAT_BBOX
EAT_PLANE
EAT_TRIANGLE3D
EAT_LINE2D
EAT_LINE3D
EAT_STRINGWARRAY
EAT_FLOATARRAY
EAT_INTARRAY
EAT_BINARY
EAT_TEXTURE
EAT_USER_POINTER
EAT_COUNT
EAT_UNKNOWN

Definition at line 38 of file IAttributes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.25 IBillboardSceneNode.h File Reference 877

8.25 IBillboardSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


878 Irrlicht Engine File Documentation

8.26 IBoneSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_BONE_ANIMATION_MODE { EBAM_AUTOMATIC = 0, EBAM_ANIMATED,
EBAM_UNANIMATED, EBAM_COUNT }
Enumeration for different bone animation modes.

• enum E_BONE_SKINNING_SPACE { EBSS_LOCAL = 0, EBSS_GLOBAL, EBSS_COUNT }

Variables
• const c8 ∗const BoneAnimationModeNames [ ]
Names for bone animation modes.

8.26.1 Enumeration Type Documentation

8.26.1.1 enum irr::scene::E_BONE_ANIMATION_MODE

Enumeration for different bone animation modes.

Enumeration values:
EBAM_AUTOMATIC The bone is usually animated, unless it’s parent is not animated.
EBAM_ANIMATED The bone is animated by the skin, if it’s parent is not animated then animation
will resume from this bone onward.
EBAM_UNANIMATED The bone is not animated by the skin.
EBAM_COUNT Not an animation mode, just here to count the available modes.

Definition at line 16 of file IBoneSceneNode.h.

8.26.1.2 enum irr::scene::E_BONE_SKINNING_SPACE

Enumeration values:
EBSS_LOCAL local skinning, standard
EBSS_GLOBAL global skinning
EBSS_COUNT

Definition at line 32 of file IBoneSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.26 IBoneSceneNode.h File Reference 879

8.26.2 Variable Documentation

8.26.2.1 const c8∗ const irr::scene::BoneAnimationModeNames[ ]

Initial value:

{
"automatic",
"animated",
"unanimated",
0,
}

Names for bone animation modes.


Definition at line 44 of file IBoneSceneNode.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


880 Irrlicht Engine File Documentation

8.27 ICameraSceneNode.h File Reference


#include "ISceneNode.h"
#include "IEventReceiver.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.28 ICursorControl.h File Reference 881

8.28 ICursorControl.h File Reference


#include "IReferenceCounted.h"
#include "position2d.h"
#include "rect.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


882 Irrlicht Engine File Documentation

8.29 IDummyTransformationSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.30 IEventReceiver.h File Reference 883

8.30 IEventReceiver.h File Reference

#include "ILogger.h"
#include "position2d.h"
#include "Keycodes.h"

Namespaces

• namespace irr
• namespace irr::gui

Enumerations

• enum EEVENT_TYPE {
EET_GUI_EVENT = 0, EET_MOUSE_INPUT_EVENT, EET_KEY_INPUT_EVENT, EET_-
LOG_TEXT_EVENT,
EET_USER_EVENT }
Enumeration for all event types there are.

• enum EGUI_EVENT_TYPE {
EGET_ELEMENT_FOCUS_LOST = 0, EGET_ELEMENT_FOCUSED, EGET_ELEMENT_-
HOVERED, EGET_ELEMENT_LEFT,
EGET_ELEMENT_CLOSED, EGET_BUTTON_CLICKED, EGET_SCROLL_BAR_CHANGED,
EGET_CHECKBOX_CHANGED,
EGET_LISTBOX_CHANGED, EGET_LISTBOX_SELECTED_AGAIN, EGET_FILE_-
SELECTED, EGET_FILE_CHOOSE_DIALOG_CANCELLED,
EGET_MESSAGEBOX_YES, EGET_MESSAGEBOX_NO, EGET_MESSAGEBOX_OK,
EGET_MESSAGEBOX_CANCEL,
EGET_EDITBOX_ENTER, EGET_TAB_CHANGED, EGET_MENU_ITEM_SELECTED,
EGET_COMBO_BOX_CHANGED,
EGET_SPINBOX_CHANGED }
Enumeration for all events which are sendable by the gui system.

• enum EMOUSE_INPUT_EVENT {
EMIE_LMOUSE_PRESSED_DOWN = 0, EMIE_RMOUSE_PRESSED_DOWN, EMIE_-
MMOUSE_PRESSED_DOWN, EMIE_LMOUSE_LEFT_UP,
EMIE_RMOUSE_LEFT_UP, EMIE_MMOUSE_LEFT_UP, EMIE_MOUSE_MOVED, EMIE_-
MOUSE_WHEEL,
EMIE_COUNT }
Enumeration for all mouse input events.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


884 Irrlicht Engine File Documentation

8.30.1 Enumeration Type Documentation

8.30.1.1 enum irr::EEVENT_TYPE

Enumeration for all event types there are.

Enumeration values:
EET_GUI_EVENT An event of the graphical user interface.
GUI events are created by the GUI environment or the GUI elements in response to mouse or
keyboard events. When a GUI element receives an event it will either process it and return true,
or pass the event to its parent. If an event is not absorbed before it reaches the root element then
it will then be passed to the user receiver.
EET_MOUSE_INPUT_EVENT A mouse input event.
Mouse events are created by the device and passed to IrrlichtDevice::postEventFromUser in re-
sponse to mouse input received from the operating system. Mouse events are first passed to the
user receiver, then to the GUI environment (and possibly many GUI elements), then finally the
input receiving scene manager (and possibly the active camera)
EET_KEY_INPUT_EVENT A key input evant.
Keyboard events are also created by the device and passed to IrrlichtDevice::postEventFromUser.
They take the same path as mouse events.
EET_LOG_TEXT_EVENT A log event.
Log events are only passed to the user receiver if there is one. If they are absorbed by the user
receiver then no text will be sent to the console.
EET_USER_EVENT A user event with user data.
This is not used by Irrlicht and can be used to send user specific data though the system.

Definition at line 15 of file IEventReceiver.h.

8.30.1.2 enum irr::gui::EGUI_EVENT_TYPE

Enumeration for all events which are sendable by the gui system.

Enumeration values:
EGET_ELEMENT_FOCUS_LOST A gui element has lost its focus.
GUIEvent.Caller is losing the focus to GUIEvent.Element. If the event is absorbed then the focus
will not be changed.
EGET_ELEMENT_FOCUSED A gui element has got the focus.
If the event is absorbed then the focus will not be changed.
EGET_ELEMENT_HOVERED The mouse cursor hovered over a gui element.
EGET_ELEMENT_LEFT The mouse cursor left the hovered element.
EGET_ELEMENT_CLOSED An element would like to close.
Windows and context menus use this event when they would like to close, this can be cancelled
by absorbing the event.
EGET_BUTTON_CLICKED A button was clicked.
EGET_SCROLL_BAR_CHANGED A scrollbar has changed its position.
EGET_CHECKBOX_CHANGED A checkbox has changed its check state.
EGET_LISTBOX_CHANGED A new item in a listbox was seleted.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.30 IEventReceiver.h File Reference 885

EGET_LISTBOX_SELECTED_AGAIN An item in the listbox was selected, which was already


selected.
EGET_FILE_SELECTED A file has been selected in the file dialog.
EGET_FILE_CHOOSE_DIALOG_CANCELLED A file open dialog has been closed without
choosing a file.
EGET_MESSAGEBOX_YES ’Yes’ was clicked on a messagebox
EGET_MESSAGEBOX_NO ’No’ was clicked on a messagebox
EGET_MESSAGEBOX_OK ’OK’ was clicked on a messagebox
EGET_MESSAGEBOX_CANCEL ’Cancel’ was clicked on a messagebox
EGET_EDITBOX_ENTER In an editbox was pressed ’ENTER’.
EGET_TAB_CHANGED The tab was changed in an tab control.
EGET_MENU_ITEM_SELECTED A menu item was selected in a (context) menu.
EGET_COMBO_BOX_CHANGED The selection in a combo box has been changed.
EGET_SPINBOX_CHANGED The value of a spin box has changed.

Definition at line 86 of file IEventReceiver.h.

8.30.1.3 enum irr::EMOUSE_INPUT_EVENT

Enumeration for all mouse input events.

Enumeration values:
EMIE_LMOUSE_PRESSED_DOWN Left mouse button was pressed down.
EMIE_RMOUSE_PRESSED_DOWN Right mouse button was pressed down.
EMIE_MMOUSE_PRESSED_DOWN Middle mouse button was pressed down.
EMIE_LMOUSE_LEFT_UP Left mouse button was left up.
EMIE_RMOUSE_LEFT_UP Right mouse button was left up.
EMIE_MMOUSE_LEFT_UP Middle mouse button was left up.
EMIE_MOUSE_MOVED The mouse cursor changed its position.
EMIE_MOUSE_WHEEL The mouse wheel was moved. Use Wheel value in event data to find out
in what direction and how fast.
EMIE_COUNT No real event. Just for convenience to get number of events.

Definition at line 49 of file IEventReceiver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


886 Irrlicht Engine File Documentation

8.31 IFileList.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.32 IFileSystem.h File Reference 887

8.32 IFileSystem.h File Reference


#include "IReferenceCounted.h"
#include "IXMLReader.h"
#include "irrString.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


888 Irrlicht Engine File Documentation

8.33 IGPUProgrammingServices.h File Reference


#include "IReferenceCounted.h"
#include "SMaterial.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video

Enumerations
• enum E_PIXEL_SHADER_TYPE {
EPST_PS_1_1 = 0, EPST_PS_1_2, EPST_PS_1_3, EPST_PS_1_4,
EPST_PS_2_0, EPST_PS_2_a, EPST_PS_2_b, EPST_PS_3_0,
EPST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.

• enum E_VERTEX_SHADER_TYPE {
EVST_VS_1_1 = 0, EVST_VS_2_0, EVST_VS_2_a, EVST_VS_3_0,
EVST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.

Variables
• const c8 ∗const PIXEL_SHADER_TYPE_NAMES [ ]
Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.

• const c8 ∗const VERTEX_SHADER_TYPE_NAMES [ ]


Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.

8.33.1 Enumeration Type Documentation

8.33.1.1 enum irr::video::E_PIXEL_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumeration values:
EPST_PS_1_1
EPST_PS_1_2
EPST_PS_1_3
EPST_PS_1_4
EPST_PS_2_0

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.33 IGPUProgrammingServices.h File Reference 889

EPST_PS_2_a
EPST_PS_2_b
EPST_PS_3_0
EPST_COUNT This is not a type, but a value indicating how much types there are.

Definition at line 46 of file IGPUProgrammingServices.h.

8.33.1.2 enum irr::video::E_VERTEX_SHADER_TYPE

Compile target enumeration for the addHighLevelShaderMaterial() method.

Enumeration values:
EVST_VS_1_1
EVST_VS_2_0
EVST_VS_2_a
EVST_VS_3_0
EVST_COUNT This is not a type, but a value indicating how much types there are.

Definition at line 26 of file IGPUProgrammingServices.h.

8.33.2 Variable Documentation

8.33.2.1 const c8∗ const irr::video::PIXEL_SHADER_TYPE_NAMES[ ]

Initial value:

{
"ps_1_1",
"ps_1_2",
"ps_1_3",
"ps_1_4",
"ps_2_0",
"ps_2_a",
"ps_2_b",
"ps_3_0",
0 }

Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
Definition at line 62 of file IGPUProgrammingServices.h.

8.33.2.2 const c8∗ const irr::video::VERTEX_SHADER_TYPE_NAMES[ ]

Initial value:

{
"vs_1_1",
"vs_2_0",
"vs_2_a",
"vs_3_0",
0 }

Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.
Definition at line 38 of file IGPUProgrammingServices.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


890 Irrlicht Engine File Documentation

8.34 IGUIButton.h File Reference


#include "IGUIElement.h"

Namespaces

• namespace irr
• namespace irr::gui
• namespace irr::video

Enumerations

• enum EGUI_BUTTON_STATE {
EGBS_BUTTON_UP = 0, EGBS_BUTTON_DOWN, EGBS_BUTTON_MOUSE_OVER, EGBS_-
BUTTON_MOUSE_OFF,
EGBS_BUTTON_FOCUSED, EGBS_BUTTON_NOT_FOCUSED, EGBS_COUNT }

Variables

• const c8 ∗const GUIButtonStateNames [ ]


Names for gui button state icons.

8.34.1 Enumeration Type Documentation

8.34.1.1 enum irr::gui::EGUI_BUTTON_STATE

Enumeration values:
EGBS_BUTTON_UP The button is not pressed.
EGBS_BUTTON_DOWN The button is currently pressed down.
EGBS_BUTTON_MOUSE_OVER The mouse cursor is over the button.
EGBS_BUTTON_MOUSE_OFF The mouse cursor is not over the button.
EGBS_BUTTON_FOCUSED The button has the focus.
EGBS_BUTTON_NOT_FOCUSED The button doesn’t have the focus.
EGBS_COUNT not used, counts the number of enumerated items

Definition at line 23 of file IGUIButton.h.

8.34.2 Variable Documentation

8.34.2.1 const c8∗ const irr::gui::GUIButtonStateNames[ ]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.34 IGUIButton.h File Reference 891

{
"buttonUp",
"buttonDown",
"buttonMouseOver",
"buttonMouseOff",
"buttonFocused",
"buttonNotFocused",
0,
0,
}

Names for gui button state icons.


Definition at line 42 of file IGUIButton.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


892 Irrlicht Engine File Documentation

8.35 IGUICheckBox.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.36 IGUIColorSelectDialog.h File Reference 893

8.36 IGUIColorSelectDialog.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


894 Irrlicht Engine File Documentation

8.37 IGUIComboBox.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.38 IGUIContextMenu.h File Reference 895

8.38 IGUIContextMenu.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


896 Irrlicht Engine File Documentation

8.39 IGUIEditBox.h File Reference


#include "IGUIElement.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.40 IGUIElement.h File Reference 897

8.40 IGUIElement.h File Reference


#include "IAttributeExchangingObject.h"
#include "irrList.h"
#include "rect.h"
#include "irrString.h"
#include "IEventReceiver.h"
#include "EGUIElementTypes.h"
#include "IAttributes.h"

Namespaces

• namespace irr
• namespace irr::gui

Enumerations

• enum EGUI_ALIGNMENT { EGUIA_UPPERLEFT = 0, EGUIA_LOWERRIGHT, EGUIA_-


CENTER, EGUIA_SCALE }

Variables

• const c8 ∗const GUIAlignmentNames [ ]


Names for alignments.

8.40.1 Enumeration Type Documentation

8.40.1.1 enum irr::gui::EGUI_ALIGNMENT

Enumeration values:
EGUIA_UPPERLEFT Aligned to parent’s top or left side (default).
EGUIA_LOWERRIGHT Aligned to parent’s bottom or right side.
EGUIA_CENTER Aligned to the center of parent.
EGUIA_SCALE Scaled within its parent.

Definition at line 23 of file IGUIElement.h.

8.40.2 Variable Documentation

8.40.2.1 const c8∗ const irr::gui::GUIAlignmentNames[ ]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


898 Irrlicht Engine File Documentation

{
"upperLeft",
"lowerRight",
"center",
"scale",
0
}

Names for alignments.


Definition at line 36 of file IGUIElement.h.
Referenced by irr::gui::IGUIElement::deserializeAttributes(), and irr::gui::IGUIElement::serialize-
Attributes().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.41 IGUIElementFactory.h File Reference 899

8.41 IGUIElementFactory.h File Reference


#include "IReferenceCounted.h"
#include "EGUIElementTypes.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


900 Irrlicht Engine File Documentation

8.42 IGUIEnvironment.h File Reference


#include "IReferenceCounted.h"
#include "IGUISkin.h"
#include "rect.h"
#include "EMessageBoxFlags.h"
#include "IEventReceiver.h"
#include "IXMLReader.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.43 IGUIFileOpenDialog.h File Reference 901

8.43 IGUIFileOpenDialog.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


902 Irrlicht Engine File Documentation

8.44 IGUIFont.h File Reference


#include "IReferenceCounted.h"
#include "SColor.h"
#include "rect.h"

Namespaces
• namespace irr
• namespace irr::gui

Enumerations
• enum EGUI_FONT_TYPE { EGFT_BITMAP = 0, EGFT_VECTOR, EGFT_OS, EGFT_CUSTOM
}
An enum for the different types of GUI font.

8.44.1 Enumeration Type Documentation

8.44.1.1 enum irr::gui::EGUI_FONT_TYPE

An enum for the different types of GUI font.

Enumeration values:
EGFT_BITMAP Bitmap fonts loaded from an XML file or a texture.
EGFT_VECTOR Scalable vector fonts loaded from an XML file. These fonts reside in system
memory and use no video memory until they are displayed. These are slower than bitmap fonts
but can be easily scaled and rotated.
EGFT_OS A font which uses a the native API provided by the operating system. Currently not used.

EGFT_CUSTOM An external font type provided by the user.

Definition at line 18 of file IGUIFont.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.45 IGUIFontBitmap.h File Reference 903

8.45 IGUIFontBitmap.h File Reference


#include "IGUIFont.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


904 Irrlicht Engine File Documentation

8.46 IGUIImage.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.47 IGUIInOutFader.h File Reference 905

8.47 IGUIInOutFader.h File Reference


#include "IGUIElement.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


906 Irrlicht Engine File Documentation

8.48 IGUIListBox.h File Reference


#include "IGUIElement.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::gui

Enumerations
• enum EGUI_LISTBOX_COLOR {
EGUI_LBC_TEXT = 0, EGUI_LBC_TEXT_HIGHLIGHT, EGUI_LBC_ICON, EGUI_LBC_-
ICON_HIGHLIGHT,
EGUI_LBC_COUNT }
Enumeration for listbox colors.

8.48.1 Enumeration Type Documentation

8.48.1.1 enum irr::gui::EGUI_LISTBOX_COLOR

Enumeration for listbox colors.

Enumeration values:
EGUI_LBC_TEXT Color of text.
EGUI_LBC_TEXT_HIGHLIGHT Color of selected text.
EGUI_LBC_ICON Color of icon.
EGUI_LBC_ICON_HIGHLIGHT Color of selected icon.
EGUI_LBC_COUNT Not used, just counts the number of available colors.

Definition at line 19 of file IGUIListBox.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.49 IGUIMeshViewer.h File Reference 907

8.49 IGUIMeshViewer.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::scene
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


908 Irrlicht Engine File Documentation

8.50 IGUIScrollBar.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.51 IGUISkin.h File Reference 909

8.51 IGUISkin.h File Reference


#include "IAttributeExchangingObject.h"
#include "SColor.h"
#include "rect.h"

Namespaces
• namespace irr
• namespace irr::gui

Enumerations
• enum EGUI_DEFAULT_COLOR {
EGDC_3D_DARK_SHADOW = 0, EGDC_3D_SHADOW, EGDC_3D_FACE, EGDC_3D_-
HIGH_LIGHT,
EGDC_3D_LIGHT, EGDC_ACTIVE_BORDER, EGDC_ACTIVE_CAPTION, EGDC_APP_-
WORKSPACE,
EGDC_BUTTON_TEXT, EGDC_GRAY_TEXT, EGDC_HIGH_LIGHT, EGDC_HIGH_LIGHT_-
TEXT,
EGDC_INACTIVE_BORDER, EGDC_INACTIVE_CAPTION, EGDC_TOOLTIP, EGDC_-
TOOLTIP_BACKGROUND,
EGDC_SCROLLBAR, EGDC_WINDOW, EGDC_WINDOW_SYMBOL, EGDC_ICON,
EGDC_ICON_HIGH_LIGHT, EGDC_COUNT }
Enumeration for skin colors.

• enum EGUI_DEFAULT_FONT {
EGDF_DEFAULT = 0, EGDF_BUTTON, EGDF_WINDOW, EGDF_MENU,
EGDF_TOOLTIP, EGDF_COUNT }
• enum EGUI_DEFAULT_ICON {
EGDI_WINDOW_MAXIMIZE = 0, EGDI_WINDOW_RESTORE, EGDI_WINDOW_CLOSE,
EGDI_WINDOW_MINIMIZE,
EGDI_WINDOW_RESIZE, EGDI_CURSOR_UP, EGDI_CURSOR_DOWN, EGDI_CURSOR_-
LEFT,
EGDI_CURSOR_RIGHT, EGDI_MENU_MORE, EGDI_CHECK_BOX_CHECKED, EGDI_-
DROP_DOWN,
EGDI_SMALL_CURSOR_UP, EGDI_SMALL_CURSOR_DOWN, EGDI_RADIO_BUTTON_-
CHECKED, EGDI_MORE_LEFT,
EGDI_MORE_RIGHT, EGDI_MORE_UP, EGDI_MORE_DOWN, EGDI_EXPAND,
EGDI_COLLAPSE, EGDI_FILE, EGDI_DIRECTORY, EGDI_COUNT }
Customizable symbols for GUI.

• enum EGUI_DEFAULT_SIZE {
EGDS_SCROLLBAR_SIZE = 0, EGDS_MENU_HEIGHT, EGDS_WINDOW_BUTTON_-
WIDTH, EGDS_CHECK_BOX_WIDTH,

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


910 Irrlicht Engine File Documentation

EGDS_MESSAGE_BOX_WIDTH, EGDS_MESSAGE_BOX_HEIGHT, EGDS_BUTTON_-


WIDTH, EGDS_BUTTON_HEIGHT,
EGDS_TEXT_DISTANCE_X, EGDS_TEXT_DISTANCE_Y, EGDS_COUNT }
Enumeration for default sizes.

• enum EGUI_DEFAULT_TEXT {
EGDT_MSG_BOX_OK = 0, EGDT_MSG_BOX_CANCEL, EGDT_MSG_BOX_YES, EGDT_-
MSG_BOX_NO,
EGDT_WINDOW_CLOSE, EGDT_WINDOW_MAXIMIZE, EGDT_WINDOW_MINIMIZE,
EGDT_WINDOW_RESTORE,
EGDT_COUNT }
• enum EGUI_SKIN_TYPE { EGST_WINDOWS_CLASSIC = 0, EGST_WINDOWS_METALLIC,
EGST_BURNING_SKIN, EGST_UNKNOWN }
Enumeration of available default skins.

Variables
• const c8 ∗const GUISkinColorNames [ ]
Names for default skin colors.

• const c8 ∗const GUISkinFontNames [ ]


• const c8 ∗const GUISkinIconNames [ ]
• const c8 ∗const GUISkinSizeNames [ ]
Names for default skin sizes.

• const c8 ∗const GUISkinTextNames [ ]


Names for default skin sizes.

• const c8 ∗const GUISkinTypeNames [ ]


Names for gui element types.

8.51.1 Enumeration Type Documentation

8.51.1.1 enum irr::gui::EGUI_DEFAULT_COLOR

Enumeration for skin colors.

Enumeration values:
EGDC_3D_DARK_SHADOW Dark shadow for three-dimensional display elements.
EGDC_3D_SHADOW Shadow color for three-dimensional display elements (for edges facing away
from the light source).
EGDC_3D_FACE Face color for three-dimensional display elements and for dialog box back-
grounds.
EGDC_3D_HIGH_LIGHT Highlight color for three-dimensional display elements (for edges fac-
ing the light source.).

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.51 IGUISkin.h File Reference 911

EGDC_3D_LIGHT Light color for three-dimensional display elements (for edges facing the light
source.).
EGDC_ACTIVE_BORDER Active window border.
EGDC_ACTIVE_CAPTION Active window title bar text.
EGDC_APP_WORKSPACE Background color of multiple document interface (MDI) applications.

EGDC_BUTTON_TEXT Text on a button.


EGDC_GRAY_TEXT Grayed (disabled) text.
EGDC_HIGH_LIGHT Item(s) selected in a control.
EGDC_HIGH_LIGHT_TEXT Text of item(s) selected in a control.
EGDC_INACTIVE_BORDER Inactive window border.
EGDC_INACTIVE_CAPTION Inactive window caption.
EGDC_TOOLTIP Tool tip text color.
EGDC_TOOLTIP_BACKGROUND Tool tip background color.
EGDC_SCROLLBAR Scrollbar gray area.
EGDC_WINDOW Window background.
EGDC_WINDOW_SYMBOL Window symbols like on close buttons, scroll bars and check boxes.
EGDC_ICON Icons in a list or tree.
EGDC_ICON_HIGH_LIGHT Selected icons in a list or tree.
EGDC_COUNT this value is not used, it only specifies the amount of default colors available.

Definition at line 54 of file IGUISkin.h.

8.51.1.2 enum irr::gui::EGUI_DEFAULT_FONT

Enumeration values:
EGDF_DEFAULT For static text, edit boxes, lists and most other places.
EGDF_BUTTON Font for buttons.
EGDF_WINDOW Font for window title bars.
EGDF_MENU Font for menu items.
EGDF_TOOLTIP Font for tooltips.
EGDF_COUNT this value is not used, it only specifies the amount of default fonts available.

Definition at line 296 of file IGUISkin.h.

8.51.1.3 enum irr::gui::EGUI_DEFAULT_ICON

Customizable symbols for GUI.

Enumeration values:
EGDI_WINDOW_MAXIMIZE maximize window button
EGDI_WINDOW_RESTORE restore window button
EGDI_WINDOW_CLOSE close window button
EGDI_WINDOW_MINIMIZE minimize window button

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


912 Irrlicht Engine File Documentation

EGDI_WINDOW_RESIZE resize icon for bottom right corner of a window


EGDI_CURSOR_UP scroll bar up button
EGDI_CURSOR_DOWN scroll bar down button
EGDI_CURSOR_LEFT scroll bar left button
EGDI_CURSOR_RIGHT scroll bar right button
EGDI_MENU_MORE icon for menu children
EGDI_CHECK_BOX_CHECKED tick for checkbox
EGDI_DROP_DOWN down arrow for dropdown menus
EGDI_SMALL_CURSOR_UP smaller up arrow
EGDI_SMALL_CURSOR_DOWN smaller down arrow
EGDI_RADIO_BUTTON_CHECKED selection dot in a radio button
EGDI_MORE_LEFT << icon indicating there is more content to the left
EGDI_MORE_RIGHT >> icon indicating that there is more content to the right
EGDI_MORE_UP icon indicating that there is more content above
EGDI_MORE_DOWN icon indicating that there is more content below
EGDI_EXPAND plus icon for trees
EGDI_COLLAPSE minus icon for trees
EGDI_FILE file icon for file selection
EGDI_DIRECTORY folder icon for file selection
EGDI_COUNT value not used, it only specifies the number of icons

Definition at line 214 of file IGUISkin.h.

8.51.1.4 enum irr::gui::EGUI_DEFAULT_SIZE

Enumeration for default sizes.

Enumeration values:
EGDS_SCROLLBAR_SIZE default with / height of scrollbar
EGDS_MENU_HEIGHT height of menu
EGDS_WINDOW_BUTTON_WIDTH width of a window button
EGDS_CHECK_BOX_WIDTH width of a checkbox check
EGDS_MESSAGE_BOX_WIDTH width of a messagebox
EGDS_MESSAGE_BOX_HEIGHT height of a messagebox
EGDS_BUTTON_WIDTH width of a default button
EGDS_BUTTON_HEIGHT height of a default button
EGDS_TEXT_DISTANCE_X distance for text from background
EGDS_TEXT_DISTANCE_Y distance for text from background
EGDS_COUNT this value is not used, it only specifies the amount of default sizes available.

Definition at line 131 of file IGUISkin.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.51 IGUISkin.h File Reference 913

8.51.1.5 enum irr::gui::EGUI_DEFAULT_TEXT

Enumeration values:
EGDT_MSG_BOX_OK Text for the OK button on a message box.
EGDT_MSG_BOX_CANCEL Text for the Cancel button on a message box.
EGDT_MSG_BOX_YES Text for the Yes button on a message box.
EGDT_MSG_BOX_NO Text for the No button on a message box.
EGDT_WINDOW_CLOSE Tooltip text for window close button.
EGDT_WINDOW_MAXIMIZE Tooltip text for window maximize button.
EGDT_WINDOW_MINIMIZE Tooltip text for window minimize button.
EGDT_WINDOW_RESTORE Tooltip text for window restore button.
EGDT_COUNT this value is not used, it only specifies the number of default texts

Definition at line 176 of file IGUISkin.h.

8.51.1.6 enum irr::gui::EGUI_SKIN_TYPE

Enumeration of available default skins.


To set one of the skins, use the following code, for example to set the Windows classic skin:

gui::IGUISkin* newskin = environment->createSkin(gui::EGST_WINDOWS_CLASSIC);


environment->setSkin(newskin);
newskin->drop();

Enumeration values:
EGST_WINDOWS_CLASSIC Default windows look and feel.
EGST_WINDOWS_METALLIC Like EGST_WINDOWS_CLASSIC, but with metallic shaded
windows and buttons.
EGST_BURNING_SKIN Burning’s skin.
EGST_UNKNOWN An unknown skin, not serializable at present.

Definition at line 29 of file IGUISkin.h.

8.51.2 Variable Documentation

8.51.2.1 const c8∗ const irr::gui::GUISkinColorNames[ ]

Initial value:

{
"3DDarkShadow",
"3DShadow",
"3DFace",
"3DHighlight",
"3DLight",
"ActiveBorder",
"ActiveCaption",
"AppWorkspace",
"ButtonText",
"GrayText",

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


914 Irrlicht Engine File Documentation

"Highlight",
"HighlightText",
"InactiveBorder",
"InactiveCaption",
"ToolTip",
"ToolTipBackground",
"ScrollBar",
"Window",
"WindowSymbol",
"Icon",
"IconHighlight",
0,
}

Names for default skin colors.


Definition at line 104 of file IGUISkin.h.

8.51.2.2 const c8∗ const irr::gui::GUISkinFontNames[ ]

Initial value:

{
"defaultFont",
"buttonFont",
"windowFont",
"menuFont",
"tooltipFont",
0
}

Definition at line 313 of file IGUISkin.h.

8.51.2.3 const c8∗ const irr::gui::GUISkinIconNames[ ]

Initial value:

{
"windowMaximize",
"windowRestore",
"windowClose",
"windowMinimize",
"windowResize",
"cursorUp",
"cursorDown",
"cursorLeft",
"cursorRight",
"menuMore",
"checkBoxChecked",
"dropDown",
"smallCursorUp",
"smallCursorDown",
"radioButtonChecked",
"moreLeft",
"moreRight",
"moreUp",
"moreDown",
"expand",
"collapse",
"file",
"directory",

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.51 IGUISkin.h File Reference 915

0
}

Definition at line 267 of file IGUISkin.h.

8.51.2.4 const c8∗ const irr::gui::GUISkinSizeNames[ ]

Initial value:

{
"ScrollBarSize",
"MenuHeight",
"WindowButtonWidth",
"CheckBoxWidth",
"MessageBoxWidth",
"MessageBoxHeight",
"ButtonWidth",
"ButtonHeight",
"TextDistanceX",
"TextDistanceY",
0,
}

Names for default skin sizes.


Definition at line 160 of file IGUISkin.h.

8.51.2.5 const c8∗ const irr::gui::GUISkinTextNames[ ]

Initial value:

{
"MessageBoxOkay",
"MessageBoxCancel",
"MessageBoxYes",
"MessageBoxNo",
"WindowButtonClose",
"WindowButtonMaximize",
"WindowButtonMinimize",
"WindowButtonRestore",
0,
}

Names for default skin sizes.


Definition at line 200 of file IGUISkin.h.

8.51.2.6 const c8∗ const irr::gui::GUISkinTypeNames[ ]

Initial value:

{
"windowsClassic",
"windowsMetallic",
"burning",
"unknown",
0,
}

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


916 Irrlicht Engine File Documentation

Names for gui element types.


Definition at line 43 of file IGUISkin.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.52 IGUISpinBox.h File Reference 917

8.52 IGUISpinBox.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


918 Irrlicht Engine File Documentation

8.53 IGUISpriteBank.h File Reference


#include "IReferenceCounted.h"
#include "irrArray.h"
#include "SColor.h"
#include "rect.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.54 IGUIStaticText.h File Reference 919

8.54 IGUIStaticText.h File Reference


#include "IGUIElement.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


920 Irrlicht Engine File Documentation

8.55 IGUITabControl.h File Reference


#include "IGUIElement.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.56 IGUIToolbar.h File Reference 921

8.56 IGUIToolbar.h File Reference


#include "IGUIElement.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


922 Irrlicht Engine File Documentation

8.57 IGUIWindow.h File Reference


#include "IGUIElement.h"
#include "EMessageBoxFlags.h"

Namespaces
• namespace irr
• namespace irr::gui

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.58 IImage.h File Reference 923

8.58 IImage.h File Reference


#include "IReferenceCounted.h"
#include "position2d.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum ECOLOR_FORMAT { ECF_A1R5G5B5 = 0, ECF_R5G6B5, ECF_R8G8B8, ECF_-
A8R8G8B8 }
An enum for the color format of textures used by the Irrlicht Engine.

8.58.1 Enumeration Type Documentation

8.58.1.1 enum irr::video::ECOLOR_FORMAT

An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.

Enumeration values:
ECF_A1R5G5B5 16 bit color format used by the software driver.
It is thus preferred by all other irrlicht engine video drivers. There are 5 bits for every color
component, and a single bit is left for alpha information.
ECF_R5G6B5 Standard 16 bit color format.
ECF_R8G8B8 24 bit color, no alpha channel, but 8 bit for red, green and blue.
ECF_A8R8G8B8 Default 32 bit color format. 8 bits are used for every component: red, green, blue
and alpha.

Definition at line 19 of file IImage.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


924 Irrlicht Engine File Documentation

8.59 IImageLoader.h File Reference


#include "IReferenceCounted.h"
#include "IImage.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.60 IImageWriter.h File Reference 925

8.60 IImageWriter.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


926 Irrlicht Engine File Documentation

8.61 ILightSceneNode.h File Reference


#include "ISceneNode.h"
#include "SLight.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.62 ILogger.h File Reference 927

8.62 ILogger.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr

Enumerations
• enum ELOG_LEVEL { ELL_INFORMATION = 0, ELL_WARNING, ELL_ERROR, ELL_NONE
}
Possible log levels.

8.62.1 Enumeration Type Documentation

8.62.1.1 enum irr::ELOG_LEVEL

Possible log levels.

Enumeration values:
ELL_INFORMATION High log level, warnings, errors and important information texts are printed
out.
ELL_WARNING Default log level, warnings and errors are printed out.
ELL_ERROR Low log level, only errors are printed into the log.
ELL_NONE Nothing is printed out to the log.

Definition at line 14 of file ILogger.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


928 Irrlicht Engine File Documentation

8.63 IMaterialRenderer.h File Reference


#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "S3DVertex.h"

Namespaces
• namespace irr
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.64 IMaterialRendererServices.h File Reference 929

8.64 IMaterialRendererServices.h File Reference


#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "S3DVertex.h"

Namespaces
• namespace irr
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


930 Irrlicht Engine File Documentation

8.65 IMesh.h File Reference


#include "IReferenceCounted.h"
#include "SMaterial.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.66 IMeshBuffer.h File Reference 931

8.66 IMeshBuffer.h File Reference


#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "aabbox3d.h"
#include "S3DVertex.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_PRIMITIVE_TYPE {
EPT_POINTS = 0, EPT_LINE_STRIP, EPT_LINE_LOOP, EPT_LINES,
EPT_TRIANGLE_STRIP, EPT_TRIANGLE_FAN, EPT_TRIANGLES, EPT_QUAD_STRIP,
EPT_QUADS, EPT_POLYGON, EPT_POINT_SPRITES }
Enumeration for all primitive types there are.

8.66.1 Enumeration Type Documentation

8.66.1.1 enum irr::scene::E_PRIMITIVE_TYPE

Enumeration for all primitive types there are.

Enumeration values:
EPT_POINTS All vertices are non-connected points.
EPT_LINE_STRIP All vertices form a single connected line.
EPT_LINE_LOOP Just as LINE_STRIP, but the last and the first vertex is also connected.
EPT_LINES Every two vertices are connected creating n/2 lines.
EPT_TRIANGLE_STRIP After the first two vertices each vertex defines a new triangle. Always
the two last and the new one form a new triangle.
EPT_TRIANGLE_FAN After the first two vertices each vertex defines a new triangle. All around
the common first vertex.
EPT_TRIANGLES Explicitly set all vertices for each triangle.
EPT_QUAD_STRIP After the first two vertices each further tw vetices create a quad with the pre-
ceding two.
EPT_QUADS Every four vertices create a quad.
EPT_POLYGON Just as LINE_LOOP, but filled.
EPT_POINT_SPRITES The single vertices are expanded to quad billboards on the GPU.

Definition at line 19 of file IMeshBuffer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


932 Irrlicht Engine File Documentation

8.67 IMeshCache.h File Reference


#include "IReferenceCounted.h"
#include "irrString.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.68 IMeshLoader.h File Reference 933

8.68 IMeshLoader.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


934 Irrlicht Engine File Documentation

8.69 IMeshManipulator.h File Reference


#include "IReferenceCounted.h"
#include "vector3d.h"
#include "aabbox3d.h"
#include "matrix4.h"
#include "IAnimatedMesh.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.70 IMeshSceneNode.h File Reference 935

8.70 IMeshSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


936 Irrlicht Engine File Documentation

8.71 IMeshWriter.h File Reference


#include "IReferenceCounted.h"
#include "EMeshWriterEnums.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.72 IMetaTriangleSelector.h File Reference 937

8.72 IMetaTriangleSelector.h File Reference


#include "ITriangleSelector.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


938 Irrlicht Engine File Documentation

8.73 IOSOperator.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.74 IParticleAffector.h File Reference 939

8.74 IParticleAffector.h File Reference


#include "IAttributeExchangingObject.h"
#include "SParticle.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_PARTICLE_AFFECTOR_TYPE {
EPAT_NONE = 0, EPAT_ATTRACT, EPAT_FADE_OUT, EPAT_GRAVITY,
EPAT_ROTATE, EPAT_COUNT }
Types of built in particle affectors.

Variables
• const c8 ∗const ParticleAffectorTypeNames [ ]
Names for built in particle affectors.

8.74.1 Enumeration Type Documentation

8.74.1.1 enum irr::scene::E_PARTICLE_AFFECTOR_TYPE

Types of built in particle affectors.

Enumeration values:
EPAT_NONE
EPAT_ATTRACT
EPAT_FADE_OUT
EPAT_GRAVITY
EPAT_ROTATE
EPAT_COUNT

Definition at line 17 of file IParticleAffector.h.

8.74.2 Variable Documentation

8.74.2.1 const c8∗ const irr::scene::ParticleAffectorTypeNames[ ]

Initial value:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


940 Irrlicht Engine File Documentation

{
"None",
"Attract",
"FadeOut",
"Gravity",
"Rotate",
0
}

Names for built in particle affectors.


Definition at line 28 of file IParticleAffector.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.75 IParticleAnimatedMeshSceneNodeEmitter.h File Reference 941

8.75 IParticleAnimatedMeshSceneNodeEmitter.h File Reference


#include "IParticleEmitter.h"
#include "IAnimatedMeshSceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


942 Irrlicht Engine File Documentation

8.76 IParticleAttractionAffector.h File Reference


#include "IParticleAffector.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.77 IParticleBoxEmitter.h File Reference 943

8.77 IParticleBoxEmitter.h File Reference


#include "IParticleEmitter.h"
#include "aabbox3d.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


944 Irrlicht Engine File Documentation

8.78 IParticleCylinderEmitter.h File Reference


#include "IParticleEmitter.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.79 IParticleEmitter.h File Reference 945

8.79 IParticleEmitter.h File Reference


#include "IAttributeExchangingObject.h"
#include "SParticle.h"

Namespaces
• namespace irr
• namespace irr::scene

Typedefs
• typedef IParticleEmitter IParticlePointEmitter

Enumerations
• enum E_PARTICLE_EMITTER_TYPE {
EPET_POINT = 0, EPET_ANIMATED_MESH, EPET_BOX, EPET_CYLINDER,
EPET_MESH, EPET_RING, EPET_SPHERE, EPET_COUNT }
Types of built in particle emitters.

Variables
• const c8 ∗const ParticleEmitterTypeNames [ ]
Names for built in particle emitters.

8.79.1 Typedef Documentation

8.79.1.1 typedef IParticleEmitter irr::scene::IParticlePointEmitter

Definition at line 106 of file IParticleEmitter.h.

8.79.2 Enumeration Type Documentation

8.79.2.1 enum irr::scene::E_PARTICLE_EMITTER_TYPE

Types of built in particle emitters.

Enumeration values:
EPET_POINT
EPET_ANIMATED_MESH
EPET_BOX
EPET_CYLINDER
EPET_MESH

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


946 Irrlicht Engine File Documentation

EPET_RING
EPET_SPHERE
EPET_COUNT

Definition at line 17 of file IParticleEmitter.h.

8.79.3 Variable Documentation

8.79.3.1 const c8∗ const irr::scene::ParticleEmitterTypeNames[ ]

Initial value:

{
"Point",
"AnimatedMesh",
"Box",
"Cylinder",
"Mesh",
"Ring",
"Sphere",
0
}

Names for built in particle emitters.


Definition at line 30 of file IParticleEmitter.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.80 IParticleFadeOutAffector.h File Reference 947

8.80 IParticleFadeOutAffector.h File Reference


#include "IParticleAffector.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


948 Irrlicht Engine File Documentation

8.81 IParticleGravityAffector.h File Reference


#include "IParticleAffector.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.82 IParticleMeshEmitter.h File Reference 949

8.82 IParticleMeshEmitter.h File Reference


#include "IParticleEmitter.h"
#include "IMesh.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


950 Irrlicht Engine File Documentation

8.83 IParticleRingEmitter.h File Reference


#include "IParticleEmitter.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.84 IParticleRotationAffector.h File Reference 951

8.84 IParticleRotationAffector.h File Reference


#include "IParticleAffector.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


952 Irrlicht Engine File Documentation

8.85 IParticleSphereEmitter.h File Reference


#include "IParticleEmitter.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.86 IParticleSystemSceneNode.h File Reference 953

8.86 IParticleSystemSceneNode.h File Reference


#include "ISceneNode.h"
#include "IParticleAnimatedMeshSceneNodeEmitter.h"
#include "IParticleBoxEmitter.h"
#include "IParticleCylinderEmitter.h"
#include "IParticleMeshEmitter.h"
#include "IParticleRingEmitter.h"
#include "IParticleSphereEmitter.h"
#include "IParticleAttractionAffector.h"
#include "IParticleFadeOutAffector.h"
#include "IParticleGravityAffector.h"
#include "IParticleRotationAffector.h"
#include "dimension2d.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


954 Irrlicht Engine File Documentation

8.87 IQ3LevelMesh.h File Reference


#include "IAnimatedMesh.h"
#include "IQ3Shader.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.88 IQ3Shader.h File Reference 955

8.88 IQ3Shader.h File Reference


#include "irrArray.h"
#include "fast_atof.h"
#include "IFileSystem.h"
#include "IVideoDriver.h"
#include "coreutil.h"

Namespaces
• namespace irr
• namespace irr::scene
• namespace irr::scene::quake3

Typedefs
• typedef SShader SEntity
• typedef core::array< SEntity > tQ3EntityList
• typedef core::array< core::stringc > tStringList
• typedef core::array< video::ITexture ∗ > tTexArray

Enumerations
• enum eQ3MeshIndex { E_Q3_MESH_GEOMETRY = 0, E_Q3_MESH_ITEMS, E_Q3_MESH_-
BILLBOARD, E_Q3_MESH_SIZE }
Hold the different Mesh Types used for getMesh.

Functions
• core::stringc & dumpShader (core::stringc &dest, const SShader ∗shader)
• void dumpVarGroup (core::stringc &dest, const SVarGroup ∗group, s32 stack)
• f32 getAsFloat (const core::stringc &string, u32 &pos)
• void getAsStringList (tStringList &list, s32 max, const core::stringc &string, u32 &startPos)
• core::vector3df getAsVector3df (const core::stringc &string, u32 &pos)
• bool getBackfaceCulling (const core::stringc &string)
• u32 getDepthFunction (const core::stringc &string)
• void getModifierFunc (SModifierFunction &fill, const core::stringc &string, u32 &pos)
• void getTextures (tTexArray &textures, const core::stringc &name, u32 &startPos, io::IFileSystem
∗fileSystem, video::IVideoDriver ∗driver)
• s32 isEqual (const core::stringc &string, u32 &pos, const c8 ∗list[ ], u32 listSize)

Variables
• const video::E_MATERIAL_TYPE defaultLightMap = video::EMT_LIGHTMAP_M2
• const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_2X

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


956 Irrlicht Engine File Documentation

8.88.1 Typedef Documentation

8.88.1.1 typedef SShader irr::scene::quake3::SEntity

Definition at line 478 of file IQ3Shader.h.

8.88.1.2 typedef core::array< SEntity > irr::scene::quake3::tQ3EntityList

Definition at line 480 of file IQ3Shader.h.

8.88.1.3 typedef core::array< core::stringc > irr::scene::quake3::tStringList

Definition at line 38 of file IQ3Shader.h.

8.88.1.4 typedef core::array< video::ITexture∗ > irr::scene::quake3::tTexArray

Definition at line 39 of file IQ3Shader.h.

8.88.2 Enumeration Type Documentation

8.88.2.1 enum irr::scene::quake3::eQ3MeshIndex

Hold the different Mesh Types used for getMesh.

Enumeration values:
E_Q3_MESH_GEOMETRY
E_Q3_MESH_ITEMS
E_Q3_MESH_BILLBOARD
E_Q3_MESH_SIZE

Definition at line 24 of file IQ3Shader.h.

8.88.3 Function Documentation

8.88.3.1 core::stringc& dumpShader (core::stringc & dest, const SShader ∗ shader) [inline]

Definition at line 527 of file IQ3Shader.h.


References irr::scene::quake3::dumpVarGroup(), and irr::core::string< T, TAlloc >::size().

8.88.3.2 void dumpVarGroup (core::stringc & dest, const SVarGroup ∗ group, s32 stack)
[inline]

Definition at line 486 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::append().
Referenced by irr::scene::quake3::dumpShader().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.88 IQ3Shader.h File Reference 957

8.88.3.3 f32 getAsFloat (const core::stringc & string, u32 & pos) [inline]

Definition at line 87 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::c_str(), and irr::core::fast_atof_move().
Referenced by irr::scene::quake3::getAsVector3df(), and irr::scene::quake3::getModifierFunc().

8.88.3.4 void getAsStringList (tStringList & list, s32 max, const core::stringc & string, u32 &
startPos) [inline]

Definition at line 110 of file IQ3Shader.h.


Referenced by irr::scene::quake3::getTextures().

8.88.3.5 core::vector3df getAsVector3df (const core::stringc & string, u32 & pos) [inline]

Definition at line 96 of file IQ3Shader.h.


References irr::scene::quake3::getAsFloat(), irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and
irr::core::vector3d< T >::Z.

8.88.3.6 bool getBackfaceCulling (const core::stringc & string) [inline]

Definition at line 145 of file IQ3Shader.h.


References irr::scene::quake3::isEqual().

8.88.3.7 u32 getDepthFunction (const core::stringc & string) [inline]

Definition at line 166 of file IQ3Shader.h.


References irr::scene::quake3::isEqual().

8.88.3.8 void getModifierFunc (SModifierFunction & fill, const core::stringc & string, u32 & pos)
[inline]

Definition at line 376 of file IQ3Shader.h.


References irr::scene::quake3::getAsFloat(), and irr::scene::quake3::isEqual().

8.88.3.9 void getTextures (tTexArray & textures, const core::stringc & name, u32 & startPos,
io::IFileSystem ∗ fileSystem, video::IVideoDriver ∗ driver) [inline]

Definition at line 559 of file IQ3Shader.h.


References irr::core::string< T, TAlloc >::c_str(), irr::core::cutFilenameExtension(),
irr::scene::quake3::getAsStringList(), and irr::core::array< T, TAlloc >::size().

8.88.3.10 s32 isEqual (const core::stringc & string, u32 & pos, const c8 ∗ list[ ], u32 listSize)
[inline]

Definition at line 65 of file IQ3Shader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


958 Irrlicht Engine File Documentation

References irr::core::string< T, TAlloc >::c_str().


Referenced by irr::scene::quake3::getBackfaceCulling(), irr::scene::quake3::getDepthFunction(), and
irr::scene::quake3::getModifierFunc().

8.88.4 Variable Documentation

8.88.4.1 const video::E_MATERIAL_TYPE irr::scene::quake3::defaultLightMap =


video::EMT_LIGHTMAP_M2

Definition at line 34 of file IQ3Shader.h.

8.88.4.2 const video::E_MODULATE_FUNC irr::scene::quake3::defaultModulate =


video::EMFN_MODULATE_2X

Definition at line 35 of file IQ3Shader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.89 IReadFile.h File Reference 959

8.89 IReadFile.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io

Functions
• IReadFile ∗ createLimitReadFile (const c8 ∗fileName, IReadFile ∗alreadyOpenedFile, long area-
Size)
Internal function, please do not use.

• IReadFile ∗ createMemoryReadFile (void ∗memory, long size, const c8 ∗fileName, bool delete-
MemoryWhenDropped)
Internal function, please do not use.

• IReadFile ∗ createReadFile (const c8 ∗fileName)


Internal function, please do not use.

8.89.1 Function Documentation

8.89.1.1 IReadFile∗ createLimitReadFile (const c8 ∗ fileName, IReadFile ∗ alreadyOpenedFile,


long areaSize)

Internal function, please do not use.

8.89.1.2 IReadFile∗ createMemoryReadFile (void ∗ memory, long size, const c8 ∗ fileName, bool
deleteMemoryWhenDropped)

Internal function, please do not use.

8.89.1.3 IReadFile∗ createReadFile (const c8 ∗ fileName)

Internal function, please do not use.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


960 Irrlicht Engine File Documentation

8.90 IReferenceCounted.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.91 irrAllocator.h File Reference 961

8.91 irrAllocator.h File Reference


#include "irrTypes.h"
#include <new>
#include <memory.h>

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


962 Irrlicht Engine File Documentation

8.92 irrArray.h File Reference


#include "irrTypes.h"
#include "heapsort.h"
#include "irrAllocator.h"

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 963

8.93 IrrCompileConfig.h File Reference


#include <stdio.h>

Defines
• #define _IRR_COMPILE_WITH_3DS_LOADER_
Define _IRR_COMPILE_WITH_3DS_LOADER_ if you want to load 3D Studio Max files.

• #define _IRR_COMPILE_WITH_B3D_LOADER_
Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to use Blitz3D files.

• #define _IRR_COMPILE_WITH_BMP_LOADER_
Define _IRR_COMPILE_WITH_BMP_LOADER_ if you want to load .bmp files.

• #define _IRR_COMPILE_WITH_BMP_WRITER_
Define _IRR_COMPILE_WITH_BMP_WRITER_ if you want to write .bmp files.

• #define _IRR_COMPILE_WITH_BSP_LOADER_
Define _IRR_COMPILE_WITH_BSP_LOADER_ if you want to load Quake 3 BSP files.

• #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
Define _IRR_COMPILE_WITH_BURNINGSVIDEO_ to compile the Irrlicht engine with Burning’s video
driver.

• #define _IRR_COMPILE_WITH_COLLADA_LOADER_
Define _IRR_COMPILE_WITH_COLLADA_LOADER_ if you want to load Collada files.

• #define _IRR_COMPILE_WITH_COLLADA_WRITER_
Define _IRR_COMPILE_WITH_COLLADA_WRITER_ if you want to write Collada files.

• #define _IRR_COMPILE_WITH_CSM_LOADER_
Define _IRR_COMPILE_WITH_CSM_LOADER_ if you want to load Cartography Shop files.

• #define _IRR_COMPILE_WITH_DMF_LOADER_
Define _IRR_COMPILE_WITH_DMF_LOADER_ if you want to load DeleD files.

• #define _IRR_COMPILE_WITH_GUI_
Define _IRR_COMPILE_WITH_GUI_ to compile the engine with the built-in GUI.

• #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
Define _IRR_COMPILE_WITH_IRR_MESH_LOADER_ if you want to load Irrlicht Engine .irrmesh files.

• #define _IRR_COMPILE_WITH_IRR_WRITER_
Define _IRR_COMPILE_WITH_IRR_WRITER_ if you want to write static .irr files.

• #define _IRR_COMPILE_WITH_JPG_LOADER_
Define _IRR_COMPILE_WITH_JPG_LOADER_ if you want to load .jpg files.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


964 Irrlicht Engine File Documentation

• #define _IRR_COMPILE_WITH_JPG_WRITER_
Define _IRR_COMPILE_WITH_JPG_WRITER_ if you want to write .jpg files.

• #define _IRR_COMPILE_WITH_LIBJPEG_
Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.

• #define _IRR_COMPILE_WITH_LIBPNG_
Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.

• #define _IRR_COMPILE_WITH_LMTS_LOADER_
Define _IRR_COMPILE_WITH_LMTS_LOADER_ if you want to load LMTools files.

• #define _IRR_COMPILE_WITH_MD2_LOADER_
Define _IRR_COMPILE_WITH_MD2_LOADER_ if you want to load Quake 2 animated files.

• #define _IRR_COMPILE_WITH_MD3_LOADER_
Define _IRR_COMPILE_WITH_MD3_LOADER_ if you want to load Quake 3 animated files.

• #define _IRR_COMPILE_WITH_MS3D_LOADER_
Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to Milkshape files.

• #define _IRR_COMPILE_WITH_MY3D_LOADER_
Define _IRR_COMPILE_WITH_MY3D_LOADER_ if you want to load MY3D files.

• #define _IRR_COMPILE_WITH_OBJ_LOADER_
Define _IRR_COMPILE_WITH_OBJ_LOADER_ if you want to load Wavefront OBJ files.

• #define _IRR_COMPILE_WITH_OCT_LOADER_
Define _IRR_COMPILE_WITH_OCT_LOADER_ if you want to load FSRad OCT files.

• #define _IRR_COMPILE_WITH_OGRE_LOADER_
Define _IRR_COMPILE_WITH_OGRE_LOADER_ if you want to load Ogre 3D files.

• #define _IRR_COMPILE_WITH_OPENGL_
Define _IRR_COMPILE_WITH_OPENGL_ to compile the Irrlicht engine with OpenGL.

• #define _IRR_COMPILE_WITH_PCX_LOADER_
Define _IRR_COMPILE_WITH_PCX_LOADER_ if you want to load .pcx files.

• #define _IRR_COMPILE_WITH_PCX_WRITER_
Define _IRR_COMPILE_WITH_PCX_WRITER_ if you want to write .pcx files.

• #define _IRR_COMPILE_WITH_PNG_LOADER_
Define _IRR_COMPILE_WITH_PNG_LOADER_ if you want to load .png files.

• #define _IRR_COMPILE_WITH_PNG_WRITER_
Define _IRR_COMPILE_WITH_PNG_WRITER_ if you want to write .png files.

• #define _IRR_COMPILE_WITH_PPM_LOADER_
Define _IRR_COMPILE_WITH_PPM_LOADER_ if you want to load .ppm/.pgm/.pbm files.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 965

• #define _IRR_COMPILE_WITH_PPM_WRITER_
Define _IRR_COMPILE_WITH_PPM_WRITER_ if you want to write .ppm files.

• #define _IRR_COMPILE_WITH_PSD_LOADER_
Define _IRR_COMPILE_WITH_PSD_LOADER_ if you want to load .psd files.

• #define _IRR_COMPILE_WITH_PSD_WRITER_
Define _IRR_COMPILE_WITH_PSD_WRITER_ if you want to write .psd files.

• #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
Define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ if you want to use bone based.

• #define _IRR_COMPILE_WITH_SOFTWARE_
Define _IRR_COMPILE_WITH_SOFTWARE_ to compile the Irrlicht engine with software driver.

• #define _IRR_COMPILE_WITH_STL_LOADER_
Define _IRR_COMPILE_WITH_STL_LOADER_ if you want to load .stl files.

• #define _IRR_COMPILE_WITH_STL_WRITER_
Define _IRR_COMPILE_WITH_STL_WRITER_ if you want to write .stl files.

• #define _IRR_COMPILE_WITH_TGA_LOADER_
Define _IRR_COMPILE_WITH_TGA_LOADER_ if you want to load .tga files.

• #define _IRR_COMPILE_WITH_TGA_WRITER_
Define _IRR_COMPILE_WITH_TGA_WRITER_ if you want to write .tga files.

• #define _IRR_COMPILE_WITH_X11_
Define _IRR_COMPILE_WITH_X11_ to compile the Irrlicht engine with X11 support.

• #define _IRR_COMPILE_WITH_X_LOADER_
Define _IRR_COMPILE_WITH_X_LOADER_ if you want to use Microsoft X files.

• #define _IRR_COMPILE_WITH_ZLIB_
Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.

• #define _IRR_D3D_NO_SHADER_DEBUGGING
Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9.

• #define _IRR_LINUX_PLATFORM_
• #define _IRR_LINUX_X11_VIDMODE_
• #define _IRR_OPENGL_USE_EXTPOINTER_
Define _IRR_OPENGL_USE_EXTPOINTER_ if the OpenGL renderer should use OpenGL extensions via
function pointers.

• #define _IRR_POSIX_API_
• #define _IRR_USE_LINUX_DEVICE_
• #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


966 Irrlicht Engine File Documentation

• #define _IRR_USE_NON_SYSTEM_LIB_PNG_
Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.

• #define _IRR_USE_NON_SYSTEM_ZLIB_
Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.

• #define BURNINGVIDEO_RENDERER_BEAUTIFUL
Define one of the three setting for Burning’s Video Software Rasterizer.

• #define IRRCALLCONV
• #define IRRLICHT_API
• #define IRRLICHT_SDK_VERSION "1.4.1"
Irrlicht SDK Version.

8.93.1 Define Documentation

8.93.1.1 #define _IRR_COMPILE_WITH_3DS_LOADER_

Define _IRR_COMPILE_WITH_3DS_LOADER_ if you want to load 3D Studio Max files.


Definition at line 256 of file IrrCompileConfig.h.

8.93.1.2 #define _IRR_COMPILE_WITH_B3D_LOADER_

Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to use Blitz3D files.


Definition at line 240 of file IrrCompileConfig.h.

8.93.1.3 #define _IRR_COMPILE_WITH_BMP_LOADER_

Define _IRR_COMPILE_WITH_BMP_LOADER_ if you want to load .bmp files.


Definition at line 286 of file IrrCompileConfig.h.

8.93.1.4 #define _IRR_COMPILE_WITH_BMP_WRITER_

Define _IRR_COMPILE_WITH_BMP_WRITER_ if you want to write .bmp files.


Definition at line 301 of file IrrCompileConfig.h.

8.93.1.5 #define _IRR_COMPILE_WITH_BSP_LOADER_

Define _IRR_COMPILE_WITH_BSP_LOADER_ if you want to load Quake 3 BSP files.


Definition at line 262 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 967

8.93.1.6 #define _IRR_COMPILE_WITH_BURNINGSVIDEO_

Define _IRR_COMPILE_WITH_BURNINGSVIDEO_ to compile the Irrlicht engine with Burning’s video


driver.
If you do not need this software driver, you can comment this define out.
Definition at line 101 of file IrrCompileConfig.h.

8.93.1.7 #define _IRR_COMPILE_WITH_COLLADA_LOADER_

Define _IRR_COMPILE_WITH_COLLADA_LOADER_ if you want to load Collada files.


Definition at line 258 of file IrrCompileConfig.h.

8.93.1.8 #define _IRR_COMPILE_WITH_COLLADA_WRITER_

Define _IRR_COMPILE_WITH_COLLADA_WRITER_ if you want to write Collada files.


Definition at line 281 of file IrrCompileConfig.h.

8.93.1.9 #define _IRR_COMPILE_WITH_CSM_LOADER_

Define _IRR_COMPILE_WITH_CSM_LOADER_ if you want to load Cartography Shop files.


Definition at line 260 of file IrrCompileConfig.h.

8.93.1.10 #define _IRR_COMPILE_WITH_DMF_LOADER_

Define _IRR_COMPILE_WITH_DMF_LOADER_ if you want to load DeleD files.


Definition at line 264 of file IrrCompileConfig.h.

8.93.1.11 #define _IRR_COMPILE_WITH_GUI_

Define _IRR_COMPILE_WITH_GUI_ to compile the engine with the built-in GUI.


Disable this if you are using an external library to draw the GUI. If you disable this then you will not be
able to use anything provided by the GUI Environment, including loading fonts.
Definition at line 126 of file IrrCompileConfig.h.

8.93.1.12 #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_

Define _IRR_COMPILE_WITH_IRR_MESH_LOADER_ if you want to load Irrlicht Engine .irrmesh


files.
Definition at line 248 of file IrrCompileConfig.h.

8.93.1.13 #define _IRR_COMPILE_WITH_IRR_WRITER_

Define _IRR_COMPILE_WITH_IRR_WRITER_ if you want to write static .irr files.


Definition at line 279 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


968 Irrlicht Engine File Documentation

8.93.1.14 #define _IRR_COMPILE_WITH_JPG_LOADER_

Define _IRR_COMPILE_WITH_JPG_LOADER_ if you want to load .jpg files.


Definition at line 288 of file IrrCompileConfig.h.

8.93.1.15 #define _IRR_COMPILE_WITH_JPG_WRITER_

Define _IRR_COMPILE_WITH_JPG_WRITER_ if you want to write .jpg files.


Definition at line 303 of file IrrCompileConfig.h.

8.93.1.16 #define _IRR_COMPILE_WITH_LIBJPEG_

Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.


This enables the engine to read jpeg images. If you comment this out, the engine will no longer read .jpeg
images.
Definition at line 143 of file IrrCompileConfig.h.

8.93.1.17 #define _IRR_COMPILE_WITH_LIBPNG_

Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.


This enables the engine to read png images. If you comment this out, the engine will no longer read .png
images.
Definition at line 154 of file IrrCompileConfig.h.

8.93.1.18 #define _IRR_COMPILE_WITH_LMTS_LOADER_

Define _IRR_COMPILE_WITH_LMTS_LOADER_ if you want to load LMTools files.


Definition at line 266 of file IrrCompileConfig.h.

8.93.1.19 #define _IRR_COMPILE_WITH_MD2_LOADER_

Define _IRR_COMPILE_WITH_MD2_LOADER_ if you want to load Quake 2 animated files.


Definition at line 251 of file IrrCompileConfig.h.

8.93.1.20 #define _IRR_COMPILE_WITH_MD3_LOADER_

Define _IRR_COMPILE_WITH_MD3_LOADER_ if you want to load Quake 3 animated files.


Definition at line 253 of file IrrCompileConfig.h.

8.93.1.21 #define _IRR_COMPILE_WITH_MS3D_LOADER_

Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to Milkshape files.


Definition at line 242 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 969

8.93.1.22 #define _IRR_COMPILE_WITH_MY3D_LOADER_

Define _IRR_COMPILE_WITH_MY3D_LOADER_ if you want to load MY3D files.


Definition at line 268 of file IrrCompileConfig.h.

8.93.1.23 #define _IRR_COMPILE_WITH_OBJ_LOADER_

Define _IRR_COMPILE_WITH_OBJ_LOADER_ if you want to load Wavefront OBJ files.


Definition at line 270 of file IrrCompileConfig.h.

8.93.1.24 #define _IRR_COMPILE_WITH_OCT_LOADER_

Define _IRR_COMPILE_WITH_OCT_LOADER_ if you want to load FSRad OCT files.


Definition at line 272 of file IrrCompileConfig.h.

8.93.1.25 #define _IRR_COMPILE_WITH_OGRE_LOADER_

Define _IRR_COMPILE_WITH_OGRE_LOADER_ if you want to load Ogre 3D files.


Definition at line 274 of file IrrCompileConfig.h.

8.93.1.26 #define _IRR_COMPILE_WITH_OPENGL_

Define _IRR_COMPILE_WITH_OPENGL_ to compile the Irrlicht engine with OpenGL.


If you do not wish the engine to be compiled with OpengGL, comment this define out.
Definition at line 92 of file IrrCompileConfig.h.

8.93.1.27 #define _IRR_COMPILE_WITH_PCX_LOADER_

Define _IRR_COMPILE_WITH_PCX_LOADER_ if you want to load .pcx files.


Definition at line 290 of file IrrCompileConfig.h.

8.93.1.28 #define _IRR_COMPILE_WITH_PCX_WRITER_

Define _IRR_COMPILE_WITH_PCX_WRITER_ if you want to write .pcx files.


Definition at line 305 of file IrrCompileConfig.h.

8.93.1.29 #define _IRR_COMPILE_WITH_PNG_LOADER_

Define _IRR_COMPILE_WITH_PNG_LOADER_ if you want to load .png files.


Definition at line 292 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


970 Irrlicht Engine File Documentation

8.93.1.30 #define _IRR_COMPILE_WITH_PNG_WRITER_

Define _IRR_COMPILE_WITH_PNG_WRITER_ if you want to write .png files.


Definition at line 307 of file IrrCompileConfig.h.

8.93.1.31 #define _IRR_COMPILE_WITH_PPM_LOADER_

Define _IRR_COMPILE_WITH_PPM_LOADER_ if you want to load .ppm/.pgm/.pbm files.


Definition at line 294 of file IrrCompileConfig.h.

8.93.1.32 #define _IRR_COMPILE_WITH_PPM_WRITER_

Define _IRR_COMPILE_WITH_PPM_WRITER_ if you want to write .ppm files.


Definition at line 309 of file IrrCompileConfig.h.

8.93.1.33 #define _IRR_COMPILE_WITH_PSD_LOADER_

Define _IRR_COMPILE_WITH_PSD_LOADER_ if you want to load .psd files.


Definition at line 296 of file IrrCompileConfig.h.

8.93.1.34 #define _IRR_COMPILE_WITH_PSD_WRITER_

Define _IRR_COMPILE_WITH_PSD_WRITER_ if you want to write .psd files.


Definition at line 311 of file IrrCompileConfig.h.

8.93.1.35 #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_

Define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ if you want to use bone based.


animated meshes. If you compile without this, you will be unable to load B3D, MS3D or X meshes
Definition at line 236 of file IrrCompileConfig.h.

8.93.1.36 #define _IRR_COMPILE_WITH_SOFTWARE_

Define _IRR_COMPILE_WITH_SOFTWARE_ to compile the Irrlicht engine with software driver.


If you do not need the software driver, or want to use Burning’s Video instead, comment this define out
Definition at line 97 of file IrrCompileConfig.h.

8.93.1.37 #define _IRR_COMPILE_WITH_STL_LOADER_

Define _IRR_COMPILE_WITH_STL_LOADER_ if you want to load .stl files.


Definition at line 276 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 971

8.93.1.38 #define _IRR_COMPILE_WITH_STL_WRITER_

Define _IRR_COMPILE_WITH_STL_WRITER_ if you want to write .stl files.


Definition at line 283 of file IrrCompileConfig.h.

8.93.1.39 #define _IRR_COMPILE_WITH_TGA_LOADER_

Define _IRR_COMPILE_WITH_TGA_LOADER_ if you want to load .tga files.


Definition at line 298 of file IrrCompileConfig.h.

8.93.1.40 #define _IRR_COMPILE_WITH_TGA_WRITER_

Define _IRR_COMPILE_WITH_TGA_WRITER_ if you want to write .tga files.


Definition at line 313 of file IrrCompileConfig.h.

8.93.1.41 #define _IRR_COMPILE_WITH_X11_

Define _IRR_COMPILE_WITH_X11_ to compile the Irrlicht engine with X11 support.


If you do not wish the engine to be compiled with X11, comment this define out.
Definition at line 107 of file IrrCompileConfig.h.

8.93.1.42 #define _IRR_COMPILE_WITH_X_LOADER_

Define _IRR_COMPILE_WITH_X_LOADER_ if you want to use Microsoft X files.


Definition at line 244 of file IrrCompileConfig.h.

8.93.1.43 #define _IRR_COMPILE_WITH_ZLIB_

Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.


This enables the engine to read from compressed .zip archives. If you disable this feature, the engine can
still read archives, but only uncompressed ones.
Definition at line 132 of file IrrCompileConfig.h.

8.93.1.44 #define _IRR_D3D_NO_SHADER_DEBUGGING

Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9.


If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h, it is possible to debug
all D3D9 shaders in VisualStudio. All shaders (which have been generated in memory or read from archives
for example) will be emitted into a temporary file at runtime for this purpose. To debug your shaders,
choose Debug->Direct3D->StartWithDirect3DDebugging in Visual Studio, and for every shader a file
named ’irr_dbg_shader_%%.vsh’ or ’irr_dbg_shader_%%.psh’ will be created. Drag’n’drop the file you
want to debug into visual studio. That’s it. You can now set breakpoints and watch registers, variables etc.
This works with ASM, HLSL, and both with pixel and vertex shaders. Note that the engine will run in
D3D REF for this, which is a lot slower than HAL.
Definition at line 172 of file IrrCompileConfig.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


972 Irrlicht Engine File Documentation

8.93.1.45 #define _IRR_LINUX_PLATFORM_

WIN32 for Windows32 WIN64 for Windows64


Definition at line 62 of file IrrCompileConfig.h.

8.93.1.46 #define _IRR_LINUX_X11_VIDMODE_

On some Linux systems the XF86 vidmode extension or X11 RandR are missing. Use these flags to remove
the dependencies such that Irrlicht will compile on those systems, too.
Definition at line 119 of file IrrCompileConfig.h.

8.93.1.47 #define _IRR_OPENGL_USE_EXTPOINTER_

Define _IRR_OPENGL_USE_EXTPOINTER_ if the OpenGL renderer should use OpenGL extensions


via function pointers.
On some systems there is no support for the dynamic extension of OpenGL via function pointers such that
this has to be undef’ed.
Definition at line 113 of file IrrCompileConfig.h.

8.93.1.48 #define _IRR_POSIX_API_

Definition at line 64 of file IrrCompileConfig.h.

8.93.1.49 #define _IRR_USE_LINUX_DEVICE_

Definition at line 67 of file IrrCompileConfig.h.

8.93.1.50 #define _IRR_USE_NON_SYSTEM_JPEG_LIB_

Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system. This is only
used when _IRR_COMPILE_WITH_LIBJPEG_ is defined.
Definition at line 148 of file IrrCompileConfig.h.

8.93.1.51 #define _IRR_USE_NON_SYSTEM_LIB_PNG_

Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
If this is commented out, Irrlicht will try to compile using the libpng installed in the system. This is only
used when _IRR_COMPILE_WITH_LIBPNG_ is defined.
Definition at line 159 of file IrrCompileConfig.h.

8.93.1.52 #define _IRR_USE_NON_SYSTEM_ZLIB_

Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.93 IrrCompileConfig.h File Reference 973

If this is commented out, Irrlicht will try to compile using the zlib installed in the system. This is only used
when _IRR_COMPILE_WITH_ZLIB_ is defined.
Definition at line 137 of file IrrCompileConfig.h.

8.93.1.53 #define BURNINGVIDEO_RENDERER_BEAUTIFUL

Define one of the three setting for Burning’s Video Software Rasterizer.
So if we were marketing guys we could says Irrlicht has 4 Software-Rasterizers. In a Nutshell: All Burnings
Rasterizers use 32 Bit Backbuffer, 32Bit Texture & 32 Bit Z or WBuffer, 16 Bit/32 Bit can be adjusted on
a global flag.
BURNINGVIDEO_RENDERER_BEAUTIFUL 32 Bit + Vertexcolor + Lighting + Per Pixel Perspective
Correct + SubPixel/SubTexel Correct + Bilinear Texturefiltering + WBuffer
BURNINGVIDEO_RENDERER_FAST 32 Bit + Per Pixel Perspective Correct + SubPixel/SubTexel Cor-
rect + WBuffer + Bilinear Dithering TextureFiltering + WBuffer
BURNINGVIDEO_RENDERER_ULTRA_FAST 16Bit + SubPixel/SubTexel Correct + ZBuffer
Definition at line 228 of file IrrCompileConfig.h.

8.93.1.54 #define IRRCALLCONV

Definition at line 196 of file IrrCompileConfig.h.

8.93.1.55 #define IRRLICHT_API

Definition at line 195 of file IrrCompileConfig.h.

8.93.1.56 #define IRRLICHT_SDK_VERSION "1.4.1"

Irrlicht SDK Version.


Definition at line 9 of file IrrCompileConfig.h.
Referenced by irr::SIrrlichtCreationParameters::SIrrlichtCreationParameters().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


974 Irrlicht Engine File Documentation

8.94 irrlicht.h File Reference

Main header file of the irrlicht, the only file needed to include.
#include "IrrCompileConfig.h"
#include "aabbox3d.h"
#include "coreutil.h"
#include "irrArray.h"
#include "irrMap.h"
#include "irrMath.h"
#include "irrString.h"
#include "irrTypes.h"
#include "SColor.h"
#include "SLight.h"
#include "dimension2d.h"
#include "EDriverTypes.h"
#include "IAttributes.h"
#include "IAttributeExchangingObject.h"
#include "IAnimatedMesh.h"
#include "IAnimatedMeshMD2.h"
#include "IAnimatedMeshMD3.h"
#include "IQ3LevelMesh.h"
#include "IAnimatedMeshSceneNode.h"
#include "IBillboardSceneNode.h"
#include "IBoneSceneNode.h"
#include "ICameraSceneNode.h"
#include "IDummyTransformationSceneNode.h"
#include "IEventReceiver.h"
#include "IFileList.h"
#include "IFileSystem.h"
#include "IGPUProgrammingServices.h"
#include "IGUIButton.h"
#include "IGUICheckBox.h"
#include "IGUIColorSelectDialog.h"
#include "IGUIComboBox.h"
#include "IGUIContextMenu.h"
#include "IGUIEditBox.h"
#include "IGUIElement.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.94 irrlicht.h File Reference 975

#include "IGUIElementFactory.h"
#include "IGUIEnvironment.h"
#include "IGUIFileOpenDialog.h"
#include "IGUIFont.h"
#include "IGUIFontBitmap.h"
#include "IGUIImage.h"
#include "IGUIInOutFader.h"
#include "IGUIListBox.h"
#include "IGUIMeshViewer.h"
#include "IGUIScrollBar.h"
#include "IGUISkin.h"
#include "IGUISpinBox.h"
#include "IGUISpriteBank.h"
#include "IGUIStaticText.h"
#include "IGUITabControl.h"
#include "IGUIToolbar.h"
#include "IGUIWindow.h"
#include "IImage.h"
#include "ILightSceneNode.h"
#include "ILogger.h"
#include "IMaterialRenderer.h"
#include "IMaterialRendererServices.h"
#include "IMesh.h"
#include "IMeshBuffer.h"
#include "IMeshCache.h"
#include "IMeshSceneNode.h"
#include "IMeshManipulator.h"
#include "IMeshWriter.h"
#include "IMetaTriangleSelector.h"
#include "IReadFile.h"
#include "IrrlichtDevice.h"
#include "ISceneManager.h"
#include "ISceneNode.h"
#include "ISceneUserDataSerializer.h"
#include "ITriangleSelector.h"
#include "ISceneNodeAnimator.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


976 Irrlicht Engine File Documentation

#include "ISceneCollisionManager.h"
#include "ISceneNodeFactory.h"
#include "ISceneNodeAnimatorFactory.h"
#include "ISceneNodeAnimatorCollisionResponse.h"
#include "IShaderConstantSetCallBack.h"
#include "IShadowVolumeSceneNode.h"
#include "IParticleSystemSceneNode.h"
#include "ISkinnedMesh.h"
#include "ITerrainSceneNode.h"
#include "ITextSceneNode.h"
#include "ITexture.h"
#include "IReferenceCounted.h"
#include "IVideoDriver.h"
#include "IVideoModeList.h"
#include "IWriteFile.h"
#include "IXMLReader.h"
#include "IXMLWriter.h"
#include "Keycodes.h"
#include "line2d.h"
#include "line3d.h"
#include "irrList.h"
#include "matrix4.h"
#include "plane3d.h"
#include "vector2d.h"
#include "vector3d.h"
#include "triangle3d.h"
#include "position2d.h"
#include "quaternion.h"
#include "rect.h"
#include "S3DVertex.h"
#include "SAnimatedMesh.h"
#include "SExposedVideoData.h"
#include "SKeyMap.h"
#include "SMaterial.h"
#include "SMesh.h"
#include "SMeshBuffer.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.94 irrlicht.h File Reference 977

#include "SMeshBufferLightMap.h"
#include "SMeshBufferTangents.h"
#include "SViewFrustum.h"
#include "SIrrCreationParameters.h"

Namespaces

• namespace irr
• namespace irr::core
• namespace irr::gui
• namespace irr::io
• namespace irr::scene
• namespace irr::video

Functions

• IRRLICHT_API IrrlichtDevice ∗IRRCALLCONV createDevice (video::E_DRIVER_-


TYPE deviceType=video::EDT_SOFTWARE, const core::dimension2d< s32 > &window-
Size=(core::dimension2d< s32 >(640, 480)), u32 bits=16, bool fullscreen=false, bool stencil-
buffer=false, bool vsync=false, IEventReceiver ∗receiver=0, const c8 ∗sdk_version_do_not_-
use=IRRLICHT_SDK_VERSION)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.

• IRRLICHT_API IrrlichtDevice ∗IRRCALLCONV createDeviceEx (const SIrrlichtCreation-


Parameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.

8.94.1 Detailed Description

Main header file of the irrlicht, the only file needed to include.
Definition in file irrlicht.h.

8.94.2 Function Documentation

8.94.2.1 IRRLICHT_API IrrlichtDevice∗ IRRCALLCONV createDevice (video::E_DRIVER_-


TYPE deviceType = video::EDT_SOFTWARE, const core::dimension2d< s32 > &
windowSize = (core::dimension2d< s32 >(640, 480)), u32 bits = 16, bool
fullscreen = false, bool stencilbuffer = false, bool vsync = false, IEventReceiver ∗
receiver = 0, const c8 ∗ sdk_version_do_not_use = IRRLICHT_SDK_VERSION)

Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
If you need more parameters to be passed to the creation of the Irrlicht Engine device, use the createDevice-
Ex() function.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


978 Irrlicht Engine File Documentation

Parameters:
deviceType: Type of the device. This can currently be video::EDT_NULL, video::EDT_SOFTWARE,
video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and
video::EDT_OPENGL.
windowSize: Size of the window or the video mode in fullscreen mode.
bits: Bits per pixel in fullscreen mode. Ignored if windowed mode.
fullscreen: Should be set to true if the device should run in fullscreen. Otherwise the device runs in
windowed mode.
stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, if you want the engine
be able to draw stencil buffer shadows. Note that not all devices are able to use the stencil buffer.
If they don’t no shadows will be drawn.
vsync: Specifies vertical syncronisation: If set to true, the driver will wait for the vertical retrace
period, otherwise not.
receiver: A user created event receiver.
sdk_version_do_not_use: Don’t use or change this parameter. Always set it to IRRLICHT_SDK_-
VERSION, which is done by default. This is needed for sdk version checks.

Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.

8.94.2.2 IRRLICHT_API IrrlichtDevice∗ IRRCALLCONV createDeviceEx (const


SIrrlichtCreationParameters & parameters)

Creates an Irrlicht device with the option to specify advanced parameters.


Usually you should used createDevice() for creating an Irrlicht Engine device. Use this function only if
you wish to specify advanced parameters like a window handle in which the device should be created.

Parameters:
parameters: Structure containing advanced parameters for the creation of the device. See
irr::SIrrlichtCreationParameters for details.

Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.95 IrrlichtDevice.h File Reference 979

8.95 IrrlichtDevice.h File Reference


#include "IReferenceCounted.h"
#include "dimension2d.h"
#include "IVideoDriver.h"
#include "EDriverTypes.h"
#include "IEventReceiver.h"
#include "ICursorControl.h"
#include "IVideoModeList.h"
#include "ITimer.h"
#include "IOSOperator.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


980 Irrlicht Engine File Documentation

8.96 irrList.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.97 irrMap.h File Reference 981

8.97 irrMap.h File Reference


#include "irrTypes.h"

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


982 Irrlicht Engine File Documentation

8.98 irrMath.h File Reference


#include "IrrCompileConfig.h"
#include "irrTypes.h"
#include <math.h>

Namespaces
• namespace irr
• namespace irr::core

Defines
• #define AIR(x) (IR(x)&0x7fffffff)
Absolute integer representation of a floating-point value.

• #define F32_A_GREATER_B(a, b) ((a) > (b))


• #define F32_AS_S32(f) (∗((s32 ∗) &(f)))
• #define F32_AS_U32(f) (∗((u32 ∗) &(f)))
• #define F32_AS_U32_POINTER(f) ( ((u32 ∗) &(f)))
• #define F32_EQUAL_0(n) ((n) == 0.0f)
• #define F32_EQUAL_1(n) ((n) == 1.0f)
• #define F32_EXPON_MANTISSA 0x7FFFFFFFU
• #define F32_GREATER_0(n) ((n) > 0.0f)
• #define F32_GREATER_EQUAL_0(n) ((n) >= 0.0f)
• #define F32_LOWER_0(n) ((n) < 0.0f)
• #define F32_LOWER_EQUAL_0(n) ((n) <= 0.0f)
• #define F32_SIGN_BIT 0x80000000U
• #define F32_VALUE_0 0x00000000
• #define F32_VALUE_1 0x3f800000
• #define FR(x) ((f32&)(x))
Floating-point representation of an integer value.

• #define IEEE_1_0 0x3f800000


integer representation of 1.0

• #define IEEE_255_0 0x437f0000


integer representation of 255.0

• #define IR(x) ((u32&)(x))


• #define REALINLINE inline

Functions
• template<class T> T abs_ (const T &a)
returns abs of two values. Own implementation to get rid of STL (VS6 problems)

• REALINLINE s32 ceil32 (f32 x)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.98 irrMath.h File Reference 983

• template<class T> const T clamp (const T &value, const T &low, const T &high)
clamps a value between low and high

• REALINLINE void clearFPUException ()


• bool equals (const u32 a, const u32 b, const u32 tolerance=0)
returns if a equals b, taking possible rounding errors into account

• bool equals (const s32 a, const s32 b, const s32 tolerance=0)


returns if a equals b, taking possible rounding errors into account

• bool equals (const f32 a, const f32 b, const f32 tolerance=ROUNDING_ERROR_32)


returns if a equals b, taking possible rounding errors into account

• f32 f32_max3 (const f32 a, const f32 b, const f32 c)


• f32 f32_min3 (const f32 a, const f32 b, const f32 c)
• REALINLINE s32 floor32 (f32 x)
• f32 fract (f32 x)
• REALINLINE u32 if_c_a_else_0 (const s32 condition, const u32 a)
conditional set based on mask and arithmetic shift

• REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
conditional set based on mask and arithmetic shift

• bool iszero (const u32 a, const u32 tolerance=0)


returns if a equals zero, taking rounding errors into account

• bool iszero (const s32 a, const s32 tolerance=0)


returns if a equals zero, taking rounding errors into account

• bool iszero (const f32 a, const f32 tolerance=ROUNDING_ERROR_32)


returns if a equals zero, taking rounding errors into account

• template<class T> T lerp (const T &a, const T &b, const f32 t)


• template<class T> const T & max_ (const T &a, const T &b, const T &c)
returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)

• template<class T> const T & max_ (const T &a, const T &b)


returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)

• template<class T> const T & min_ (const T &a, const T &b, const T &c)
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)

• template<class T> const T & min_ (const T &a, const T &b)


returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)

• REALINLINE f32 reciprocal (const f32 f)


• REALINLINE f32 reciprocal_approxim (const f32 p)
• REALINLINE f32 reciprocal_squareroot (const f32 x)
• REALINLINE s32 round32 (f32 x)
• f32 round_ (f32 x)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


984 Irrlicht Engine File Documentation

• s32 s32_clamp (s32 value, s32 low, s32 high)


• s32 s32_max (s32 a, s32 b)
• s32 s32_min (s32 a, s32 b)
• REALINLINE void setbit_cond (u32 &state, s32 condition, u32 mask)

Variables
• const f32 DEGTORAD = PI / 180.0f
32bit Constant for converting from degrees to radians

• const f64 DEGTORAD64 = PI64 / 180.0


64bit constant for converting from degrees to radians (formally known as GRAD_PI2)

• const f32 HALF_PI = PI/2.0f


Constant for half of PI.

• const f32 PI = 3.14159265359f


Constant for PI.

• const f64 PI64 = 3.1415926535897932384626433832795028841971693993751


Constant for 64bit PI.

• const f32 RADTODEG = 180.0f / PI


32bit constant for converting from radians to degrees (formally known as GRAD_PI)

• const f64 RADTODEG64 = 180.0 / PI64


64bit constant for converting from radians to degrees

• const f32 RECIPROCAL_PI = 1.0f/PI


Constant for reciprocal of PI.

• const f64 RECIPROCAL_PI64 = 1.0/PI64


Constant for 64bit reciprocal of PI.

• const f32 ROUNDING_ERROR_32 = 0.000001f


Rounding error constant often used when comparing f32 values.

• const f64 ROUNDING_ERROR_64 = 0.00000001f

8.98.1 Define Documentation

8.98.1.1 #define AIR(x) (IR(x)&0x7fffffff)

Absolute integer representation of a floating-point value.


Definition at line 201 of file irrMath.h.

8.98.1.2 #define F32_A_GREATER_B(a, b) ((a) > (b))

Definition at line 230 of file irrMath.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.98 irrMath.h File Reference 985

8.98.1.3 #define F32_AS_S32(f) (∗((s32 ∗) &(f)))

Definition at line 187 of file irrMath.h.

8.98.1.4 #define F32_AS_U32(f) (∗((u32 ∗) &(f)))

Definition at line 188 of file irrMath.h.

8.98.1.5 #define F32_AS_U32_POINTER(f) ( ((u32 ∗) &(f)))

Definition at line 189 of file irrMath.h.

8.98.1.6 #define F32_EQUAL_0(n) ((n) == 0.0f)

Definition at line 229 of file irrMath.h.

8.98.1.7 #define F32_EQUAL_1(n) ((n) == 1.0f)

Definition at line 228 of file irrMath.h.

8.98.1.8 #define F32_EXPON_MANTISSA 0x7FFFFFFFU

Definition at line 194 of file irrMath.h.

8.98.1.9 #define F32_GREATER_0(n) ((n) > 0.0f)

Definition at line 226 of file irrMath.h.

8.98.1.10 #define F32_GREATER_EQUAL_0(n) ((n) >= 0.0f)

Definition at line 227 of file irrMath.h.

8.98.1.11 #define F32_LOWER_0(n) ((n) < 0.0f)

Definition at line 224 of file irrMath.h.

8.98.1.12 #define F32_LOWER_EQUAL_0(n) ((n) <= 0.0f)

Definition at line 225 of file irrMath.h.


Referenced by irr::core::triangle3d< T >::isFrontFacing(), and irr::core::plane3d< f32 >::isFront-
Facing().

8.98.1.13 #define F32_SIGN_BIT 0x80000000U

Definition at line 193 of file irrMath.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


986 Irrlicht Engine File Documentation

8.98.1.14 #define F32_VALUE_0 0x00000000

Definition at line 191 of file irrMath.h.

8.98.1.15 #define F32_VALUE_1 0x3f800000

Definition at line 192 of file irrMath.h.


Referenced by irr::core::CMatrix4< T >::isIdentity_integer_base().

8.98.1.16 #define FR(x) ((f32&)(x))

Floating-point representation of an integer value.


Definition at line 204 of file irrMath.h.
Referenced by irr::core::reciprocal_approxim().

8.98.1.17 #define IEEE_1_0 0x3f800000

integer representation of 1.0


Definition at line 207 of file irrMath.h.
Referenced by irr::core::reciprocal_squareroot().

8.98.1.18 #define IEEE_255_0 0x437f0000

integer representation of 255.0


Definition at line 209 of file irrMath.h.

8.98.1.19 #define IR(x) ((u32&)(x))

code is taken from IceFPU Integer representation of a floating-point value.


Definition at line 198 of file irrMath.h.
Referenced by irr::core::CMatrix4< T >::isIdentity_integer_base(), irr::core::triangle3d< T >::isPoint-
InsideFast(), and irr::core::reciprocal_approxim().

8.98.1.20 #define REALINLINE inline

Definition at line 238 of file irrMath.h.


Referenced by irr::core::ceil32(), irr::core::clearFPUException(), irr::core::floor32(), irr::core::if_-
c_a_else_0(), irr::core::if_c_a_else_b(), irr::core::reciprocal(), irr::core::reciprocal_approxim(),
irr::core::reciprocal_squareroot(), irr::core::round32(), and irr::core::setbit_cond().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.98 irrMath.h File Reference 987

8.98.2 Function Documentation

8.98.2.1 template<class T> T abs_ (const T & a) [inline]

returns abs of two values. Own implementation to get rid of STL (VS6 problems)
Definition at line 101 of file irrMath.h.

8.98.2.2 REALINLINE s32 ceil32 (f32 x)

Definition at line 373 of file irrMath.h.


References REALINLINE.

8.98.2.3 template<class T> const T clamp (const T & value, const T & low, const T & high)
[inline]

clamps a value between low and high


Definition at line 116 of file irrMath.h.
References irr::core::max_(), and irr::core::min_().
Referenced by irr::core::string< c8 >::findLast(), irr::video::SColorf::getInterpolated(),
irr::video::SColor::getInterpolated(), irr::video::SColorf::getInterpolated_quadratic(),
irr::video::SColor::getInterpolated_quadratic(), and irr::core::quaternion::toEuler().

8.98.2.4 REALINLINE void clearFPUException ()

Definition at line 272 of file irrMath.h.


References REALINLINE.

8.98.2.5 bool equals (const u32 a, const u32 b, const u32 tolerance = 0) [inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 134 of file irrMath.h.

8.98.2.6 bool equals (const s32 a, const s32 b, const s32 tolerance = 0) [inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 128 of file irrMath.h.

8.98.2.7 bool equals (const f32 a, const f32 b, const f32 tolerance = ROUNDING_ERROR_32)
[inline]

returns if a equals b, taking possible rounding errors into account


Definition at line 122 of file irrMath.h.
Referenced by irr::core::vector3d< f32 >::equals(), irr::core::vector2d< f32 >::equals(), and
irr::core::CMatrix4< T >::isIdentity().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


988 Irrlicht Engine File Documentation

8.98.2.8 f32 f32_max3 (const f32 a, const f32 b, const f32 c) [inline]

Definition at line 435 of file irrMath.h.

8.98.2.9 f32 f32_min3 (const f32 a, const f32 b, const f32 c) [inline]

Definition at line 440 of file irrMath.h.

8.98.2.10 REALINLINE s32 floor32 (f32 x)

Definition at line 340 of file irrMath.h.


References REALINLINE.
Referenced by irr::gui::IGUIElement::setRelativePosition().

8.98.2.11 f32 fract (f32 x) [inline]

Definition at line 445 of file irrMath.h.


Referenced by irr::scene::quake3::SModifierFunction::evaluate().

8.98.2.12 REALINLINE u32 if_c_a_else_0 (const s32 condition, const u32 a)

conditional set based on mask and arithmetic shift


Definition at line 250 of file irrMath.h.
References REALINLINE.

8.98.2.13 REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)

conditional set based on mask and arithmetic shift


Definition at line 244 of file irrMath.h.
References REALINLINE.

8.98.2.14 bool iszero (const u32 a, const u32 tolerance = 0) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 152 of file irrMath.h.

8.98.2.15 bool iszero (const s32 a, const s32 tolerance = 0) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 146 of file irrMath.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.98 irrMath.h File Reference 989

8.98.2.16 bool iszero (const f32 a, const f32 tolerance = ROUNDING_ERROR_32) [inline]

returns if a equals zero, taking rounding errors into account


Definition at line 140 of file irrMath.h.
Referenced by irr::core::CMatrix4< T >::getInverse(), and irr::core::CMatrix4< T >::isIdentity().

8.98.2.17 template<class T> T lerp (const T & a, const T & b, const f32 t) [inline]

returns linear interpolation of a and b with ratio t

Returns:
: a if t==0, b if t==1, and the linear interpolation else

Definition at line 109 of file irrMath.h.

8.98.2.18 template<class T> const T& max_ (const T & a, const T & b, const T & c) [inline]

returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 94 of file irrMath.h.
References irr::core::max_().

8.98.2.19 template<class T> const T& max_ (const T & a, const T & b) [inline]

returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 87 of file irrMath.h.
Referenced by irr::core::clamp(), and irr::core::max_().

8.98.2.20 template<class T> const T& min_ (const T & a, const T & b, const T & c) [inline]

returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 80 of file irrMath.h.
References irr::core::min_().

8.98.2.21 template<class T> const T& min_ (const T & a, const T & b) [inline]

returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 73 of file irrMath.h.
Referenced by irr::core::clamp(), irr::core::min_(), and irr::video::SColor::operator+().

8.98.2.22 REALINLINE f32 reciprocal (const f32 f)

Definition at line 312 of file irrMath.h.


References REALINLINE.
Referenced by irr::core::CMatrix4< T >::getInverse().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


990 Irrlicht Engine File Documentation

8.98.2.23 REALINLINE f32 reciprocal_approxim (const f32 p)

Definition at line 328 of file irrMath.h.


References FR, IR, and REALINLINE.

8.98.2.24 REALINLINE f32 reciprocal_squareroot (const f32 x)

Definition at line 287 of file irrMath.h.


References IEEE_1_0, and REALINLINE.
Referenced by irr::core::vector3d< f32 >::normalize(), irr::core::vector2d< f32 >::normalize(),
irr::core::quaternion::normalize(), and irr::scene::SViewFrustum::setFrom().

8.98.2.25 REALINLINE s32 round32 (f32 x)

Definition at line 407 of file irrMath.h.


References REALINLINE, and irr::core::round_().

8.98.2.26 f32 round_ (f32 x) [inline]

Definition at line 267 of file irrMath.h.


Referenced by irr::core::round32().

8.98.2.27 s32 s32_clamp (s32 value, s32 low, s32 high) [inline]

Definition at line 169 of file irrMath.h.


References irr::core::s32_max(), and irr::core::s32_min().

8.98.2.28 s32 s32_max (s32 a, s32 b) [inline]

Definition at line 163 of file irrMath.h.


Referenced by irr::core::s32_clamp().

8.98.2.29 s32 s32_min (s32 a, s32 b) [inline]

Definition at line 157 of file irrMath.h.


Referenced by irr::core::s32_clamp().

8.98.2.30 REALINLINE void setbit_cond (u32 & state, s32 condition, u32 mask)

Definition at line 258 of file irrMath.h.


References REALINLINE.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.98 irrMath.h File Reference 991

8.98.3 Variable Documentation

8.98.3.1 const f32 irr::core::DEGTORAD = PI / 180.0f

32bit Constant for converting from degrees to radians


Definition at line 60 of file irrMath.h.

8.98.3.2 const f64 irr::core::DEGTORAD64 = PI64 / 180.0

64bit constant for converting from degrees to radians (formally known as GRAD_PI2)
Definition at line 66 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::rotateBy(), irr::core::vector3d< f32 >::rotateXYBy(),
irr::core::vector3d< f32 >::rotateXZBy(), and irr::core::vector3d< f32 >::rotateYZBy().

8.98.3.3 const f32 irr::core::HALF_PI = PI/2.0f

Constant for half of PI.


Definition at line 48 of file irrMath.h.

8.98.3.4 const f32 irr::core::PI = 3.14159265359f

Constant for PI.


Definition at line 42 of file irrMath.h.
Referenced by irr::core::quaternion::slerp().

8.98.3.5 const f64 irr::core::PI64 = 3.1415926535897932384626433832795028841971693993751

Constant for 64bit PI.


Definition at line 54 of file irrMath.h.

8.98.3.6 const f32 irr::core::RADTODEG = 180.0f / PI

32bit constant for converting from radians to degrees (formally known as GRAD_PI)
Definition at line 63 of file irrMath.h.

8.98.3.7 const f64 irr::core::RADTODEG64 = 180.0 / PI64

64bit constant for converting from radians to degrees


Definition at line 69 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::getAngle(), irr::core::vector2d< f32 >::getAngleTrig(),
irr::core::vector2d< f32 >::getAngleWith(), irr::core::vector3d< f32 >::getHorizontalAngle(), and
irr::core::CMatrix4< T >::getRotationDegrees().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


992 Irrlicht Engine File Documentation

8.98.3.8 const f32 irr::core::RECIPROCAL_PI = 1.0f/PI

Constant for reciprocal of PI.


Definition at line 45 of file irrMath.h.

8.98.3.9 const f64 irr::core::RECIPROCAL_PI64 = 1.0/PI64

Constant for 64bit reciprocal of PI.


Definition at line 57 of file irrMath.h.

8.98.3.10 const f32 irr::core::ROUNDING_ERROR_32 = 0.000001f

Rounding error constant often used when comparing f32 values.


Definition at line 34 of file irrMath.h.
Referenced by irr::core::plane3d< f32 >::classifyPointRelation(), and irr::core::line2d< T >::intersect-
With().

8.98.3.11 const f64 irr::core::ROUNDING_ERROR_64 = 0.00000001f

Definition at line 35 of file irrMath.h.


Referenced by irr::core::plane3d< f32 >::getIntersectionWithPlane(), and irr::core::CMatrix4< T >::get-
RotationDegrees().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.99 irrString.h File Reference 993

8.99 irrString.h File Reference


#include "irrTypes.h"
#include "irrAllocator.h"
#include "irrMath.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef string< c8 > stringc
Typedef for character strings.

• typedef string< wchar_t > stringw


Typedef for wide character strings.

8.99.1 Typedef Documentation

8.99.1.1 typedef string<c8> irr::core::stringc

Typedef for character strings.


Definition at line 884 of file irrString.h.

8.99.1.2 typedef string<wchar_t> irr::core::stringw

Typedef for wide character strings.


Definition at line 887 of file irrString.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


994 Irrlicht Engine File Documentation

8.100 irrTypes.h File Reference


#include "IrrCompileConfig.h"
#include <wchar.h>

Namespaces
• namespace irr

Defines
• #define _IRR_DEBUG_BREAK_IF(_CONDITION_)
define a break macro for debugging.

• #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
Defines a small statement to work around a microsoft compiler bug.

• #define MAKE_IRR_ID(c0, c1, c2, c3)


creates four CC codes used in Irrlicht for simple ids

Typedefs
• typedef char c8
8 bit character variable.

• typedef float f32


32 bit floating point variable.

• typedef double f64


64 bit floating point variable.

• typedef signed short s16


16 bit signed variable.

• typedef signed int s32


32 bit signed variable.

• typedef signed char s8


8 bit signed variable.

• typedef unsigned short u16


16 bit unsigned variable.

• typedef unsigned int u32


32 bit unsigned variable.

• typedef unsigned char u8


8 bit unsigned variable.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.100 irrTypes.h File Reference 995

8.100.1 Define Documentation

8.100.1.1 #define _IRR_DEBUG_BREAK_IF(_CONDITION_)

define a break macro for debugging.


Definition at line 136 of file irrTypes.h.
Referenced by irr::IReferenceCounted::drop(), irr::core::string< c8 >::erase(), irr::core::array< IMesh ∗
>::erase(), irr::core::array< IMesh ∗ >::getLast(), irr::core::array< IMesh ∗ >::insert(), irr::core::string<
c8 >::operator[ ](), and irr::core::array< IMesh ∗ >::operator[ ]().

8.100.1.2 #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX

Defines a small statement to work around a microsoft compiler bug.


The microsoft compiler 7.0 - 7.1 has a bug: When you call unmanaged code that returns
a bool type value of false from managed code, the return value may appear as true. See
http://support.microsoft.com/default.aspx?kbid=823071 for details. Compiler ver-
sion defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400
Definition at line 148 of file irrTypes.h.
Referenced by irr::core::map< KeyType, ValueType >::ParentLastIterator::atEnd(), irr::core::map<
KeyType, ValueType >::ParentFirstIterator::atEnd(), irr::core::map< KeyType, ValueType
>::Iterator::atEnd(), irr::gui::IGUIElement::bringToFront(), irr::scene::ISceneNode::getAutomatic-
Culling(), irr::gui::IGUIElement::getNextElement(), irr::core::map< KeyType, ValueType >::insert(),
irr::scene::ISceneNode::isDebugObject(), irr::core::map< KeyType, ValueType >::isEmpty(),
irr::gui::IGUIElement::isEnabled(), irr::gui::IGUIElement::isMyChild(), irr::scene::ICameraScene-
Node::isOrthogonal(), irr::gui::IGUIElement::isSubElement(), irr::gui::IGUIElement::isTabGroup(),
irr::gui::IGUIElement::isTabStop(), irr::scene::ISceneNode::isVisible(), irr::gui::IGUIElement::is-
Visible(), irr::core::map< KeyType, ValueType >::AccessClass::operator ValueType(), irr::core::map<
KeyType, ValueType >::remove(), and irr::scene::ISceneNode::removeChild().

8.100.1.3 #define MAKE_IRR_ID(c0, c1, c2, c3)

Value:

((u32)(u8)(c0) | ((u32)(u8)(c1) << 8) | \


((u32)(u8)(c2) << 16) | ((u32)(u8)(c3) << 24 ))

creates four CC codes used in Irrlicht for simple ids


some compilers can create those by directly writing the code like ’code’, but some generate warnings so
we use this macro here
Definition at line 182 of file irrTypes.h.

8.100.2 Typedef Documentation

8.100.2.1 typedef char irr::c8

8 bit character variable.


This is a typedef for char, it ensures portability of the engine.
Definition at line 31 of file irrTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


996 Irrlicht Engine File Documentation

8.100.2.2 typedef float irr::f32

32 bit floating point variable.


This is a typedef for float, it ensures portability of the engine.
Definition at line 81 of file irrTypes.h.

8.100.2.3 typedef double irr::f64

64 bit floating point variable.


This is a typedef for double, it ensures portability of the engine.
Definition at line 85 of file irrTypes.h.

8.100.2.4 typedef signed short irr::s16

16 bit signed variable.


This is a typedef for signed short, it ensures portability of the engine.
Definition at line 48 of file irrTypes.h.

8.100.2.5 typedef signed int irr::s32

32 bit signed variable.


This is a typedef for signed int, it ensures portability of the engine.
Definition at line 66 of file irrTypes.h.

8.100.2.6 typedef signed char irr::s8

8 bit signed variable.


This is a typedef for signed char, it ensures portability of the engine.
Definition at line 26 of file irrTypes.h.

8.100.2.7 typedef unsigned short irr::u16

16 bit unsigned variable.


This is a typedef for unsigned short, it ensures portability of the engine.
Definition at line 40 of file irrTypes.h.

8.100.2.8 typedef unsigned int irr::u32

32 bit unsigned variable.


This is a typedef for unsigned int, it ensures portability of the engine.
Definition at line 58 of file irrTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.100 irrTypes.h File Reference 997

8.100.2.9 typedef unsigned char irr::u8

8 bit unsigned variable.


This is a typedef for unsigned char, it ensures portability of the engine.
Definition at line 18 of file irrTypes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


998 Irrlicht Engine File Documentation

8.101 irrXML.h File Reference

File containing useful basic utility functions.


#include <stdio.h>
#include "IrrCompileConfig.h"

Namespaces

• namespace irr
• namespace irr::io

Typedefs

• typedef unsigned short char16


defines the utf-16 type.

• typedef unsigned long char32


defines the utf-32 type.

• typedef IIrrXMLReader< char, IXMLBase > IrrXMLReader


A UTF-8 or ASCII character xml parser.

• typedef IIrrXMLReader< char16, IXMLBase > IrrXMLReaderUTF16


A UTF-16 xml parser.

• typedef IIrrXMLReader< char32, IXMLBase > IrrXMLReaderUTF32


A UTF-32 xml parser.

Enumerations

• enum ETEXT_FORMAT {
ETF_ASCII, ETF_UTF8, ETF_UTF16_BE, ETF_UTF16_LE,
ETF_UTF32_BE, ETF_UTF32_LE }
Enumeration of all supported source text file formats.

• enum EXML_NODE {
EXN_NONE, EXN_ELEMENT, EXN_ELEMENT_END, EXN_TEXT,
EXN_COMMENT, EXN_CDATA, EXN_UNKNOWN }
Enumeration for all xml nodes which are parsed by IrrXMLReader.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.101 irrXML.h File Reference 999

Functions
• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (IFileReadCallBack
∗callback)
Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (FILE ∗file)


Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (const char ∗filename)


Creates an instance of an UFT-8 or ASCII character xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (IFile-


ReadCallBack ∗callback)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (FILE


∗file)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF16 ∗IRRCALLCONV createIrrXMLReaderUTF16 (const char


∗filename)
Creates an instance of an UFT-16 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (IFile-


ReadCallBack ∗callback)
Creates an instance of an UFT-32 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (FILE


∗file)
Creates an instance of an UFT-32 xml parser.

• IRRLICHT_API IrrXMLReaderUTF32 ∗IRRCALLCONV createIrrXMLReaderUTF32 (const char


∗filename)
Creates an instance of an UFT-32 xml parser.

8.101.1 Detailed Description

File containing useful basic utility functions.


Definition in file irrXML.h.

8.101.2 Typedef Documentation

8.101.2.1 typedef unsigned short irr::io::char16

defines the utf-16 type.


Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.
Definition at line 372 of file irrXML.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1000 Irrlicht Engine File Documentation

8.101.2.2 typedef unsigned long irr::io::char32

defines the utf-32 type.


Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.
Definition at line 377 of file irrXML.h.

8.101.2.3 typedef IIrrXMLReader<char, IXMLBase> irr::io::IrrXMLReader

A UTF-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8 by this parser. The file to read
can be in any format, it will be converted to UTF-8 if it is not in this format. Create an instance of this with
createIrrXMLReader(); See IIrrXMLReader for description on how to use it.
Definition at line 385 of file irrXML.h.

8.101.2.4 typedef IIrrXMLReader<char16, IXMLBase> irr::io::IrrXMLReaderUTF16

A UTF-16 xml parser.


This means that all character data will be returned in UTF-16 by this parser. The file to read can be in
any format, it will be converted to UTF-16 if it is not in this format. Create an instance of this with
createIrrXMLReaderUTF16(); See IIrrXMLReader for description on how to use it.
Definition at line 393 of file irrXML.h.

8.101.2.5 typedef IIrrXMLReader<char32, IXMLBase> irr::io::IrrXMLReaderUTF32

A UTF-32 xml parser.


This means that all character data will be returned in UTF-32 by this parser. The file to read can be in
any format, it will be converted to UTF-32 if it is not in this format. Create an instance of this with
createIrrXMLReaderUTF32(); See IIrrXMLReader for description on how to use it.
Definition at line 401 of file irrXML.h.

8.101.3 Enumeration Type Documentation

8.101.3.1 enum irr::io::ETEXT_FORMAT

Enumeration of all supported source text file formats.

Enumeration values:
ETF_ASCII ASCII, file without byte order mark, or not a text file.
ETF_UTF8 UTF-8 format.
ETF_UTF16_BE UTF-16 format, big endian.
ETF_UTF16_LE UTF-16 format, little endian.
ETF_UTF32_BE UTF-32 format, big endian.
ETF_UTF32_LE UTF-32 format, little endian.

Definition at line 158 of file irrXML.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.101 irrXML.h File Reference 1001

8.101.3.2 enum irr::io::EXML_NODE

Enumeration for all xml nodes which are parsed by IrrXMLReader.

Enumeration values:
EXN_NONE No xml node. This is usually the node if you did not read anything yet.
EXN_ELEMENT An xml element such as <foo>.
EXN_ELEMENT_END End of an xml element such as </foo>.
EXN_TEXT Text within an xml element: <foo> this is the text. <foo>.
EXN_COMMENT An xml comment like <!– I am a comment –> or a DTD definition.
EXN_CDATA An xml cdata section like <![CDATA[ this is some CDATA ]]>.
EXN_UNKNOWN Unknown element.

Definition at line 181 of file irrXML.h.

8.101.4 Function Documentation

8.101.4.1 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader


(IFileReadCallBack ∗ callback)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

8.101.4.2 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader (FILE ∗ file)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1002 Irrlicht Engine File Documentation

8.101.4.3 IRRLICHT_API IrrXMLReader∗ IRRCALLCONV createIrrXMLReader (const char


∗ filename)

Creates an instance of an UFT-8 or ASCII character xml parser.


This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any
format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is
better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

8.101.4.4 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV


createIrrXMLReaderUTF16 (IFileReadCallBack ∗ callback)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

8.101.4.5 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV


createIrrXMLReaderUTF16 (FILE ∗ file)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.101 irrXML.h File Reference 1003

8.101.4.6 IRRLICHT_API IrrXMLReaderUTF16∗ IRRCALLCONV


createIrrXMLReaderUTF16 (const char ∗ filename)

Creates an instance of an UFT-16 xml parser.


This means that all character data will be returned in UTF-16. The file to read can be in any format, it will
be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

8.101.4.7 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV


createIrrXMLReaderUTF32 (IFileReadCallBack ∗ callback)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

8.101.4.8 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV


createIrrXMLReaderUTF32 (FILE ∗ file)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. if you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1004 Irrlicht Engine File Documentation

8.101.4.9 IRRLICHT_API IrrXMLReaderUTF32∗ IRRCALLCONV


createIrrXMLReaderUTF32 (const char ∗ filename)

Creates an instance of an UFT-32 xml parser.


This means that all character data will be returned in UTF-32. The file to read can be in any format, it will
be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use
this function but IFileSystem::createXMLReader() instead.

Parameters:
filename: Name of file to be opened.

Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.102 ISceneCollisionManager.h File Reference 1005

8.102 ISceneCollisionManager.h File Reference


#include "IReferenceCounted.h"
#include "vector3d.h"
#include "triangle3d.h"
#include "position2d.h"
#include "line3d.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1006 Irrlicht Engine File Documentation

8.103 ISceneManager.h File Reference


#include "IReferenceCounted.h"
#include "irrArray.h"
#include "vector3d.h"
#include "dimension2d.h"
#include "SColor.h"
#include "ETerrainElements.h"
#include "ESceneNodeTypes.h"
#include "EMeshWriterEnums.h"
#include "SceneParameters.h"

Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::scene
• namespace irr::scene::quake3
• namespace irr::video

Enumerations
• enum E_SCENE_NODE_RENDER_PASS {
ESNRP_CAMERA, ESNRP_LIGHT, ESNRP_SKY_BOX, ESNRP_AUTOMATIC,
ESNRP_SOLID, ESNRP_SHADOW, ESNRP_TRANSPARENT, ESNRP_SHADER_0,
ESNRP_SHADER_1, ESNRP_SHADER_2, ESNRP_SHADER_3, ESNRP_SHADER_4,
ESNRP_SHADER_5, ESNRP_SHADER_6, ESNRP_SHADER_7, ESNRP_SHADER_8,
ESNRP_SHADER_9, ESNRP_SHADER_10, ESNRP_COUNT }
Enumeration for render passes.

8.103.1 Enumeration Type Documentation

8.103.1.1 enum irr::scene::E_SCENE_NODE_RENDER_PASS

Enumeration for render passes.


A parameter passed to the registerNodeForRendering() method of the ISceneManager, specifying when the
mode wants to be drawn in relation to the other nodes.

Enumeration values:
ESNRP_CAMERA Camera pass. The active view is set up here. The very first pass.
ESNRP_LIGHT In this pass, lights are transformed into camera space and added to the driver.
ESNRP_SKY_BOX This is used for sky boxes.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.103 ISceneManager.h File Reference 1007

ESNRP_AUTOMATIC All normal objects can use this for registering themselves.
This value will never be returned by ISceneManager::getSceneNodeRenderPass(). The scene
manager will determine by itself if an object is transparent or solid and register the object as
SNRT_TRANSPARENT or SNRT_SOLD automatically if you call registerNodeForRendering
with this value (which is default). Note that it will register the node only as ONE type. If your
scene node has both solid and transparent material types register it twice (one time as SNRT_-
SOLID, the other time as SNRT_TRANSPARENT) and in the render() method call getScene-
NodeRenderPass() to find out the current render pass and render only the corresponding parts of
the node.
ESNRP_SOLID Solid scene nodes or special scene nodes without materials.
ESNRP_SHADOW Drawn after the transparent nodes, the time for drawing shadow volumes.
ESNRP_TRANSPARENT Transparent scene nodes, drawn after shadow nodes. They are sorted
from back to front and drawn in that order.
ESNRP_SHADER_0 Scene Nodes with special support.
ESNRP_SHADER_1
ESNRP_SHADER_2
ESNRP_SHADER_3
ESNRP_SHADER_4
ESNRP_SHADER_5
ESNRP_SHADER_6
ESNRP_SHADER_7
ESNRP_SHADER_8
ESNRP_SHADER_9
ESNRP_SHADER_10
ESNRP_COUNT Never used, value specifing how much parameters there are.

Definition at line 51 of file ISceneManager.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1008 Irrlicht Engine File Documentation

8.104 ISceneNode.h File Reference


#include "IAttributeExchangingObject.h"
#include "ESceneNodeTypes.h"
#include "ECullingTypes.h"
#include "EDebugSceneTypes.h"
#include "ISceneNodeAnimator.h"
#include "ITriangleSelector.h"
#include "SMaterial.h"
#include "irrString.h"
#include "aabbox3d.h"
#include "matrix4.h"
#include "irrList.h"
#include "IAttributes.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.105 ISceneNodeAnimator.h File Reference 1009

8.105 ISceneNodeAnimator.h File Reference


#include "IReferenceCounted.h"
#include "vector3d.h"
#include "ESceneNodeAnimatorTypes.h"
#include "IAttributeExchangingObject.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1010 Irrlicht Engine File Documentation

8.106 ISceneNodeAnimatorCollisionResponse.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.107 ISceneNodeAnimatorFactory.h File Reference 1011

8.107 ISceneNodeAnimatorFactory.h File Reference


#include "IReferenceCounted.h"
#include "ESceneNodeAnimatorTypes.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1012 Irrlicht Engine File Documentation

8.108 ISceneNodeFactory.h File Reference


#include "IReferenceCounted.h"
#include "ESceneNodeTypes.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.109 ISceneUserDataSerializer.h File Reference 1013

8.109 ISceneUserDataSerializer.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1014 Irrlicht Engine File Documentation

8.110 IShaderConstantSetCallBack.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.111 IShadowVolumeSceneNode.h File Reference 1015

8.111 IShadowVolumeSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1016 Irrlicht Engine File Documentation

8.112 ISkinnedMesh.h File Reference


#include "irrArray.h"
#include "IBoneSceneNode.h"
#include "IAnimatedMesh.h"
#include "SSkinMeshBuffer.h"

Namespaces
• namespace irr
• namespace irr::scene

Enumerations
• enum E_INTERPOLATION_MODE { EIM_CONSTANT = 0, EIM_LINEAR, EIM_COUNT }

8.112.1 Enumeration Type Documentation

8.112.1.1 enum irr::scene::E_INTERPOLATION_MODE

Enumeration values:
EIM_CONSTANT
EIM_LINEAR
EIM_COUNT count of all available interpolation modes

Definition at line 18 of file ISkinnedMesh.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.113 ITerrainSceneNode.h File Reference 1017

8.113 ITerrainSceneNode.h File Reference


#include "ETerrainElements.h"
#include "ISceneNode.h"
#include "SMeshBufferLightMap.h"
#include "irrArray.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1018 Irrlicht Engine File Documentation

8.114 ITextSceneNode.h File Reference


#include "ISceneNode.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.115 ITexture.h File Reference 1019

8.115 ITexture.h File Reference


#include "IReferenceCounted.h"
#include "IImage.h"
#include "dimension2d.h"
#include "EDriverTypes.h"
#include "irrString.h"
#include "matrix4.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_TEXTURE_CREATION_FLAG {
ETCF_ALWAYS_16_BIT = 0x00000001, ETCF_ALWAYS_32_BIT = 0x00000002, ETCF_-
OPTIMIZED_FOR_QUALITY = 0x00000004, ETCF_OPTIMIZED_FOR_SPEED = 0x00000008,
ETCF_CREATE_MIP_MAPS = 0x00000010, ETCF_NO_ALPHA_CHANNEL = 0x00000020,
ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff }

Functions
• E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags)

8.115.1 Enumeration Type Documentation

8.115.1.1 enum irr::video::E_TEXTURE_CREATION_FLAG

Enumeration flags telling the video driver in which format textures should be created.

Enumeration values:
ETCF_ALWAYS_16_BIT Forces the driver to create 16 bit textures always, independent of which
format the file on disk has. When choosing this you may loose some color detail, but gain
much speed and memory. 16 bit textures can be transferred twice as fast as 32 bit textures
and only use half of the space in memory. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED at the same time.
ETCF_ALWAYS_32_BIT Forces the driver to create 32 bit textures always, independent of which
format the file on disk has. Please note that some drivers (like the software device) will ignore
this, because they are only able to create and use 16 bit textures. When using this flag, it does not
make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
or ETCF_OPTIMIZED_FOR_SPEED at the same time.
ETCF_OPTIMIZED_FOR_QUALITY Lets the driver decide in which format the textures are cre-
ated and tries to make the textures look as good as possible. Usually it simply chooses the format
in which the texture was stored on disk. When using this flag, it does not make sense to use

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1020 Irrlicht Engine File Documentation

the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_FOR_-


SPEED at the same time.
ETCF_OPTIMIZED_FOR_SPEED Lets the driver decide in which format the textures are created
and tries to create them maximizing render speed. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_-
FOR_QUALITY, at the same time.
ETCF_CREATE_MIP_MAPS Automatically creates mip map levels for the textures.
ETCF_NO_ALPHA_CHANNEL Discard any alpha layer and use non-alpha color format.
ETCF_FORCE_32_BIT_DO_NOT_USE This flag is never used, it only forces the compiler to
compile these enumeration values to 32 bit.

Definition at line 23 of file ITexture.h.

8.115.2 Function Documentation

8.115.2.1 E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags)


[inline]

Helper function, helps to get the desired texture creation format from the flags. Returns either
ETCF_ALWAYS_32_BIT, ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED.
Definition at line 74 of file ITexture.h.
References irr::video::ETCF_ALWAYS_16_BIT, irr::video::ETCF_ALWAYS_32_BIT,
irr::video::ETCF_OPTIMIZED_FOR_QUALITY, and irr::video::ETCF_OPTIMIZED_FOR_SPEED.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.116 ITimer.h File Reference 1021

8.116 ITimer.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1022 Irrlicht Engine File Documentation

8.117 ITriangleSelector.h File Reference


#include "IReferenceCounted.h"
#include "triangle3d.h"
#include "aabbox3d.h"
#include "matrix4.h"
#include "line3d.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.118 IVideoDriver.h File Reference 1023

8.118 IVideoDriver.h File Reference


#include "rect.h"
#include "SColor.h"
#include "ITexture.h"
#include "irrArray.h"
#include "matrix4.h"
#include "plane3d.h"
#include "dimension2d.h"
#include "position2d.h"
#include "SMaterial.h"
#include "IMeshBuffer.h"
#include "triangle3d.h"
#include "EDriverTypes.h"
#include "EDriverFeatures.h"

Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
• namespace irr::video

Enumerations
• enum E_TRANSFORMATION_STATE {
ETS_VIEW = 0, ETS_WORLD, ETS_PROJECTION, ETS_TEXTURE_0,
ETS_TEXTURE_1, ETS_TEXTURE_2, ETS_TEXTURE_3, ETS_COUNT }
enumeration for geometry transformation states

8.118.1 Enumeration Type Documentation

8.118.1.1 enum irr::video::E_TRANSFORMATION_STATE

enumeration for geometry transformation states

Enumeration values:
ETS_VIEW View transformation.
ETS_WORLD World transformation.
ETS_PROJECTION Projection transformation.
ETS_TEXTURE_0 Texture transformation.
ETS_TEXTURE_1 Texture transformation.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1024 Irrlicht Engine File Documentation

ETS_TEXTURE_2 Texture transformation.


ETS_TEXTURE_3 Texture transformation.
ETS_COUNT Not used.

Definition at line 47 of file IVideoDriver.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.119 IVideoModeList.h File Reference 1025

8.119 IVideoModeList.h File Reference


#include "IReferenceCounted.h"
#include "dimension2d.h"

Namespaces
• namespace irr
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1026 Irrlicht Engine File Documentation

8.120 IWriteFile.h File Reference


#include "IReferenceCounted.h"

Namespaces
• namespace irr
• namespace irr::io

Functions
• IWriteFile ∗ createWriteFile (const c8 ∗fileName, bool append)
Internal function, please do not use.

8.120.1 Function Documentation

8.120.1.1 IWriteFile∗ createWriteFile (const c8 ∗ fileName, bool append)

Internal function, please do not use.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.121 IXMLReader.h File Reference 1027

8.121 IXMLReader.h File Reference


#include "IReferenceCounted.h"
#include "irrXML.h"

Namespaces
• namespace irr
• namespace irr::io

Typedefs
• typedef IIrrXMLReader< wchar_t, IReferenceCounted > IXMLReader
An xml reader for wide characters, derived from IReferenceCounted.

• typedef IIrrXMLReader< c8, IReferenceCounted > IXMLReaderUTF8


An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.

8.121.1 Typedef Documentation

8.121.1.1 typedef IIrrXMLReader<wchar_t, IReferenceCounted> irr::io::IXMLReader

An xml reader for wide characters, derived from IReferenceCounted.


This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFile-
System::createXMLReader(). For more informations on how to use the parser, see IIrrXMLReader
Definition at line 19 of file IXMLReader.h.

8.121.1.2 typedef IIrrXMLReader<c8, IReferenceCounted> irr::io::IXMLReaderUTF8

An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.


This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFile-
System::createXMLReaderUTF8(). For more informations on how to use the parser, see IIrrXMLReader
Definition at line 25 of file IXMLReader.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1028 Irrlicht Engine File Documentation

8.122 IXMLWriter.h File Reference


#include "IReferenceCounted.h"
#include "irrArray.h"
#include "irrString.h"

Namespaces
• namespace irr
• namespace irr::io

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.123 Keycodes.h File Reference 1029

8.123 Keycodes.h File Reference

Namespaces
• namespace irr

Enumerations
• enum EKEY_CODE {
KEY_LBUTTON = 0x01, KEY_RBUTTON = 0x02, KEY_CANCEL = 0x03, KEY_MBUTTON =
0x04,
KEY_XBUTTON1 = 0x05, KEY_XBUTTON2 = 0x06, KEY_BACK = 0x08, KEY_TAB = 0x09,
KEY_CLEAR = 0x0C, KEY_RETURN = 0x0D, KEY_SHIFT = 0x10, KEY_CONTROL = 0x11,
KEY_MENU = 0x12, KEY_PAUSE = 0x13, KEY_CAPITAL = 0x14, KEY_KANA = 0x15,
KEY_HANGUEL = 0x15, KEY_HANGUL = 0x15, KEY_JUNJA = 0x17, KEY_FINAL = 0x18,
KEY_HANJA = 0x19, KEY_KANJI = 0x19, KEY_ESCAPE = 0x1B, KEY_CONVERT = 0x1C,
KEY_NONCONVERT = 0x1D, KEY_ACCEPT = 0x1E, KEY_MODECHANGE = 0x1F, KEY_-
SPACE = 0x20,
KEY_PRIOR = 0x21, KEY_NEXT = 0x22, KEY_END = 0x23, KEY_HOME = 0x24,
KEY_LEFT = 0x25, KEY_UP = 0x26, KEY_RIGHT = 0x27, KEY_DOWN = 0x28,
KEY_SELECT = 0x29, KEY_PRINT = 0x2A, KEY_EXECUT = 0x2B, KEY_SNAPSHOT = 0x2C,
KEY_INSERT = 0x2D, KEY_DELETE = 0x2E, KEY_HELP = 0x2F, KEY_KEY_0 = 0x30,
KEY_KEY_1 = 0x31, KEY_KEY_2 = 0x32, KEY_KEY_3 = 0x33, KEY_KEY_4 = 0x34,
KEY_KEY_5 = 0x35, KEY_KEY_6 = 0x36, KEY_KEY_7 = 0x37, KEY_KEY_8 = 0x38,
KEY_KEY_9 = 0x39, KEY_KEY_A = 0x41, KEY_KEY_B = 0x42, KEY_KEY_C = 0x43,
KEY_KEY_D = 0x44, KEY_KEY_E = 0x45, KEY_KEY_F = 0x46, KEY_KEY_G = 0x47,
KEY_KEY_H = 0x48, KEY_KEY_I = 0x49, KEY_KEY_J = 0x4A, KEY_KEY_K = 0x4B,
KEY_KEY_L = 0x4C, KEY_KEY_M = 0x4D, KEY_KEY_N = 0x4E, KEY_KEY_O = 0x4F,
KEY_KEY_P = 0x50, KEY_KEY_Q = 0x51, KEY_KEY_R = 0x52, KEY_KEY_S = 0x53,
KEY_KEY_T = 0x54, KEY_KEY_U = 0x55, KEY_KEY_V = 0x56, KEY_KEY_W = 0x57,
KEY_KEY_X = 0x58, KEY_KEY_Y = 0x59, KEY_KEY_Z = 0x5A, KEY_LWIN = 0x5B,
KEY_RWIN = 0x5C, KEY_APPS = 0x5D, KEY_SLEEP = 0x5F, KEY_NUMPAD0 = 0x60,
KEY_NUMPAD1 = 0x61, KEY_NUMPAD2 = 0x62, KEY_NUMPAD3 = 0x63, KEY_NUMPAD4
= 0x64,
KEY_NUMPAD5 = 0x65, KEY_NUMPAD6 = 0x66, KEY_NUMPAD7 = 0x67, KEY_NUMPAD8
= 0x68,
KEY_NUMPAD9 = 0x69, KEY_MULTIPLY = 0x6A, KEY_ADD = 0x6B, KEY_SEPARATOR =
0x6C,
KEY_SUBTRACT = 0x6D, KEY_DECIMAL = 0x6E, KEY_DIVIDE = 0x6F, KEY_F1 = 0x70,
KEY_F2 = 0x71, KEY_F3 = 0x72, KEY_F4 = 0x73, KEY_F5 = 0x74,
KEY_F6 = 0x75, KEY_F7 = 0x76, KEY_F8 = 0x77, KEY_F9 = 0x78,
KEY_F10 = 0x79, KEY_F11 = 0x7A, KEY_F12 = 0x7B, KEY_F13 = 0x7C,
KEY_F14 = 0x7D, KEY_F15 = 0x7E, KEY_F16 = 0x7F, KEY_F17 = 0x80,

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1030 Irrlicht Engine File Documentation

KEY_F18 = 0x81, KEY_F19 = 0x82, KEY_F20 = 0x83, KEY_F21 = 0x84,


KEY_F22 = 0x85, KEY_F23 = 0x86, KEY_F24 = 0x87, KEY_NUMLOCK = 0x90,
KEY_SCROLL = 0x91, KEY_LSHIFT = 0xA0, KEY_RSHIFT = 0xA1, KEY_LCONTROL = 0x-
A2,
KEY_RCONTROL = 0xA3, KEY_LMENU = 0xA4, KEY_RMENU = 0xA5, KEY_PLUS = 0xBB,
KEY_COMMA = 0xBC, KEY_MINUS = 0xBD, KEY_PERIOD = 0xBE, KEY_ATTN = 0xF6,
KEY_CRSEL = 0xF7, KEY_EXSEL = 0xF8, KEY_EREOF = 0xF9, KEY_PLAY = 0xFA,
KEY_ZOOM = 0xFB, KEY_PA1 = 0xFD, KEY_OEM_CLEAR = 0xFE, KEY_KEY_CODES_-
COUNT = 0xFF }

8.123.1 Enumeration Type Documentation

8.123.1.1 enum irr::EKEY_CODE

Enumeration values:
KEY_LBUTTON
KEY_RBUTTON
KEY_CANCEL
KEY_MBUTTON
KEY_XBUTTON1
KEY_XBUTTON2
KEY_BACK
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_SHIFT
KEY_CONTROL
KEY_MENU
KEY_PAUSE
KEY_CAPITAL
KEY_KANA
KEY_HANGUEL
KEY_HANGUL
KEY_JUNJA
KEY_FINAL
KEY_HANJA
KEY_KANJI
KEY_ESCAPE
KEY_CONVERT
KEY_NONCONVERT
KEY_ACCEPT
KEY_MODECHANGE
KEY_SPACE

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.123 Keycodes.h File Reference 1031

KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUT
KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_KEY_0
KEY_KEY_1
KEY_KEY_2
KEY_KEY_3
KEY_KEY_4
KEY_KEY_5
KEY_KEY_6
KEY_KEY_7
KEY_KEY_8
KEY_KEY_9
KEY_KEY_A
KEY_KEY_B
KEY_KEY_C
KEY_KEY_D
KEY_KEY_E
KEY_KEY_F
KEY_KEY_G
KEY_KEY_H
KEY_KEY_I
KEY_KEY_J
KEY_KEY_K
KEY_KEY_L
KEY_KEY_M
KEY_KEY_N
KEY_KEY_O
KEY_KEY_P

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1032 Irrlicht Engine File Documentation

KEY_KEY_Q
KEY_KEY_R
KEY_KEY_S
KEY_KEY_T
KEY_KEY_U
KEY_KEY_V
KEY_KEY_W
KEY_KEY_X
KEY_KEY_Y
KEY_KEY_Z
KEY_LWIN
KEY_RWIN
KEY_APPS
KEY_SLEEP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.123 Keycodes.h File Reference 1033

KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22
KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
KEY_LSHIFT
KEY_RSHIFT
KEY_LCONTROL
KEY_RCONTROL
KEY_LMENU
KEY_RMENU
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_ATTN
KEY_CRSEL
KEY_EXSEL
KEY_EREOF
KEY_PLAY
KEY_ZOOM
KEY_PA1
KEY_OEM_CLEAR
KEY_KEY_CODES_COUNT

Definition at line 11 of file Keycodes.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1034 Irrlicht Engine File Documentation

8.124 line2d.h File Reference


#include "irrTypes.h"
#include "vector2d.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef line2d< f32 > line2df
Typedef for an f32 line.

• typedef line2d< s32 > line2di


Typedef for an integer line.

8.124.1 Typedef Documentation

8.124.1.1 typedef line2d<f32> irr::core::line2df

Typedef for an f32 line.


Definition at line 173 of file line2d.h.

8.124.1.2 typedef line2d<s32> irr::core::line2di

Typedef for an integer line.


Definition at line 175 of file line2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.125 line3d.h File Reference 1035

8.125 line3d.h File Reference


#include "irrTypes.h"
#include "vector3d.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef line3d< f32 > line3df
Typedef for an f32 line.

• typedef line3d< s32 > line3di


Typedef for an integer line.

8.125.1 Typedef Documentation

8.125.1.1 typedef line3d<f32> irr::core::line3df

Typedef for an f32 line.


Definition at line 136 of file line3d.h.

8.125.1.2 typedef line3d<s32> irr::core::line3di

Typedef for an integer line.


Definition at line 138 of file line3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1036 Irrlicht Engine File Documentation

8.126 matrix4.h File Reference


#include "irrTypes.h"
#include "vector3d.h"
#include "vector2d.h"
#include "plane3d.h"
#include "aabbox3d.h"
#include "rect.h"
#include "irrString.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef CMatrix4< f32 > matrix4
Typedef for f32 matrix.

Functions
• template<class T> CMatrix4< T > operator ∗ (const T scalar, const CMatrix4< T > &mat)

Variables
• const matrix4 IdentityMatrix (matrix4::EM4CONST_IDENTITY)
global const identity matrix

8.126.1 Typedef Documentation

8.126.1.1 typedef CMatrix4<f32> irr::core::matrix4

Typedef for f32 matrix.


Definition at line 1727 of file matrix4.h.

8.126.2 Function Documentation

8.126.2.1 template<class T> CMatrix4<T> operator ∗ (const T scalar, const CMatrix4< T > &
mat) [inline]

Definition at line 1720 of file matrix4.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.126 matrix4.h File Reference 1037

8.126.3 Variable Documentation

8.126.3.1 const matrix4 irr::core::IdentityMatrix(matrix4::EM4CONST_IDENTITY)

global const identity matrix

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1038 Irrlicht Engine File Documentation

8.127 plane3d.h File Reference


#include "irrMath.h"
#include "vector3d.h"

Namespaces

• namespace irr
• namespace irr::core

Typedefs

• typedef plane3d< f32 > plane3df


Typedef for a f32 3d plane.

• typedef plane3d< s32 > plane3di


Typedef for an integer 3d plane.

Enumerations

• enum EIntersectionRelation3D {
ISREL3D_FRONT = 0, ISREL3D_BACK, ISREL3D_PLANAR, ISREL3D_SPANNING,
ISREL3D_CLIPPED }
Enumeration for intersection relations of 3d objects.

8.127.1 Typedef Documentation

8.127.1.1 typedef plane3d<f32> irr::core::plane3df

Typedef for a f32 3d plane.


Definition at line 224 of file plane3d.h.

8.127.1.2 typedef plane3d<s32> irr::core::plane3di

Typedef for an integer 3d plane.


Definition at line 226 of file plane3d.h.

8.127.2 Enumeration Type Documentation

8.127.2.1 enum irr::core::EIntersectionRelation3D

Enumeration for intersection relations of 3d objects.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.127 plane3d.h File Reference 1039

Enumeration values:
ISREL3D_FRONT
ISREL3D_BACK
ISREL3D_PLANAR
ISREL3D_SPANNING
ISREL3D_CLIPPED

Definition at line 17 of file plane3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1040 Irrlicht Engine File Documentation

8.128 position2d.h File Reference


#include "irrTypes.h"
#include "dimension2d.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef position2d< f32 > position2df
Typedef for an f32 position.

• typedef position2d< s32 > position2di


Typedef for an integer position.

8.128.1 Typedef Documentation

8.128.1.1 typedef position2d<f32> irr::core::position2df

Typedef for an f32 position.


Definition at line 112 of file position2d.h.

8.128.1.2 typedef position2d<s32> irr::core::position2di

Typedef for an integer position.


Definition at line 114 of file position2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.129 quaternion.h File Reference 1041

8.129 quaternion.h File Reference


#include "irrTypes.h"
#include "irrMath.h"
#include "matrix4.h"
#include "vector3d.h"

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1042 Irrlicht Engine File Documentation

8.130 rect.h File Reference


#include "irrTypes.h"
#include "dimension2d.h"
#include "position2d.h"

Namespaces
• namespace irr
• namespace irr::core

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.131 S3DVertex.h File Reference 1043

8.131 S3DVertex.h File Reference


#include "vector3d.h"
#include "vector2d.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_VERTEX_TYPE { EVT_STANDARD = 0, EVT_2TCOORDS, EVT_TANGENTS }
Enumeration for all vertex types there are.

Functions
• u32 getVertexPitchFromType (E_VERTEX_TYPE vertexType)

Variables
• const char ∗const sBuiltInVertexTypeNames [ ]
Array holding the built in vertex type names.

8.131.1 Enumeration Type Documentation

8.131.1.1 enum irr::video::E_VERTEX_TYPE

Enumeration for all vertex types there are.

Enumeration values:
EVT_STANDARD Standard vertex type used by the Irrlicht engine, video::S3DVertex.
EVT_2TCOORDS Vertex with two texture coordinates, video::S3DVertex2TCoords.
Usually used for geometry with lightmaps or other special materials.
EVT_TANGENTS Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Usually used for tangent space normal mapping.

Definition at line 18 of file S3DVertex.h.

8.131.2 Function Documentation

8.131.2.1 u32 getVertexPitchFromType (E_VERTEX_TYPE vertexType) [inline]

Definition at line 226 of file S3DVertex.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1044 Irrlicht Engine File Documentation

8.131.3 Variable Documentation

8.131.3.1 const char∗ const irr::video::sBuiltInVertexTypeNames[ ]

Initial value:

{
"standard",
"2tcoords",
"tangents",
0
}

Array holding the built in vertex type names.


Definition at line 33 of file S3DVertex.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.132 SAnimatedMesh.h File Reference 1045

8.132 SAnimatedMesh.h File Reference


#include "IAnimatedMesh.h"
#include "IMesh.h"
#include "aabbox3d.h"
#include "irrArray.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1046 Irrlicht Engine File Documentation

8.133 SceneParameters.h File Reference


Header file containing all scene parameters for modifying mesh loading etc.

Namespaces

• namespace irr
• namespace irr::scene

Variables

• const c8 ∗const COLLADA_CREATE_SCENE_INSTANCES = "COLLADA_CreateScene-


Instances"
Name of the parameter specifying the COLLADA mesh loading mode.

• const c8 ∗const CSM_TEXTURE_PATH = "CSM_TexturePath"


Name of the parameter for changing the texture path of the built-in csm loader.

• const c8 ∗const DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"


Name of the parameter for setting reference value of alpha in transparent materials.

• const c8 ∗const DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"


Name of the parameter for choose to flip or not tga files.

• const c8 ∗const DMF_TEXTURE_PATH = "DMF_TexturePath"


Name of the parameter for changing the texture path of the built-in DMF loader.

• const c8 ∗const DMF_USE_MATERIALS_DIRS = "DMF_MaterialsDir"


Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.

• const c8 ∗const IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"


Flag set as parameter when the scene manager is used as editor.

• const c8 ∗const LMTS_TEXTURE_PATH = "LMTS_TexturePath"


Name of the parameter for changing the texture path of the built-in lmts loader.

• const c8 ∗const MY3D_TEXTURE_PATH = "MY3D_TexturePath"


Name of the parameter for changing the texture path of the built-in my3d loader.

8.133.1 Detailed Description

Header file containing all scene parameters for modifying mesh loading etc.
This file includes all parameter names which can be set using ISceneManager::getParameters() to modify
the behaviour of plugins and mesh loaders.
Definition in file SceneParameters.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.133 SceneParameters.h File Reference 1047

8.133.2 Variable Documentation

8.133.2.1 const c8∗ const irr::scene::COLLADA_CREATE_SCENE_INSTANCES =


"COLLADA_CreateSceneInstances"

Name of the parameter specifying the COLLADA mesh loading mode.


Specifies if the COLLADA loader should create instances of the models, lights and cameras when loading
COLLADA meshes. By default, this is set to false. If this is set to true, the ISceneManager::getMesh()
method will only return a pointer to a dummy mesh and create instances of all meshes and lights and
cameras in the collada file by itself. Example:

SceneManager->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);

Definition at line 54 of file SceneParameters.h.

8.133.2.2 const c8∗ const irr::scene::CSM_TEXTURE_PATH = "CSM_TexturePath"

Name of the parameter for changing the texture path of the built-in csm loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::CSM_TEXTURE_PATH, "path/to/your/textures");

Definition at line 25 of file SceneParameters.h.

8.133.2.3 const c8∗ const irr::scene::DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"

Name of the parameter for setting reference value of alpha in transparent materials.
Use it like this:

//this way you’ll set alpha ref to 0.1


SceneManager->getParameters()->setAttribute(scene::DMF_ALPHA_CHANNEL_REF, 0.1);

Definition at line 84 of file SceneParameters.h.

8.133.2.4 const c8∗ const irr::scene::DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"

Name of the parameter for choose to flip or not tga files.


Use it like this:

//this way you’ll choose to flip alpha textures


SceneManager->()->setAttribute(scene::DMF_FLIP_ALPHA_TEXTURES, true);

Definition at line 93 of file SceneParameters.h.

8.133.2.5 const c8∗ const irr::scene::DMF_TEXTURE_PATH = "DMF_TexturePath"

Name of the parameter for changing the texture path of the built-in DMF loader.
Use it like this:

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1048 Irrlicht Engine File Documentation

SceneManager->getStringParameters()->setAttribute(scene::DMF_TEXTURE_PATH, "path/to/your/textures"

Definition at line 62 of file SceneParameters.h.

8.133.2.6 const c8∗ const irr::scene::DMF_USE_MATERIALS_DIRS = "DMF_MaterialsDir"

Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.
Use it like this:

//this way you won’t use this setting


SceneManager->getParameters()->setAttribute(scene::DMF_USE_MATERIALS_DIRS, false);

//this way you’ll use this setting


SceneManager->getParameters()->setAttribute(scene::DMF_USE_MATERIALS_DIRS, true);

Definition at line 75 of file SceneParameters.h.

8.133.2.7 const c8∗ const irr::scene::IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"

Flag set as parameter when the scene manager is used as editor.


In this way special animators like deletion animators can be stopped from deleting scene nodes for example
Definition at line 99 of file SceneParameters.h.

8.133.2.8 const c8∗ const irr::scene::LMTS_TEXTURE_PATH = "LMTS_TexturePath"

Name of the parameter for changing the texture path of the built-in lmts loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::LMTS_TEXTURE_PATH, "path/to/your/textures");

Definition at line 33 of file SceneParameters.h.

8.133.2.9 const c8∗ const irr::scene::MY3D_TEXTURE_PATH = "MY3D_TexturePath"

Name of the parameter for changing the texture path of the built-in my3d loader.
Use it like this:

SceneManager->getParameters()->setAttribute(scene::MY3D_TEXTURE_PATH, "path/to/your/textures");

Definition at line 41 of file SceneParameters.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.134 SColor.h File Reference 1049

8.134 SColor.h File Reference


#include "irrTypes.h"
#include "irrMath.h"

Namespaces
• namespace irr
• namespace irr::video

Functions
• u32 A1R5G5B5toA8R8G8B8 (u16 color)
Convert A8R8G8B8 Color from A1R5G5B5 color.

• u16 A1R5G5B5toR5G6B5 (u16 color)


Returns R5G6B5 Color from A1R5G5B5 color.

• u16 A8R8G8B8toA1R5G5B5 (u32 color)


Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.

• u16 A8R8G8B8toR5G6B5 (u32 color)


Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.

• u32 getAlpha (u16 color)


Returns the alpha component from A1R5G5B5 color.

• s32 getAverage (s16 color)


Returns the average from a 16 bit A1R5G5B5 color.

• u32 getBlue (u16 color)


Returns the blue component from A1R5G5B5 color.

• s32 getBlueSigned (u16 color)


Returns the blue component from A1R5G5B5 color.

• u32 getGreen (u16 color)


Returns the green component from A1R5G5B5 color.

• s32 getGreenSigned (u16 color)


Returns the green component from A1R5G5B5 color.

• u32 getRed (u16 color)


Returns the red component from A1R5G5B5 color.

• s32 getRedSigned (u16 color)


Returns the red component from A1R5G5B5 color.

• u16 R5G6B5toA1R5G5B5 (u16 color)

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1050 Irrlicht Engine File Documentation

Returns A1R5G5B5 Color from R5G6B5 color.

• u32 R5G6B5toA8R8G8B8 (u16 color)


Returns A8R8G8B8 Color from R5G6B5 color.

• u16 RGB16 (u32 r, u32 g, u32 b)


Creates a 16 bit A1R5G5B5 color.

• u16 RGB16from16 (u16 r, u16 g, u16 b)


Creates a 16bit A1R5G5B5 color, based on 16bit input values.

• u16 RGBA16 (u32 r, u32 g, u32 b, u32 a=0xFF)


Creates a 16 bit A1R5G5B5 color.

• u16 X8R8G8B8toA1R5G5B5 (u32 color)


Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.

8.134.1 Function Documentation

8.134.1.1 u32 A1R5G5B5toA8R8G8B8 (u16 color) [inline]

Convert A8R8G8B8 Color from A1R5G5B5 color.


build a nicer 32bit Color by extending dest lower bits with source high bits.
Definition at line 73 of file SColor.h.

8.134.1.2 u16 A1R5G5B5toR5G6B5 (u16 color) [inline]

Returns R5G6B5 Color from A1R5G5B5 color.


Definition at line 101 of file SColor.h.

8.134.1.3 u16 A8R8G8B8toA1R5G5B5 (u32 color) [inline]

Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color.


Definition at line 53 of file SColor.h.
Referenced by irr::video::SColor::toA1R5G5B5().

8.134.1.4 u16 A8R8G8B8toR5G6B5 (u32 color) [inline]

Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color.


Definition at line 63 of file SColor.h.

8.134.1.5 u32 getAlpha (u16 color) [inline]

Returns the alpha component from A1R5G5B5 color.


Definition at line 109 of file SColor.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.134 SColor.h File Reference 1051

8.134.1.6 s32 getAverage (s16 color) [inline]

Returns the average from a 16 bit A1R5G5B5 color.


Definition at line 162 of file SColor.h.
References irr::video::getBlue(), irr::video::getGreen(), and irr::video::getRed().

8.134.1.7 u32 getBlue (u16 color) [inline]

Returns the blue component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 133 of file SColor.h.
Referenced by irr::video::getAverage().

8.134.1.8 s32 getBlueSigned (u16 color) [inline]

Returns the blue component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 156 of file SColor.h.

8.134.1.9 u32 getGreen (u16 color) [inline]

Returns the green component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 125 of file SColor.h.
Referenced by irr::video::getAverage().

8.134.1.10 s32 getGreenSigned (u16 color) [inline]

Returns the green component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 148 of file SColor.h.

8.134.1.11 u32 getRed (u16 color) [inline]

Returns the red component from A1R5G5B5 color.


Shift left by 3 to get 8 bit value.
Definition at line 117 of file SColor.h.
Referenced by irr::video::getAverage().

8.134.1.12 s32 getRedSigned (u16 color) [inline]

Returns the red component from A1R5G5B5 color.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1052 Irrlicht Engine File Documentation

Shift left by 3 to get 8 bit value.


Definition at line 140 of file SColor.h.

8.134.1.13 u16 R5G6B5toA1R5G5B5 (u16 color) [inline]

Returns A1R5G5B5 Color from R5G6B5 color.


Definition at line 94 of file SColor.h.

8.134.1.14 u32 R5G6B5toA8R8G8B8 (u16 color) [inline]

Returns A8R8G8B8 Color from R5G6B5 color.


Definition at line 84 of file SColor.h.

8.134.1.15 u16 RGB16 (u32 r, u32 g, u32 b) [inline]

Creates a 16 bit A1R5G5B5 color.


Definition at line 26 of file SColor.h.
References irr::video::RGBA16().

8.134.1.16 u16 RGB16from16 (u16 r, u16 g, u16 b) [inline]

Creates a 16bit A1R5G5B5 color, based on 16bit input values.


Definition at line 33 of file SColor.h.

8.134.1.17 u16 RGBA16 (u32 r, u32 g, u32 b, u32 a = 0xFF) [inline]

Creates a 16 bit A1R5G5B5 color.


Definition at line 16 of file SColor.h.
Referenced by irr::video::RGB16().

8.134.1.18 u16 X8R8G8B8toA1R5G5B5 (u32 color) [inline]

Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color.


Definition at line 43 of file SColor.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.135 SExposedVideoData.h File Reference 1053

8.135 SExposedVideoData.h File Reference

Namespaces
• namespace irr
• namespace irr::video

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1054 Irrlicht Engine File Documentation

8.136 SIrrCreationParameters.h File Reference

Namespaces
• namespace irr

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.137 SKeyMap.h File Reference 1055

8.137 SKeyMap.h File Reference


#include "Keycodes.h"

Namespaces
• namespace irr

Enumerations
• enum EKEY_ACTION {
EKA_MOVE_FORWARD = 0, EKA_MOVE_BACKWARD, EKA_STRAFE_LEFT, EKA_-
STRAFE_RIGHT,
EKA_JUMP_UP, EKA_COUNT, EKA_FORCE_32BIT = 0x7fffffff }
enumeration for key actions. Used for example in the FPS Camera.

8.137.1 Enumeration Type Documentation

8.137.1.1 enum irr::EKEY_ACTION

enumeration for key actions. Used for example in the FPS Camera.

Enumeration values:
EKA_MOVE_FORWARD
EKA_MOVE_BACKWARD
EKA_STRAFE_LEFT
EKA_STRAFE_RIGHT
EKA_JUMP_UP
EKA_COUNT
EKA_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.

Definition at line 14 of file SKeyMap.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1056 Irrlicht Engine File Documentation

8.138 SLight.h File Reference


#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_LIGHT_TYPE { ELT_POINT, ELT_SPOT, ELT_DIRECTIONAL }
Enumeration for different types of lights.

Variables
• const c8 ∗const LightTypeNames [ ]
Names for light types.

8.138.1 Enumeration Type Documentation

8.138.1.1 enum irr::video::E_LIGHT_TYPE

Enumeration for different types of lights.

Enumeration values:
ELT_POINT point light, it has a position in space and radiates light in all directions
ELT_SPOT spot light, it has a position in space, a direction, and a limited cone of influence
ELT_DIRECTIONAL directional light, coming from a direction from an infinite distance

Definition at line 16 of file SLight.h.

8.138.2 Variable Documentation

8.138.2.1 const c8∗ const irr::video::LightTypeNames[ ]

Initial value:

{
"Point",
"Spot",
"Directional",
0
}

Names for light types.


Definition at line 27 of file SLight.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.139 SMaterial.h File Reference 1057

8.139 SMaterial.h File Reference


#include "SColor.h"
#include "matrix4.h"
#include "irrArray.h"
#include "EMaterialTypes.h"
#include "EMaterialFlags.h"
#include "SMaterialLayer.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_BLEND_FACTOR {
EBF_ZERO = 0, EBF_ONE, EBF_DST_COLOR, EBF_ONE_MINUS_DST_COLOR,
EBF_SRC_COLOR, EBF_ONE_MINUS_SRC_COLOR, EBF_SRC_ALPHA, EBF_ONE_-
MINUS_SRC_ALPHA,
EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_SRC_ALPHA_SATURATE }
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗ dest-
Factor.

• enum E_MODULATE_FUNC { EMFN_MODULATE_1X = 1, EMFN_MODULATE_2X = 2,


EMFN_MODULATE_4X = 4 }
MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_-
MODULATE4X.

Functions
• f32 pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dst-
Fact, const E_MODULATE_FUNC modulate)
EMT_ONETEXTURE_BLEND: pack srcFact & dstFact and Modulo to MaterialTypeParam.

• void unpack_texureBlendFunc (E_BLEND_FACTOR &srcFact, E_BLEND_FACTOR &dstFact,


E_MODULATE_FUNC &modulo, const f32 param)
EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.

Variables
• const u32 MATERIAL_MAX_TEXTURES = 4
Maximum number of texture an SMaterial can have.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1058 Irrlicht Engine File Documentation

8.139.1 Enumeration Type Documentation

8.139.1.1 enum irr::video::E_BLEND_FACTOR

Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗


destFactor.

Enumeration values:
EBF_ZERO src & dest (0, 0, 0, 0)
EBF_ONE src & dest (1, 1, 1, 1)
EBF_DST_COLOR src (destR, destG, destB, destA)
EBF_ONE_MINUS_DST_COLOR src (1-destR, 1-destG, 1-destB, 1-destA)
EBF_SRC_COLOR dest (srcR, srcG, srcB, srcA)
EBF_ONE_MINUS_SRC_COLOR dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)
EBF_SRC_ALPHA src & dest (srcA, srcA, srcA, srcA)
EBF_ONE_MINUS_SRC_ALPHA src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
EBF_DST_ALPHA src & dest (destA, destA, destA, destA)
EBF_ONE_MINUS_DST_ALPHA src & dest (1-destA, 1-destA, 1-destA, 1-destA)
EBF_SRC_ALPHA_SATURATE src (min(srcA, 1-destA), idem, ...)

Definition at line 22 of file SMaterial.h.

8.139.1.2 enum irr::video::E_MODULATE_FUNC

MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_-


MODULATE4X.

Enumeration values:
EMFN_MODULATE_1X
EMFN_MODULATE_2X
EMFN_MODULATE_4X

Definition at line 38 of file SMaterial.h.

8.139.2 Function Documentation

8.139.2.1 f32 pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const


E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate) [inline]

EMT_ONETEXTURE_BLEND: pack srcFact & dstFact and Modulo to MaterialTypeParam.


Definition at line 46 of file SMaterial.h.

8.139.2.2 void unpack_texureBlendFunc (E_BLEND_FACTOR & srcFact, E_BLEND_FACTOR


& dstFact, E_MODULATE_FUNC & modulo, const f32 param) [inline]

EMT_ONETEXTURE_BLEND: unpack srcFact & dstFact and Modulo to MaterialTypeParam.


Definition at line 52 of file SMaterial.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.139 SMaterial.h File Reference 1059

8.139.3 Variable Documentation

8.139.3.1 const u32 irr::video::MATERIAL_MAX_TEXTURES = 4

Maximum number of texture an SMaterial can have.


Definition at line 62 of file SMaterial.h.
Referenced by irr::video::SMaterial::getTexture(), irr::video::SMaterial::getTextureMatrix(),
irr::video::SMaterial::operator!=(), irr::video::SMaterial::operator=(), irr::video::SMaterial::set-
Flag(), irr::video::SMaterial::setTexture(), irr::video::SMaterial::setTextureMatrix(), and
irr::video::SMaterial::SMaterial().

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1060 Irrlicht Engine File Documentation

8.140 SMaterialLayer.h File Reference


#include "matrix4.h"

Namespaces
• namespace irr
• namespace irr::video

Enumerations
• enum E_TEXTURE_CLAMP {
ETC_REPEAT = 0, ETC_CLAMP, ETC_CLAMP_TO_EDGE, ETC_CLAMP_TO_BORDER,
ETC_MIRROR }
Texture coord clamp mode outside [0.0, 1.0].

8.140.1 Enumeration Type Documentation

8.140.1.1 enum irr::video::E_TEXTURE_CLAMP

Texture coord clamp mode outside [0.0, 1.0].

Enumeration values:
ETC_REPEAT Texture repeats.
ETC_CLAMP Texture is clamped to the last pixel.
ETC_CLAMP_TO_EDGE Texture is clamped to the edge pixel.
ETC_CLAMP_TO_BORDER Texture is clamped to the border pixel (if exists).
ETC_MIRROR Texture is alternatingly mirrored (0..1..0..1..0..).

Definition at line 17 of file SMaterialLayer.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.141 SMesh.h File Reference 1061

8.141 SMesh.h File Reference


#include "IMesh.h"
#include "IMeshBuffer.h"
#include "aabbox3d.h"
#include "irrArray.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1062 Irrlicht Engine File Documentation

8.142 SMeshBuffer.h File Reference


#include "CMeshBuffer.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.143 SMeshBufferLightMap.h File Reference 1063

8.143 SMeshBufferLightMap.h File Reference


#include "CMeshBuffer.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1064 Irrlicht Engine File Documentation

8.144 SMeshBufferTangents.h File Reference


#include "CMeshBuffer.h"

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.145 SParticle.h File Reference 1065

8.145 SParticle.h File Reference


#include "vector3d.h"
#include "SColor.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1066 Irrlicht Engine File Documentation

8.146 SSharedMeshBuffer.h File Reference


#include "irrArray.h"
#include "IMeshBuffer.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.147 SSkinMeshBuffer.h File Reference 1067

8.147 SSkinMeshBuffer.h File Reference


#include "IMeshBuffer.h"
#include "S3DVertex.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1068 Irrlicht Engine File Documentation

8.148 SViewFrustum.h File Reference


#include "plane3d.h"
#include "vector3d.h"
#include "aabbox3d.h"
#include "matrix4.h"
#include "IVideoDriver.h"

Namespaces
• namespace irr
• namespace irr::scene

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.149 triangle3d.h File Reference 1069

8.149 triangle3d.h File Reference


#include "vector3d.h"
#include "line3d.h"
#include "plane3d.h"
#include "aabbox3d.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef triangle3d< f32 > triangle3df
Typedef for a f32 3d triangle.

• typedef triangle3d< s32 > triangle3di


Typedef for an integer 3d triangle.

8.149.1 Typedef Documentation

8.149.1.1 typedef triangle3d<f32> irr::core::triangle3df

Typedef for a f32 3d triangle.


Definition at line 227 of file triangle3d.h.

8.149.1.2 typedef triangle3d<s32> irr::core::triangle3di

Typedef for an integer 3d triangle.


Definition at line 230 of file triangle3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


1070 Irrlicht Engine File Documentation

8.150 vector2d.h File Reference


#include "irrMath.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef vector2d< f32 > vector2df
Typedef for f32 2d vector.

• typedef vector2d< s32 > vector2di


Typedef for integer 2d vector.

Functions
• template<class S, class T> vector2d< T > operator ∗ (const S scalar, const vector2d< T > &vector)

8.150.1 Typedef Documentation

8.150.1.1 typedef vector2d<f32> irr::core::vector2df

Typedef for f32 2d vector.


Definition at line 267 of file vector2d.h.

8.150.1.2 typedef vector2d<s32> irr::core::vector2di

Typedef for integer 2d vector.


Definition at line 269 of file vector2d.h.

8.150.2 Function Documentation

8.150.2.1 template<class S, class T> vector2d<T> operator ∗ (const S scalar, const vector2d< T
> & vector)

Definition at line 271 of file vector2d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen


8.151 vector3d.h File Reference 1071

8.151 vector3d.h File Reference


#include "irrMath.h"

Namespaces
• namespace irr
• namespace irr::core

Typedefs
• typedef vector3d< f32 > vector3df
Typedef for a f32 3d vector.

• typedef vector3d< s32 > vector3di


Typedef for an integer 3d vector.

Functions
• template<class S, class T> vector3d< T > operator ∗ (const S scalar, const vector3d< T > &vec-
tor)
Function multiplying a scalar and a vector component-wise.

8.151.1 Typedef Documentation

8.151.1.1 typedef vector3d<f32> irr::core::vector3df

Typedef for a f32 3d vector.


Definition at line 275 of file vector3d.h.

8.151.1.2 typedef vector3d<s32> irr::core::vector3di

Typedef for an integer 3d vector.


Definition at line 277 of file vector3d.h.

8.151.2 Function Documentation

8.151.2.1 template<class S, class T> vector3d<T> operator ∗ (const S scalar, const vector3d< T
> & vector)

Function multiplying a scalar and a vector component-wise.


Definition at line 280 of file vector3d.h.

Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen

You might also like