5 #ifndef __I_SCENE_MANAGER_H_INCLUDED__ 6 #define __I_SCENE_MANAGER_H_INCLUDED__ 39 class IGUIEnvironment;
446 const u32 subdivU = 32,
const u32 subdivV = 32,
506 bool alsoAddIfMeshPointerZero=
false) = 0;
523 bool alsoAddIfMeshPointerZero=
false) = 0;
541 f32 waveHeight=2.0f,
f32 waveSpeed=300.0f,
f32 waveLength=10.0f,
562 s32 id=-1,
s32 minimalPolysPerNode=512,
bool alsoAddIfMeshPointerZero=
false) = 0;
567 s32 id=-1,
s32 minimalPolysPerNode=512,
bool alsoAddIfMeshPointerZero=
false)
569 return addOctreeSceneNode(mesh, parent,
id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
586 s32 id=-1,
s32 minimalPolysPerNode=256,
bool alsoAddIfMeshPointerZero=
false) = 0;
591 s32 id=-1,
s32 minimalPolysPerNode=256,
bool alsoAddIfMeshPointerZero=
false)
593 return addOctreeSceneNode(mesh, parent,
id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
616 s32 id=-1,
bool makeActive=
true) = 0;
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;
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;
726 f32 radius=100.0f,
s32 id=-1) = 0;
790 u32 horiRes=16,
u32 vertRes=8,
791 f32 texturePercentage=0.9,
f32 spherePercentage=2.0,
f32 radius = 1000.f,
808 bool withDefaultEmitter=
true,
ISceneNode* parent=0,
s32 id=-1,
877 bool addAlsoIfHeightmapEmpty =
false) = 0;
915 bool addAlsoIfHeightmapEmpty =
false) = 0;
1026 f32 maxHeight=200.0f,
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;
1056 f32 radius=5.f,
u32 polyCountX = 16,
1057 u32 polyCountY = 16) = 0;
1069 const u32 SubdivideU = 32,
const u32 SubdivideV = 32,
1156 virtual void drawAll() = 0;
1181 f32 radius=100.f,
f32 speed=0.001f,
1183 f32 startPosition = 0.f,
1184 f32 radiusEllipsoid = 0.f) = 0;
1200 const core::vector3df& endPoint,
u32 timeForWay,
bool loop=
false,
bool pingpong =
false) = 0;
1213 s32 timePerFrame,
bool loop=
true) = 0;
1259 f32 slidingValue = 0.0005f) = 0;
1272 f32 speed = 1.0f,
f32 tightness = 0.5f,
bool loop=
true,
bool pingpong=
false) = 0;
1346 return createOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
1375 virtual void addExternalMeshLoader(
IMeshLoader* externalLoader) = 0;
1378 virtual u32 getMeshLoaderCount()
const = 0;
1393 virtual void addExternalSceneLoader(
ISceneLoader* externalLoader) = 0;
1396 virtual u32 getSceneLoaderCount()
const = 0;
1423 virtual void addToDeletionQueue(
ISceneNode* node) = 0;
1428 virtual bool postEventFromUser(
const SEvent& event) = 0;
1432 virtual void clear() = 0;
1462 virtual u32 getRegisteredSceneNodeFactoryCount()
const = 0;
1480 virtual u32 getRegisteredSceneNodeAnimatorFactoryCount()
const = 0;
1524 virtual ISceneManager* createNewSceneManager(
bool cloneContent=
false) = 0;
1631 virtual void setAmbientLight(
const video::SColorf &ambientColor) = 0;
1639 virtual void setLightManager(
ILightManager* lightManager) = 0;
1655 virtual bool isCulled(
const ISceneNode* node)
const =0;
Interface for dynamic creation of scene nodes.
The FileSystem manages files and archives and provides access to them.
Interface to return triangles with specific properties.
Interface providing methods for making it easier to write XML files.
_IRR_DEPRECATED_ ITriangleSelector * createOctTreeTriangleSelector(IMesh *mesh, ISceneNode *node, s32 minimalPolysPerNode=32)
//! Creates a Triangle Selector, optimized by an octree.
Scene Node which is a (controlable) camera.
Interface for dynamic creation of scene node animators.
Provides a generic interface for attributes and their values and the possiblity to serialize them...
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Struct storing which key belongs to which action.
SEvents hold information about an event. See irr::IEventReceiver for details on event handling...
Transparent effect scene nodes, drawn after Transparent nodes. They are sorted from back to front and...
Interface providing read acess to a file.
Camera pass. The active view is set up here. The very first pass.
float f32
32 bit floating point variable.
char c8
8 bit character variable.
All normal objects can use this for registering themselves.
ILightManager provides an interface for user applications to manipulate the list of lights in the sce...
Animates a scene node. Can animate position, rotation, material, and so on.
Scene node which is a dynamic light.
Everything in the Irrlicht Engine can be found in this namespace.
ESCENE_NODE_ANIMATOR_TYPE
An enumeration for all types of built-in scene node animators.
GUI Environment. Used as factory and manager of all other GUI elements.
Interface providing write access to a file.
Specifies a 2 dimensional size.
Interface for software image data.
Interface for writing meshes.
A scene node for displaying 2d text at a position in three dimensional space.
Class which holds the geometry of an object.
Interface for using some special functions of Skinned meshes.
A billboard text scene node.
_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.
No pass currently active.
A particle system scene node for creating snow, fire, exlosions, smoke...
patch size of 17, at most, use 5 levels of detail with this patch size.
In this pass, lights are transformed into camera space and added to the driver.
E_TERRAIN_PATCH_SIZE
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode ...
Helper class for creating geometry on the fly.
signed int s32
32 bit signed variable.
Struct for holding a mesh with a single material.
Scene node capable of displaying an animated mesh and its shadow.
EMESH_WRITER_TYPE
An enumeration for all supported types of built-in mesh writers.
unsigned int u32
32 bit unsigned variable.
Drawn after the solid nodes, before the transparent nodes, the time for drawing shadow volumes...
Solid scene nodes or special scene nodes without materials.
Header file containing all scene parameters for modifying mesh loading etc.
Interface to driver which is able to perform 2d and 3d graphics functions.
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
Special scene node animator for doing automatic collision detection and response. ...
Class which is able to load an animated mesh from a file.
Class representing a 32 bit ARGB color.
Class which can load a scene into the scene manager.
A scene node for displaying terrain using the geo mip map algorithm.
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Self reallocating template array (like stl vector) with additional features.
E_SCENE_NODE_RENDER_PASS
Enumeration for render passes.
A Parsed Shader Holding Variables ordered in Groups.
Interface of a Video Driver dependent Texture.
Base class of most objects of the Irrlicht Engine.
_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.
This is used for sky boxes.
Interface for an animated mesh.
An interface for easy manipulation of meshes.
The mesh cache stores already loaded meshes and provides an interface to them.
Interface to read and write user data to and from .irr files.
The Scene Collision Manager provides methods for performing collision tests and picking on scene node...
Class representing a color with four floats.
Struct for holding parameters for a material renderer.
Transparent scene nodes, drawn after solid nodes. They are sorted from back to front and drawn in tha...
A scene node displaying a static mesh.