Irrlicht 3D Engine
IParticleAnimatedMeshSceneNodeEmitter.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_PARTICLE_ANIMATED_MESH_SCENE_NODE_EMITTER_H_INCLUDED__
00006 #define __I_PARTICLE_ANIMATED_MESH_SCENE_NODE_EMITTER_H_INCLUDED__
00007 
00008 #include "IParticleEmitter.h"
00009 #include "IAnimatedMeshSceneNode.h"
00010 
00011 namespace irr
00012 {
00013 namespace scene
00014 {
00015 
00017 class IParticleAnimatedMeshSceneNodeEmitter : public IParticleEmitter
00018 {
00019 public:
00020 
00022     virtual void setAnimatedMeshSceneNode( IAnimatedMeshSceneNode* node ) = 0;
00023 
00025     virtual void setUseNormalDirection( bool useNormalDirection = true ) = 0;
00026 
00028     virtual void setNormalDirectionModifier( f32 normalDirectionModifier ) = 0;
00029 
00031     virtual void setEveryMeshVertex( bool everyMeshVertex = true ) = 0;
00032 
00034     virtual const IAnimatedMeshSceneNode* getAnimatedMeshSceneNode() const = 0;
00035 
00037     virtual bool isUsingNormalDirection() const = 0;
00038 
00040     virtual f32 getNormalDirectionModifier() const = 0;
00041 
00043     virtual bool getEveryMeshVertex() const = 0;
00044 
00046     virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_ANIMATED_MESH; }
00047 };
00048 
00049 } // end namespace scene
00050 } // end namespace irr
00051 
00052 
00053 #endif // __I_PARTICLE_ANIMATED_MESH_SCENE_NODE_EMITTER_H_INCLUDED__
00054