Irrlicht 3D Engine
ISceneManager.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_SCENE_MANAGER_H_INCLUDED__
6 #define __I_SCENE_MANAGER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "irrArray.h"
10 #include "irrString.h"
11 #include "path.h"
12 #include "vector3d.h"
13 #include "dimension2d.h"
14 #include "SColor.h"
15 #include "ETerrainElements.h"
16 #include "ESceneNodeTypes.h"
18 #include "EMeshWriterEnums.h"
19 #include "SceneParameters.h"
20 #include "IGeometryCreator.h"
21 #include "ISkinnedMesh.h"
22 
23 namespace irr
24 {
25  struct SKeyMap;
26  struct SEvent;
27 
28 namespace io
29 {
30  class IReadFile;
31  class IAttributes;
32  class IWriteFile;
33  class IFileSystem;
34 } // end namespace io
35 
36 namespace gui
37 {
38  class IGUIFont;
39  class IGUIEnvironment;
40 } // end namespace gui
41 
42 namespace video
43 {
44  class IVideoDriver;
45  class SMaterial;
46  class IImage;
47  class ITexture;
48 } // end namespace video
49 
50 namespace scene
51 {
53 
56  {
59 
62 
65 
68 
70 
83 
86 
89 
92 
95  };
96 
97  class IAnimatedMesh;
98  class IAnimatedMeshSceneNode;
99  class IBillboardSceneNode;
100  class IBillboardTextSceneNode;
101  class ICameraSceneNode;
102  class IDummyTransformationSceneNode;
103  class ILightManager;
104  class ILightSceneNode;
105  class IMesh;
106  class IMeshBuffer;
107  class IMeshCache;
108  class IMeshLoader;
109  class IMeshManipulator;
110  class IMeshSceneNode;
111  class IMeshWriter;
112  class IMetaTriangleSelector;
113  class IParticleSystemSceneNode;
114  class ISceneCollisionManager;
115  class ISceneLoader;
116  class ISceneNode;
117  class ISceneNodeAnimator;
118  class ISceneNodeAnimatorCollisionResponse;
119  class ISceneNodeAnimatorFactory;
120  class ISceneNodeFactory;
121  class ISceneUserDataSerializer;
122  class ITerrainSceneNode;
123  class ITextSceneNode;
124  class ITriangleSelector;
125  class IVolumeLightSceneNode;
126 
127  namespace quake3
128  {
129  struct IShader;
130  } // end namespace quake3
131 
133 
150  class ISceneManager : public virtual IReferenceCounted
151  {
152  public:
153 
155 
399  virtual IAnimatedMesh* getMesh(const io::path& filename) = 0;
400 
402 
408  virtual IAnimatedMesh* getMesh(io::IReadFile* file) = 0;
409 
411 
414  virtual IMeshCache* getMeshCache() = 0;
415 
417 
419  virtual video::IVideoDriver* getVideoDriver() = 0;
420 
422 
425 
427 
429  virtual io::IFileSystem* getFileSystem() = 0;
430 
432 
446  const u32 subdivU = 32, const u32 subdivV = 32,
447  const video::SColor foot = video::SColor(51, 0, 230, 180),
448  const video::SColor tail = video::SColor(0, 0, 0, 0),
449  const core::vector3df& position = core::vector3df(0,0,0),
450  const core::vector3df& rotation = core::vector3df(0,0,0),
451  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
452 
454 
464  virtual IMeshSceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1,
465  const core::vector3df& position = core::vector3df(0,0,0),
466  const core::vector3df& rotation = core::vector3df(0,0,0),
467  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
468 
470 
484  virtual IMeshSceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16,
485  ISceneNode* parent=0, s32 id=-1,
486  const core::vector3df& position = core::vector3df(0,0,0),
487  const core::vector3df& rotation = core::vector3df(0,0,0),
488  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
489 
491 
502  ISceneNode* parent=0, s32 id=-1,
503  const core::vector3df& position = core::vector3df(0,0,0),
504  const core::vector3df& rotation = core::vector3df(0,0,0),
505  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f),
506  bool alsoAddIfMeshPointerZero=false) = 0;
507 
509 
519  virtual IMeshSceneNode* addMeshSceneNode(IMesh* mesh, ISceneNode* parent=0, s32 id=-1,
520  const core::vector3df& position = core::vector3df(0,0,0),
521  const core::vector3df& rotation = core::vector3df(0,0,0),
522  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f),
523  bool alsoAddIfMeshPointerZero=false) = 0;
524 
526 
541  f32 waveHeight=2.0f, f32 waveSpeed=300.0f, f32 waveLength=10.0f,
542  ISceneNode* parent=0, s32 id=-1,
543  const core::vector3df& position = core::vector3df(0,0,0),
544  const core::vector3df& rotation = core::vector3df(0,0,0),
545  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
546 
547 
549 
561  virtual IMeshSceneNode* addOctreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
562  s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
563 
565 
567  s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)
568  {
569  return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
570  }
571 
573 
585  virtual IMeshSceneNode* addOctreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
586  s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
587 
589 
591  s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)
592  {
593  return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
594  }
595 
597 
613  virtual ICameraSceneNode* addCameraSceneNode(ISceneNode* parent = 0,
614  const core::vector3df& position = core::vector3df(0,0,0),
615  const core::vector3df& lookat = core::vector3df(0,0,100),
616  s32 id=-1, bool makeActive=true) = 0;
617 
619 
636  f32 rotateSpeed=-1500.f, f32 zoomSpeed=200.f,
637  f32 translationSpeed=1500.f, s32 id=-1, f32 distance=70.f,
638  bool makeActive=true) =0;
639 
641 
705  f32 rotateSpeed = 100.0f, f32 moveSpeed = 0.5f, s32 id=-1,
706  SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
707  f32 jumpSpeed = 0.f, bool invertMouse=false,
708  bool makeActive=true) = 0;
709 
711 
723  virtual ILightSceneNode* addLightSceneNode(ISceneNode* parent = 0,
724  const core::vector3df& position = core::vector3df(0,0,0),
725  video::SColorf color = video::SColorf(1.0f, 1.0f, 1.0f),
726  f32 radius=100.0f, s32 id=-1) = 0;
727 
729 
748  const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
749  const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
750  video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0;
751 
753 
768  video::ITexture* left, video::ITexture* right, video::ITexture* front,
769  video::ITexture* back, ISceneNode* parent = 0, s32 id=-1) = 0;
770 
772 
790  u32 horiRes=16, u32 vertRes=8,
791  f32 texturePercentage=0.9, f32 spherePercentage=2.0,f32 radius = 1000.f,
792  ISceneNode* parent=0, s32 id=-1) = 0;
793 
795 
808  bool withDefaultEmitter=true, ISceneNode* parent=0, s32 id=-1,
809  const core::vector3df& position = core::vector3df(0,0,0),
810  const core::vector3df& rotation = core::vector3df(0,0,0),
811  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
812 
814 
870  const io::path& heightMapFileName,
871  ISceneNode* parent=0, s32 id=-1,
872  const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
873  const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
874  const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
875  video::SColor vertexColor = video::SColor(255,255,255,255),
876  s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
877  bool addAlsoIfHeightmapEmpty = false) = 0;
878 
880 
908  io::IReadFile* heightMapFile,
909  ISceneNode* parent=0, s32 id=-1,
910  const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
911  const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
912  const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
913  video::SColor vertexColor = video::SColor(255,255,255,255),
914  s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
915  bool addAlsoIfHeightmapEmpty = false) = 0;
916 
918 
921  virtual IMeshSceneNode* addQuake3SceneNode(const IMeshBuffer* meshBuffer, const quake3::IShader * shader,
922  ISceneNode* parent=0, s32 id=-1
923  ) = 0;
924 
925 
927 
931  virtual ISceneNode* addEmptySceneNode(ISceneNode* parent=0, s32 id=-1) = 0;
932 
934 
941  ISceneNode* parent=0, s32 id=-1) = 0;
942 
944  virtual ITextSceneNode* addTextSceneNode(gui::IGUIFont* font, const wchar_t* text,
945  video::SColor color=video::SColor(100,255,255,255),
946  ISceneNode* parent = 0, const core::vector3df& position = core::vector3df(0,0,0),
947  s32 id=-1) = 0;
948 
950 
961  virtual IBillboardTextSceneNode* addBillboardTextSceneNode( gui::IGUIFont* font, const wchar_t* text,
962  ISceneNode* parent = 0,
963  const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
964  const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
965  video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0;
966 
968 
994  virtual IAnimatedMesh* addHillPlaneMesh(const io::path& name,
995  const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount,
996  video::SMaterial* material = 0, f32 hillHeight = 0.0f,
997  const core::dimension2d<f32>& countHills = core::dimension2d<f32>(0.0f, 0.0f),
998  const core::dimension2d<f32>& textureRepeatCount = core::dimension2d<f32>(1.0f, 1.0f)) = 0;
999 
1001 
1023  virtual IAnimatedMesh* addTerrainMesh(const io::path& meshname,
1024  video::IImage* texture, video::IImage* heightmap,
1025  const core::dimension2d<f32>& stretchSize = core::dimension2d<f32>(10.0f,10.0f),
1026  f32 maxHeight=200.0f,
1027  const core::dimension2d<u32>& defaultVertexBlockSize = core::dimension2d<u32>(64,64)) = 0;
1028 
1030 
1041  virtual IAnimatedMesh* addArrowMesh(const io::path& name,
1042  video::SColor vtxColorCylinder=0xFFFFFFFF,
1043  video::SColor vtxColorCone=0xFFFFFFFF,
1044  u32 tesselationCylinder=4, u32 tesselationCone=8,
1045  f32 height=1.f, f32 cylinderHeight=0.6f,
1046  f32 widthCylinder=0.05f, f32 widthCone=0.3f) = 0;
1047 
1049 
1055  virtual IAnimatedMesh* addSphereMesh(const io::path& name,
1056  f32 radius=5.f, u32 polyCountX = 16,
1057  u32 polyCountY = 16) = 0;
1058 
1060 
1068  virtual IAnimatedMesh* addVolumeLightMesh(const io::path& name,
1069  const u32 SubdivideU = 32, const u32 SubdivideV = 32,
1070  const video::SColor FootColor = video::SColor(51, 0, 230, 180),
1071  const video::SColor TailColor = video::SColor(0, 0, 0, 0)) = 0;
1072 
1074 
1080  virtual ISceneNode* getRootSceneNode() = 0;
1081 
1083 
1090  virtual ISceneNode* getSceneNodeFromId(s32 id, ISceneNode* start=0) = 0;
1091 
1093 
1100  virtual ISceneNode* getSceneNodeFromName(const c8* name, ISceneNode* start=0) = 0;
1101 
1103 
1111 
1113 
1118  virtual void getSceneNodesFromType(ESCENE_NODE_TYPE type,
1120  ISceneNode* start=0) = 0;
1121 
1123 
1126  virtual ICameraSceneNode* getActiveCamera() const =0;
1127 
1129 
1131  virtual void setActiveCamera(ICameraSceneNode* camera) = 0;
1132 
1134  virtual void setShadowColor(video::SColor color = video::SColor(150,0,0,0)) = 0;
1135 
1137  virtual video::SColor getShadowColor() const = 0;
1138 
1140 
1148  virtual u32 registerNodeForRendering(ISceneNode* node,
1150 
1152 
1156  virtual void drawAll() = 0;
1157 
1159 
1164  virtual ISceneNodeAnimator* createRotationAnimator(const core::vector3df& rotationSpeed) = 0;
1165 
1167 
1180  const core::vector3df& center=core::vector3df(0.f,0.f,0.f),
1181  f32 radius=100.f, f32 speed=0.001f,
1182  const core::vector3df& direction=core::vector3df(0.f, 1.f, 0.f),
1183  f32 startPosition = 0.f,
1184  f32 radiusEllipsoid = 0.f) = 0;
1185 
1187 
1200  const core::vector3df& endPoint, u32 timeForWay, bool loop=false, bool pingpong = false) = 0;
1201 
1203 
1213  s32 timePerFrame, bool loop=true) = 0;
1214 
1216 
1221  virtual ISceneNodeAnimator* createDeleteAnimator(u32 timeMs) = 0;
1222 
1224 
1255  ITriangleSelector* world, ISceneNode* sceneNode,
1256  const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30),
1257  const core::vector3df& gravityPerSecond = core::vector3df(0,-10.0f,0),
1258  const core::vector3df& ellipsoidTranslation = core::vector3df(0,0,0),
1259  f32 slidingValue = 0.0005f) = 0;
1260 
1262 
1271  const core::array< core::vector3df >& points,
1272  f32 speed = 1.0f, f32 tightness = 0.5f, bool loop=true, bool pingpong=false) = 0;
1273 
1275 
1293  virtual ITriangleSelector* createTriangleSelector(IMesh* mesh, ISceneNode* node) = 0;
1294 
1296 
1302 
1303 
1305 
1314 
1316 
1339  ISceneNode* node, s32 minimalPolysPerNode=32) = 0;
1340 
1342 
1344  ISceneNode* node, s32 minimalPolysPerNode=32)
1345  {
1346  return createOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
1347  }
1348 
1350 
1358 
1360 
1366  ITerrainSceneNode* node, s32 LOD=0) = 0;
1367 
1369 
1375  virtual void addExternalMeshLoader(IMeshLoader* externalLoader) = 0;
1376 
1378  virtual u32 getMeshLoaderCount() const = 0;
1379 
1381 
1384  virtual IMeshLoader* getMeshLoader(u32 index) const = 0;
1385 
1387 
1393  virtual void addExternalSceneLoader(ISceneLoader* externalLoader) = 0;
1394 
1396  virtual u32 getSceneLoaderCount() const = 0;
1397 
1399 
1402  virtual ISceneLoader* getSceneLoader(u32 index) const = 0;
1403 
1405 
1408 
1410 
1412  virtual IMeshManipulator* getMeshManipulator() = 0;
1413 
1415 
1423  virtual void addToDeletionQueue(ISceneNode* node) = 0;
1424 
1426 
1428  virtual bool postEventFromUser(const SEvent& event) = 0;
1429 
1431 
1432  virtual void clear() = 0;
1433 
1435 
1440  virtual io::IAttributes* getParameters() = 0;
1441 
1443 
1450 
1452 
1455 
1457 
1459  virtual void registerSceneNodeFactory(ISceneNodeFactory* factoryToAdd) = 0;
1460 
1462  virtual u32 getRegisteredSceneNodeFactoryCount() const = 0;
1463 
1465 
1467  virtual ISceneNodeFactory* getSceneNodeFactory(u32 index) = 0;
1468 
1470 
1473 
1475 
1477  virtual void registerSceneNodeAnimatorFactory(ISceneNodeAnimatorFactory* factoryToAdd) = 0;
1478 
1480  virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const = 0;
1481 
1483 
1486 
1488  virtual const c8* getSceneNodeTypeName(ESCENE_NODE_TYPE type) = 0;
1489 
1491  virtual const c8* getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) = 0;
1492 
1494 
1496  virtual ISceneNode* addSceneNode(const char* sceneNodeTypeName, ISceneNode* parent=0) = 0;
1497 
1499 
1503  virtual ISceneNodeAnimator* createSceneNodeAnimator(const char* typeName, ISceneNode* target=0) = 0;
1504 
1506 
1524  virtual ISceneManager* createNewSceneManager(bool cloneContent=false) = 0;
1525 
1527 
1542  virtual bool saveScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
1543 
1545 
1560  virtual bool saveScene(io::IWriteFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
1561 
1563 
1580  virtual bool saveScene(io::IXMLWriter* writer, const io::path& currentPath, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
1581 
1583 
1599  virtual bool loadScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0;
1600 
1602 
1618  virtual bool loadScene(io::IReadFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0;
1619 
1621 
1623  virtual IMeshWriter* createMeshWriter(EMESH_WRITER_TYPE type) = 0;
1624 
1626 
1628  virtual ISkinnedMesh* createSkinnedMesh() = 0;
1629 
1631  virtual void setAmbientLight(const video::SColorf &ambientColor) = 0;
1632 
1634  virtual const video::SColorf& getAmbientLight() const = 0;
1635 
1637 
1639  virtual void setLightManager(ILightManager* lightManager) = 0;
1640 
1642 
1644  virtual const IGeometryCreator* getGeometryCreator(void) const = 0;
1645 
1647 
1655  virtual bool isCulled(const ISceneNode* node) const =0;
1656  };
1657 
1658 
1659 } // end namespace scene
1660 } // end namespace irr
1661 
1662 #endif
1663 
irr::scene::ISceneManager::createTriangleSelectorFromBoundingBox
virtual ITriangleSelector * createTriangleSelectorFromBoundingBox(ISceneNode *node)=0
Creates a simple dynamic ITriangleSelector, based on a axis aligned bounding box.
irr::scene::ISceneManager::isCulled
virtual bool isCulled(const ISceneNode *node) const =0
Check if node is culled in current view frustum.
path.h
irr::scene::ISceneManager::getMeshCache
virtual IMeshCache * getMeshCache()=0
Get interface to the mesh cache which is shared beween all existing scene managers.
irr::scene::ISceneManager::createSceneNodeAnimator
virtual ISceneNodeAnimator * createSceneNodeAnimator(const char *typeName, ISceneNode *target=0)=0
creates a scene node animator based on its type name
irr::scene::ISceneManager::getSceneNodeFactory
virtual ISceneNodeFactory * getSceneNodeFactory(u32 index)=0
Get a scene node factory by index.
irr::scene::ISceneManager::addSphereSceneNode
virtual IMeshSceneNode * 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 of the given radius and detail.
irr::scene::ESNRP_SKY_BOX
@ ESNRP_SKY_BOX
This is used for sky boxes.
Definition: ISceneManager.h:67
irr::scene::ISceneManager::addAnimatedMeshSceneNode
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.
irr::scene::ISceneManager::createCollisionResponseAnimator
virtual ISceneNodeAnimatorCollisionResponse * createCollisionResponseAnimator(ITriangleSelector *world, ISceneNode *sceneNode, const core::vector3df &ellipsoidRadius=core::vector3df(30, 60, 30), const core::vector3df &gravityPerSecond=core::vector3df(0,-10.0f, 0), const core::vector3df &ellipsoidTranslation=core::vector3df(0, 0, 0), f32 slidingValue=0.0005f)=0
Creates a special scene node animator for doing automatic collision detection and response.
ISkinnedMesh.h
irr::scene::ISceneManager::addWaterSurfaceSceneNode
virtual ISceneNode * 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))=0
Adds a scene node for rendering a animated water surface mesh.
irr::scene::ISceneManager::createMetaTriangleSelector
virtual IMetaTriangleSelector * createMetaTriangleSelector()=0
Creates a meta triangle selector.
irr::scene::ISceneManager::addOctTreeSceneNode
_IRR_DEPRECATED_ IMeshSceneNode * addOctTreeSceneNode(IMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)
Adds a scene node for rendering using a octree to the scene graph.
Definition: ISceneManager.h:590
irr::scene::ISceneManager::registerSceneNodeFactory
virtual void registerSceneNodeFactory(ISceneNodeFactory *factoryToAdd)=0
Adds a scene node factory to the scene manager.
irr::scene::ISceneManager::getGeometryCreator
virtual const IGeometryCreator * getGeometryCreator(void) const =0
Get an instance of a geometry creator.
irr::scene::ITextSceneNode
A scene node for displaying 2d text at a position in three dimensional space.
Definition: ITextSceneNode.h:16
irr::scene::ISceneManager::getMeshLoaderCount
virtual u32 getMeshLoaderCount() const =0
Returns the number of mesh loaders supported by Irrlicht at this time.
irr::scene::ISceneManager::getSceneNodesFromType
virtual void getSceneNodesFromType(ESCENE_NODE_TYPE type, core::array< scene::ISceneNode * > &outNodes, ISceneNode *start=0)=0
Get scene nodes by type.
irr::scene::ISceneManager::drawAll
virtual void drawAll()=0
Draws all the scene nodes.
irr::scene::quake3::IShader
A Parsed Shader Holding Variables ordered in Groups.
Definition: IQ3Shader.h:638
irr::io::IXMLWriter
Interface providing methods for making it easier to write XML files.
Definition: IXMLWriter.h:20
irr::scene::ISceneManager::getRegisteredSceneNodeAnimatorFactoryCount
virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const =0
Get amount of registered scene node animator factories.
irr::c8
char c8
8 bit character variable.
Definition: irrTypes.h:31
irr::scene::ITerrainSceneNode
A scene node for displaying terrain using the geo mip map algorithm.
Definition: ITerrainSceneNode.h:49
irr::scene::ISceneManager::addCameraSceneNode
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, bool makeActive=true)=0
Adds a camera scene node to the scene graph and sets it as active camera.
irr::scene::ISceneLoader
Class which can load a scene into the scene manager.
Definition: ISceneLoader.h:26
irr::scene::ESNRP_TRANSPARENT_EFFECT
@ ESNRP_TRANSPARENT_EFFECT
Transparent effect scene nodes, drawn after Transparent nodes. They are sorted from back to front and...
Definition: ISceneManager.h:91
irr::scene::ILightManager
ILightManager provides an interface for user applications to manipulate the list of lights in the sce...
Definition: ILightManager.h:25
irr::scene::ISceneManager::setAmbientLight
virtual void setAmbientLight(const video::SColorf &ambientColor)=0
Sets ambient color of the scene.
irr::scene::ISceneManager::createTextureAnimator
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 t...
irrString.h
irr::scene::ISceneManager::getDefaultSceneNodeAnimatorFactory
virtual ISceneNodeAnimatorFactory * getDefaultSceneNodeAnimatorFactory()=0
Get the default scene node animator factory which can create all built-in scene node animators.
irr::scene::ISceneManager::saveScene
virtual bool saveScene(const io::path &filename, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *node=0)=0
Saves the current scene into a file.
irr::scene::ISceneManager::getMesh
virtual IAnimatedMesh * getMesh(const io::path &filename)=0
Get pointer to an animateable mesh. Loads the file if not loaded already.
irr::scene::ISkinnedMesh
Interface for using some special functions of Skinned meshes.
Definition: ISkinnedMesh.h:32
irr::scene::ESCENE_NODE_TYPE
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
Definition: ESceneNodeTypes.h:19
irr::scene::ISceneManager::addVolumeLightMesh
virtual IAnimatedMesh * addVolumeLightMesh(const io::path &name, const u32 SubdivideU=32, const u32 SubdivideV=32, const video::SColor FootColor=video::SColor(51, 0, 230, 180), const video::SColor TailColor=video::SColor(0, 0, 0, 0))=0
Add a volume light mesh to the meshpool.
irr::scene::ISceneManager::getVideoDriver
virtual video::IVideoDriver * getVideoDriver()=0
Get the video driver.
irr::scene::ISceneManager::addCubeSceneNode
virtual IMeshSceneNode * 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))=0
Adds a cube scene node.
IReferenceCounted.h
irr::scene::ITriangleSelector
Interface to return triangles with specific properties.
Definition: ITriangleSelector.h:28
irr::scene::ISceneManager::createSkinnedMesh
virtual ISkinnedMesh * createSkinnedMesh()=0
Get a skinned mesh, which is not available as header-only code.
irr::io::IReadFile
Interface providing read acess to a file.
Definition: IReadFile.h:17
irr::scene::ICameraSceneNode
Scene Node which is a (controlable) camera.
Definition: ICameraSceneNode.h:23
irr::scene::IDummyTransformationSceneNode
Dummy scene node for adding additional transformations to the scene graph.
Definition: IDummyTransformationSceneNode.h:23
irr::video::ITexture
Interface of a Video Driver dependent Texture.
Definition: ITexture.h:98
irr::scene::ISceneManager::getDefaultSceneNodeFactory
virtual ISceneNodeFactory * getDefaultSceneNodeFactory()=0
Get the default scene node factory which can create all built in scene nodes.
irr::scene::ISceneManager::getSceneNodeTypeName
virtual const c8 * getSceneNodeTypeName(ESCENE_NODE_TYPE type)=0
Get typename from a scene node type or null if not found.
irr::scene::ISceneManager::getFileSystem
virtual io::IFileSystem * getFileSystem()=0
Get the active FileSystem.
irr::video::IImage
Interface for software image data.
Definition: IImage.h:22
irr::scene::ISceneNodeFactory
Interface for dynamic creation of scene nodes.
Definition: ISceneNodeFactory.h:27
irr::scene::ETPS_17
@ ETPS_17
patch size of 17, at most, use 5 levels of detail with this patch size.
Definition: ETerrainElements.h:20
irr::scene::ISceneManager::addBillboardTextSceneNode
virtual IBillboardTextSceneNode * 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 colorTop=0xFFFFFFFF, video::SColor colorBottom=0xFFFFFFFF)=0
Adds a text scene node, which uses billboards. The node, and the text on it, will scale with distance...
irr::scene::IAnimatedMesh
Interface for an animated mesh.
Definition: IAnimatedMesh.h:62
irr::scene::IMeshManipulator
An interface for easy manipulation of meshes.
Definition: IMeshManipulator.h:29
irr::scene::ISceneManager::addVolumeLightSceneNode
virtual IVolumeLightSceneNode * addVolumeLightSceneNode(ISceneNode *parent=0, s32 id=-1, const u32 subdivU=32, const u32 subdivV=32, const video::SColor foot=video::SColor(51, 0, 230, 180), const video::SColor tail=video::SColor(0, 0, 0, 0), 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 Volume Lighting Scene Node.
irr::s32
signed int s32
32 bit signed variable.
Definition: irrTypes.h:66
irr::scene::ISceneManager::getAmbientLight
virtual const video::SColorf & getAmbientLight() const =0
Get ambient color of the scene.
irr::scene::IParticleSystemSceneNode
A particle system scene node for creating snow, fire, exlosions, smoke...
Definition: IParticleSystemSceneNode.h:46
irr::scene::ESCENE_NODE_ANIMATOR_TYPE
ESCENE_NODE_ANIMATOR_TYPE
An enumeration for all types of built-in scene node animators.
Definition: ESceneNodeAnimatorTypes.h:14
irr::video::SColorf
Class representing a color with four floats.
Definition: SColor.h:458
irr::scene::E_TERRAIN_PATCH_SIZE
E_TERRAIN_PATCH_SIZE
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
Definition: ETerrainElements.h:14
irr::scene::ISceneManager::registerNodeForRendering
virtual u32 registerNodeForRendering(ISceneNode *node, E_SCENE_NODE_RENDER_PASS pass=ESNRP_AUTOMATIC)=0
Registers a node for rendering it at a specific time.
ESceneNodeAnimatorTypes.h
irr::io::IFileSystem
The FileSystem manages files and archives and provides access to them.
Definition: IFileSystem.h:32
irr::SKeyMap
Struct storing which key belongs to which action.
Definition: SKeyMap.h:29
irr::scene::ISceneManager::getSceneNodeAnimatorFactory
virtual ISceneNodeAnimatorFactory * getSceneNodeAnimatorFactory(u32 index)=0
Get scene node animator factory by index.
irrArray.h
irr::scene::ISceneManager::addEmptySceneNode
virtual ISceneNode * addEmptySceneNode(ISceneNode *parent=0, s32 id=-1)=0
Adds an empty scene node to the scene graph.
irr::scene::ISceneManager::createTriangleSelector
virtual ITriangleSelector * createTriangleSelector(IMesh *mesh, ISceneNode *node)=0
Creates a simple ITriangleSelector, based on a mesh.
irr::scene::ISceneManager::getAnimatorTypeName
virtual const c8 * getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type)=0
Returns a typename from a scene node animator type or null if not found.
irr::scene::ISceneManager::addSkyDomeSceneNode
virtual ISceneNode * addSkyDomeSceneNode(video::ITexture *texture, u32 horiRes=16, u32 vertRes=8, f32 texturePercentage=0.9, f32 spherePercentage=2.0, f32 radius=1000.f, ISceneNode *parent=0, s32 id=-1)=0
Adds a skydome scene node to the scene graph.
irr::scene::ISceneManager::clear
virtual void clear()=0
Clears the whole scene.
irr::scene::ISceneManager::getSceneLoader
virtual ISceneLoader * getSceneLoader(u32 index) const =0
Retrieve the given scene loader.
irr::scene::ISceneManager::createOctTreeTriangleSelector
_IRR_DEPRECATED_ ITriangleSelector * createOctTreeTriangleSelector(IMesh *mesh, ISceneNode *node, s32 minimalPolysPerNode=32)
//! Creates a Triangle Selector, optimized by an octree.
Definition: ISceneManager.h:1343
irr::scene::ISceneManager::addSphereMesh
virtual IAnimatedMesh * addSphereMesh(const io::path &name, f32 radius=5.f, u32 polyCountX=16, u32 polyCountY=16)=0
add a static sphere mesh to the meshpool
irr::scene::ISceneManager::addHillPlaneMesh
virtual IAnimatedMesh * addHillPlaneMesh(const io::path &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))=0
Adds a Hill Plane mesh to the mesh pool.
irr::scene::ISceneManager::createFlyCircleAnimator
virtual ISceneNodeAnimator * createFlyCircleAnimator(const core::vector3df &center=core::vector3df(0.f, 0.f, 0.f), f32 radius=100.f, f32 speed=0.001f, const core::vector3df &direction=core::vector3df(0.f, 1.f, 0.f), f32 startPosition=0.f, f32 radiusEllipsoid=0.f)=0
Creates a fly circle animator, which lets the attached scene node fly around a center.
vector3d.h
irr::scene::ISceneManager::createFollowSplineAnimator
virtual ISceneNodeAnimator * createFollowSplineAnimator(s32 startTime, const core::array< core::vector3df > &points, f32 speed=1.0f, f32 tightness=0.5f, bool loop=true, bool pingpong=false)=0
Creates a follow spline animator.
irr::IReferenceCounted
Base class of most objects of the Irrlicht Engine.
Definition: IReferenceCounted.h:41
irr::scene::ISceneManager::addTerrainSceneNode
virtual ITerrainSceneNode * addTerrainSceneNode(const io::path &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)=0
Adds a terrain scene node to the scene graph.
irr::io::IWriteFile
Interface providing write access to a file.
Definition: IWriteFile.h:17
irr::scene::IMetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.
Definition: IMetaTriangleSelector.h:20
irr::scene::ISceneManager::getMeshManipulator
virtual IMeshManipulator * getMeshManipulator()=0
Get pointer to the mesh manipulator.
irr::core::dimension2d
Specifies a 2 dimensional size.
Definition: dimension2d.h:20
irr::scene::ISceneManager::addExternalSceneLoader
virtual void addExternalSceneLoader(ISceneLoader *externalLoader)=0
Adds an external scene loader for extending the engine with new file formats.
irr::scene::ISceneUserDataSerializer
Interface to read and write user data to and from .irr files.
Definition: ISceneUserDataSerializer.h:24
irr::scene::ISceneManager::setActiveCamera
virtual void setActiveCamera(ICameraSceneNode *camera)=0
Sets the currently active camera.
irr::f32
float f32
32 bit floating point variable.
Definition: irrTypes.h:104
irr::scene::ISceneManager::createDeleteAnimator
virtual ISceneNodeAnimator * createDeleteAnimator(u32 timeMs)=0
Creates a scene node animator, which deletes the scene node after some time automatically.
ETerrainElements.h
SceneParameters.h
Header file containing all scene parameters for modifying mesh loading etc.
irr::scene::ESNRP_AUTOMATIC
@ ESNRP_AUTOMATIC
All normal objects can use this for registering themselves.
Definition: ISceneManager.h:82
irr::SEvent
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
Definition: IEventReceiver.h:262
irr::scene::ISceneManager::addSkyBoxSceneNode
virtual ISceneNode * 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)=0
Adds a skybox scene node to the scene graph.
irr::scene::ESNRP_SOLID
@ ESNRP_SOLID
Solid scene nodes or special scene nodes without materials.
Definition: ISceneManager.h:85
irr::scene::ISceneManager::getRegisteredSceneNodeFactoryCount
virtual u32 getRegisteredSceneNodeFactoryCount() const =0
Get amount of registered scene node factories.
irr::scene::ISceneManager::addOctTreeSceneNode
_IRR_DEPRECATED_ IMeshSceneNode * addOctTreeSceneNode(IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)
Adds a scene node for rendering using a octree to the scene graph.
Definition: ISceneManager.h:566
irr::scene::ISceneNodeAnimatorFactory
Interface for dynamic creation of scene node animators.
Definition: ISceneNodeAnimatorFactory.h:27
irr::scene::ISceneManager::addTerrainMesh
virtual IAnimatedMesh * addTerrainMesh(const io::path &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< u32 > &defaultVertexBlockSize=core::dimension2d< u32 >(64, 64))=0
Adds a static terrain mesh to the mesh pool.
irr::scene::ISceneManager::createTerrainTriangleSelector
virtual ITriangleSelector * createTerrainTriangleSelector(ITerrainSceneNode *node, s32 LOD=0)=0
Creates a triangle selector which can select triangles from a terrain scene node.
irr::scene::IMeshCache
The mesh cache stores already loaded meshes and provides an interface to them.
Definition: IMeshCache.h:27
irr::scene::ISceneManager::loadScene
virtual bool loadScene(const io::path &filename, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *rootNode=0)=0
Loads a scene. Note that the current scene is not cleared before.
irr::scene::ISceneManager::addSceneNode
virtual ISceneNode * addSceneNode(const char *sceneNodeTypeName, ISceneNode *parent=0)=0
Adds a scene node to the scene by name.
irr::scene::ISceneManager::createNewSceneManager
virtual ISceneManager * createNewSceneManager(bool cloneContent=false)=0
Creates a new scene manager.
irr::scene::ISceneManager::addCameraSceneNodeMaya
virtual ICameraSceneNode * addCameraSceneNodeMaya(ISceneNode *parent=0, f32 rotateSpeed=-1500.f, f32 zoomSpeed=200.f, f32 translationSpeed=1500.f, s32 id=-1, f32 distance=70.f, bool makeActive=true)=0
Adds a maya style user controlled camera scene node to the scene graph.
irr::scene::ESNRP_LIGHT
@ ESNRP_LIGHT
In this pass, lights are transformed into camera space and added to the driver.
Definition: ISceneManager.h:64
irr::scene::IBillboardSceneNode
A billboard scene node.
Definition: IBillboardSceneNode.h:20
irr::scene::ISceneManager::addArrowMesh
virtual IAnimatedMesh * addArrowMesh(const io::path &name, video::SColor vtxColorCylinder=0xFFFFFFFF, video::SColor vtxColorCone=0xFFFFFFFF, u32 tesselationCylinder=4, u32 tesselationCone=8, f32 height=1.f, f32 cylinderHeight=0.6f, f32 widthCylinder=0.05f, f32 widthCone=0.3f)=0
add a static arrow mesh to the meshpool
irr::scene::ISceneManager::createRotationAnimator
virtual ISceneNodeAnimator * createRotationAnimator(const core::vector3df &rotationSpeed)=0
Creates a rotation animator, which rotates the attached scene node around itself.
irr::scene::ISceneManager::getSceneCollisionManager
virtual ISceneCollisionManager * getSceneCollisionManager()=0
Get pointer to the scene collision manager.
irr::scene::ISceneManager::addBillboardSceneNode
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 colorTop=0xFFFFFFFF, video::SColor colorBottom=0xFFFFFFFF)=0
Adds a billboard scene node to the scene graph.
irr::scene::ISceneManager::getSceneNodeFromType
virtual ISceneNode * getSceneNodeFromType(scene::ESCENE_NODE_TYPE type, ISceneNode *start=0)=0
Get the first scene node with the specified type.
irr::scene::IMesh
Class which holds the geometry of an object.
Definition: IMesh.h:23
irr::scene::IBillboardTextSceneNode
A billboard text scene node.
Definition: IBillboardTextSceneNode.h:21
irr::scene::ISceneManager::addParticleSystemSceneNode
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.
irr::core::string< fschar_t >
irr::scene::ESNRP_NONE
@ ESNRP_NONE
No pass currently active.
Definition: ISceneManager.h:58
EMeshWriterEnums.h
irr::scene::ISceneManager::addCameraSceneNodeFPS
virtual ICameraSceneNode * addCameraSceneNodeFPS(ISceneNode *parent=0, f32 rotateSpeed=100.0f, f32 moveSpeed=0.5f, s32 id=-1, SKeyMap *keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false, f32 jumpSpeed=0.f, bool invertMouse=false, bool makeActive=true)=0
Adds a camera scene node with an animator which provides mouse and keyboard control appropriate for f...
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
irr::scene::ISceneManager::addTextSceneNode
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.
irr::scene::ISceneManager::setLightManager
virtual void setLightManager(ILightManager *lightManager)=0
Register a custom callbacks manager which gets callbacks during scene rendering.
irr::scene::ISceneManager::getMeshLoader
virtual IMeshLoader * getMeshLoader(u32 index) const =0
Retrieve the given mesh loader.
irr::scene::IMeshWriter
Interface for writing meshes.
Definition: IMeshWriter.h:23
irr::scene::ESNRP_SHADOW
@ ESNRP_SHADOW
Drawn after the solid nodes, before the transparent nodes, the time for drawing shadow volumes.
Definition: ISceneManager.h:94
irr::u32
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:58
irr::scene::ISceneNodeAnimatorCollisionResponse
Special scene node animator for doing automatic collision detection and response.
Definition: ISceneNodeAnimatorCollisionResponse.h:53
irr::scene::IMeshSceneNode
A scene node displaying a static mesh.
Definition: IMeshSceneNode.h:20
irr::scene::IGeometryCreator
Helper class for creating geometry on the fly.
Definition: IGeometryCreator.h:25
irr::scene::ISceneManager::getSceneNodeRenderPass
virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass() const =0
Get current render pass.
irr::scene::ISceneNodeAnimator
Animates a scene node. Can animate position, rotation, material, and so on.
Definition: ISceneNodeAnimator.h:30
irr::scene::ISceneManager::registerSceneNodeAnimatorFactory
virtual void registerSceneNodeAnimatorFactory(ISceneNodeAnimatorFactory *factoryToAdd)=0
Adds a scene node animator factory to the scene manager.
ESceneNodeTypes.h
irr::scene::ISceneManager::addMeshSceneNode
virtual IMeshSceneNode * 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)=0
Adds a scene node for rendering a static mesh.
irr::scene::ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Definition: ISceneManager.h:150
irr::scene::ISceneManager::getRootSceneNode
virtual ISceneNode * getRootSceneNode()=0
Gets the root scene node.
irr::core::array
Self reallocating template array (like stl vector) with additional features.
Definition: irrArray.h:22
irr::scene::ISceneManager::getSceneNodeFromName
virtual ISceneNode * getSceneNodeFromName(const c8 *name, ISceneNode *start=0)=0
Get the first scene node with the specified name.
irr::scene::ISceneManager::addDummyTransformationSceneNode
virtual IDummyTransformationSceneNode * addDummyTransformationSceneNode(ISceneNode *parent=0, s32 id=-1)=0
Adds a dummy transformation scene node to the scene graph.
irr::gui::IGUIEnvironment
GUI Environment. Used as factory and manager of all other GUI elements.
Definition: IGUIEnvironment.h:70
irr::scene::ISceneManager::addToDeletionQueue
virtual void addToDeletionQueue(ISceneNode *node)=0
Adds a scene node to the deletion queue.
dimension2d.h
_IRR_DEPRECATED_
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Definition: irrTypes.h:195
irr::scene::ISceneManager::getParameters
virtual io::IAttributes * getParameters()=0
Get interface to the parameters set in this scene.
irr::video::SMaterial
Struct for holding parameters for a material renderer.
Definition: SMaterial.h:226
IGeometryCreator.h
irr::scene::ISceneCollisionManager
The Scene Collision Manager provides methods for performing collision tests and picking on scene node...
Definition: ISceneCollisionManager.h:24
irr::scene::ISceneManager::createFlyStraightAnimator
virtual ISceneNodeAnimator * createFlyStraightAnimator(const core::vector3df &startPoint, const core::vector3df &endPoint, u32 timeForWay, bool loop=false, bool pingpong=false)=0
Creates a fly straight animator, which lets the attached scene node fly or move along a line between ...
irr::scene::ISceneManager::addOctreeSceneNode
virtual IMeshSceneNode * addOctreeSceneNode(IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octree to the scene graph.
irr::scene::ISceneManager::getShadowColor
virtual video::SColor getShadowColor() const =0
Get the current color of shadows.
irr::scene::IMeshBuffer
Struct for holding a mesh with a single material.
Definition: IMeshBuffer.h:39
irr::scene::ISceneManager::addExternalMeshLoader
virtual void addExternalMeshLoader(IMeshLoader *externalLoader)=0
Adds an external mesh loader for extending the engine with new file formats.
irr::gui::IGUIFont
Font interface.
Definition: IGUIFont.h:39
irr::scene::ESNRP_TRANSPARENT
@ ESNRP_TRANSPARENT
Transparent scene nodes, drawn after solid nodes. They are sorted from back to front and drawn in tha...
Definition: ISceneManager.h:88
irr::scene::ISceneManager::setShadowColor
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.
irr::video::SColor
Class representing a 32 bit ARGB color.
Definition: SColor.h:201
irr::video::IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.
Definition: IVideoDriver.h:256
irr::scene::ISceneNode
Scene node interface.
Definition: ISceneNode.h:40
irr::scene::ISceneManager::getSceneNodeFromId
virtual ISceneNode * getSceneNodeFromId(s32 id, ISceneNode *start=0)=0
Get the first scene node with the specified id.
irr::core::vector3d< f32 >
irr::scene::ILightSceneNode
Scene node which is a dynamic light.
Definition: ILightSceneNode.h:22
irr::scene::E_SCENE_NODE_RENDER_PASS
E_SCENE_NODE_RENDER_PASS
Enumeration for render passes.
Definition: ISceneManager.h:55
irr::scene::ISceneManager::addQuake3SceneNode
virtual IMeshSceneNode * addQuake3SceneNode(const IMeshBuffer *meshBuffer, const quake3::IShader *shader, ISceneNode *parent=0, s32 id=-1)=0
Adds a quake3 scene node to the scene graph.
irr::scene::ISceneManager::postEventFromUser
virtual bool postEventFromUser(const SEvent &event)=0
Posts an input event to the environment.
irr::scene::ISceneManager::getSceneLoaderCount
virtual u32 getSceneLoaderCount() const =0
Returns the number of scene loaders supported by Irrlicht at this time.
irr::scene::ISceneManager::createMeshWriter
virtual IMeshWriter * createMeshWriter(EMESH_WRITER_TYPE type)=0
Get a mesh writer implementation if available.
irr::scene::EMESH_WRITER_TYPE
EMESH_WRITER_TYPE
An enumeration for all supported types of built-in mesh writers.
Definition: EMeshWriterEnums.h:19
irr::scene::ISceneManager::getGUIEnvironment
virtual gui::IGUIEnvironment * getGUIEnvironment()=0
Get the active GUIEnvironment.
irr::scene::ISceneManager::createOctreeTriangleSelector
virtual ITriangleSelector * createOctreeTriangleSelector(IMesh *mesh, ISceneNode *node, s32 minimalPolysPerNode=32)=0
Creates a Triangle Selector, optimized by an octree.
irr::io::IAttributes
Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition: IAttributes.h:41
irr::scene::ISceneManager::getActiveCamera
virtual ICameraSceneNode * getActiveCamera() const =0
Get the current active camera.
irr::scene::IAnimatedMeshSceneNode
Scene node capable of displaying an animated mesh and its shadow.
Definition: IAnimatedMeshSceneNode.h:53
irr::scene::ESNRP_CAMERA
@ ESNRP_CAMERA
Camera pass. The active view is set up here. The very first pass.
Definition: ISceneManager.h:61
SColor.h
irr::scene::IMeshLoader
Class which is able to load an animated mesh from a file.
Definition: IMeshLoader.h:26
irr::scene::ISceneManager::addLightSceneNode
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 radius=100.0f, s32 id=-1)=0
Adds a dynamic light scene node to the scene graph.
irr::scene::IVolumeLightSceneNode
Definition: IVolumeLightSceneNode.h:18