00001 /* 00002 * SND_SoundListener.h 00003 * 00004 * A SoundListener is for sound what a camera is for vision. 00005 * 00006 * Version: $Id: SND_SoundListener_h-source.html,v 1.1 2001/02/01 12:25:18 coockie Exp $ 00007 */ 00008 00009 #ifndef __SND_SOUNDLISTENER_H 00010 #define __SND_SOUNDLISTENER_H 00011 00012 #include "SND_IObject.h" 00013 00014 00015 class SND_SoundListener : public SND_IObject 00016 { 00017 public: 00018 SND_SoundListener(); 00019 virtual ~SND_SoundListener(); 00020 00021 void setModified(bool mod) {m_modified = mod;} 00022 void setGain(MT_Scalar gain); 00023 void setPosition(const MT_Point3& pos); 00024 void setVelocity(const MT_Vector3& vel); 00025 void setOrientation(const MT_Matrix3x3& ori); 00026 00027 bool isModified() const {return m_modified;} 00028 00029 float getGain() const {return m_gain;} 00030 MT_Point3 getPosition() const {return m_position;} 00031 MT_Point3 getVelocity() const {return m_velocity;} 00032 MT_Matrix3x3 getOrientation() {return m_orientation;} 00033 00034 00035 private: 00036 void* m_listener; 00037 bool m_modified; /* flag for if listener is modified */ 00038 00039 MT_Scalar m_gain; /* overall gain */ 00040 MT_Point3 m_position; /* position; left/right, up/down, in/out */ 00041 MT_Point3 m_velocity; /* velocity of the listener */ 00042 MT_Matrix3x3 m_orientation; /* orientation of the listener */ 00043 00044 }; 00045 #endif //__SND_SOUNDLISTENER_H