
// Original author: Tels <http://bloodgate.com>, released as public domain
#ifndef __EllipsoidEmitter_H__
#define __EllipsoidEmitter_H__

#include "OgreParticleFXPrerequisites.h"
#include "OgreAreaEmitter.h"

namespace Ogre {

    /** Particle emitter which emits particles randomly from points inside an ellipsoid.
    @remarks
        This basic particle emitter emits particles from a ellipsoid area.
        The initial direction of these particles can either be a single
        direction (i.e. a line), a random scattering inside a cone, or a random
        scattering in all directions, depending the 'angle' parameter, which
        is the angle across which to scatter the particles either side of the
        base direction of the emitter. 
    */
    class _OgreParticleFXExport EllipsoidEmitter : public AreaEmitter
    {
    public:
        /** See AreaEmitter. */
        EllipsoidEmitter(ParticleSystem* psys);

        /** See ParticleEmitter. */
        void _initParticle(Particle* pParticle);
    };

}

#endif

