# Amuse: include/amuse/Emitter.hpp Source File

Emitter.hpp
#ifndef __AMUSE_EMITTER_HPP__
#define __AMUSE_EMITTER_HPP__
#include "Entity.hpp"
#include <memory>
namespace amuse
{
class Voice;
using Vector3f = float[3];
class Emitter : public Entity
{
std::shared_ptr<Voice> m_vox;
friend class Engine;
void _destroy();
public:
~Emitter();
Emitter(Engine& engine, const AudioGroup& group, std::shared_ptr<Voice>&& vox);
void setPos(const Vector3f& pos);
void setDir(const Vector3f& dir);
void setMaxDist(float maxDist);
void setMaxVol(float maxVol);
void setMinVol(float minVol);
void setFalloff(float falloff);
std::shared_ptr<Voice>& getVoice() {return m_vox;}
};
}
#endif // __AMUSE_EMITTER_HPP__
amuse::AudioGroup
Definition: AudioGroup.hpp:16
amuse
Definition: AudioGroup.hpp:8
amuse::Emitter
Definition: Emitter.hpp:14
amuse::Engine
Definition: Engine.hpp:23
amuse::Entity
Definition: Entity.hpp:18