00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __ISOUND_LISTENER_H__
00022 #define __ISOUND_LISTENER_H__
00023
00024 #include "csutil/scf.h"
00025 #include "csgeom/vector3.h"
00026
00028 enum csSoundEnvironment
00029 {
00030 ENVIRONMENT_GENERIC = 0,
00031 ENVIRONMENT_PADDEDCELL,
00032 ENVIRONMENT_ROOM,
00033 ENVIRONMENT_BATHROOM,
00034 ENVIRONMENT_LIVINGROOM,
00035 ENVIRONMENT_STONEROOM,
00036 ENVIRONMENT_AUDITORIUM,
00037 ENVIRONMENT_CONCERTHALL,
00038 ENVIRONMENT_CAVE,
00039 ENVIRONMENT_ARENA,
00040 ENVIRONMENT_CARPETEDHALLWAY,
00041 ENVIRONMENT_HALLWAY,
00042 ENVIRONMENT_STONECORRIDOR,
00043 ENVIRONMENT_ALLEY,
00044 ENVIRONMENT_FOREST,
00045 ENVIRONMENT_CITY,
00046 ENVIRONMENT_MOUNTAINS,
00047 ENVIRONMENT_QUARRY,
00048 ENVIRONMENT_PLAIN,
00049 ENVIRONMENT_PARKINGLOT,
00050 ENVIRONMENT_SEWERPIPE,
00051 ENVIRONMENT_UNDERWATER,
00052 ENVIRONMENT_DRUGGED,
00053 ENVIRONMENT_DIZZY,
00054 ENVIRONMENT_PSYCHOTIC
00055 };
00056
00057 SCF_VERSION (iSoundListener, 0, 0, 1);
00058
00064 struct iSoundListener : public iBase
00065 {
00067 virtual void SetDirection (const csVector3 &Front, const csVector3 &Top) = 0;
00069 virtual void SetPosition (const csVector3 &pos) = 0;
00071 virtual void SetVelocity (const csVector3 &v) = 0;
00073 virtual void SetDistanceFactor (float factor) = 0;
00075 virtual void SetRollOffFactor (float factor) = 0;
00077 virtual void SetDopplerFactor (float factor) = 0;
00079 virtual void SetHeadSize (float size) = 0;
00081 virtual void SetEnvironment (csSoundEnvironment env) = 0;
00082
00084 virtual void GetDirection (csVector3 &Front, csVector3 &Top) = 0;
00086 virtual const csVector3 &GetPosition () = 0;
00088 virtual const csVector3 &GetVelocity () = 0;
00090 virtual float GetDistanceFactor () = 0;
00092 virtual float GetRollOffFactor () = 0;
00094 virtual float GetDopplerFactor () = 0;
00096 virtual float GetHeadSize () = 0;
00098 virtual csSoundEnvironment GetEnvironment () = 0;
00099 };
00100
00101 #endif // __ISOUND_LISTENER_H__