Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IParticleAffector.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 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_AFFECTOR_H_INCLUDED__
    00006 #define __I_PARTICLE_AFFECTOR_H_INCLUDED__
    00007
    00008 #include "IAttributeExchangingObject.h"
    00009 #include "SParticle.h"
    00010
    00011 namespace irr
    00012 {
    00013 namespace scene
    00014 {
    00015
    00017 enum E_PARTICLE_AFFECTOR_TYPE
    00018 {
    00019         EPAT_NONE = 0,
    00020         EPAT_ATTRACT,
    00021         EPAT_FADE_OUT,
    00022         EPAT_GRAVITY,
    00023         EPAT_ROTATE,
    00024         EPAT_SCALE,
    00025         EPAT_COUNT
    00026 };
    00027
    00029 const c8* const ParticleAffectorTypeNames[] =
    00030 {
    00031         "None",
    00032         "Attract",
    00033         "FadeOut",
    00034         "Gravity",
    00035         "Rotate",
    00036         "Scale",
    00037         0
    00038 };
    00039
    00041 class IParticleAffector : public virtual io::IAttributeExchangingObject
    00042 {
    00043 public:
    00044
    00046         IParticleAffector() : Enabled(true) {}
    00047
    00049
    00052         virtual void affect(u32 now, SParticle* particlearray, u32 count) = 0;
    00053
    00055         virtual void setEnabled(bool enabled) { Enabled = enabled; }
    00056
    00058         virtual bool getEnabled() const { return Enabled; }
    00059
    00061         virtual E_PARTICLE_AFFECTOR_TYPE getType() const = 0;
    00062
    00063 protected:
    00064         bool Enabled;
    00065 };
    00066
    00067 } // end namespace scene
    00068 } // end namespace irr
    00069
    00070
    00071 #endif
    00072

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)