isound/listener.h
00001 /* 00002 Copyright (C) 1998, 1999 by Nathaniel 'NooTe' Saint Martin 00003 Copyright (C) 1998, 1999 by Jorrit Tyberghein 00004 Written by Nathaniel 'NooTe' Saint Martin 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the Free 00018 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 #ifndef __CS_ISOUND_LISTENER_H__ 00022 #define __CS_ISOUND_LISTENER_H__ 00023 00024 #include "csutil/scf.h" 00025 00026 class csVector3; 00027 00029 enum csSoundEnvironment 00030 { 00031 ENVIRONMENT_GENERIC = 0, 00032 ENVIRONMENT_PADDEDCELL, 00033 ENVIRONMENT_ROOM, 00034 ENVIRONMENT_BATHROOM, 00035 ENVIRONMENT_LIVINGROOM, 00036 ENVIRONMENT_STONEROOM, 00037 ENVIRONMENT_AUDITORIUM, 00038 ENVIRONMENT_CONCERTHALL, 00039 ENVIRONMENT_CAVE, 00040 ENVIRONMENT_ARENA, 00041 ENVIRONMENT_CARPETEDHALLWAY, 00042 ENVIRONMENT_HALLWAY, 00043 ENVIRONMENT_STONECORRIDOR, 00044 ENVIRONMENT_ALLEY, 00045 ENVIRONMENT_FOREST, 00046 ENVIRONMENT_CITY, 00047 ENVIRONMENT_MOUNTAINS, 00048 ENVIRONMENT_QUARRY, 00049 ENVIRONMENT_PLAIN, 00050 ENVIRONMENT_PARKINGLOT, 00051 ENVIRONMENT_SEWERPIPE, 00052 ENVIRONMENT_UNDERWATER, 00053 ENVIRONMENT_DRUGGED, 00054 ENVIRONMENT_DIZZY, 00055 ENVIRONMENT_PSYCHOTIC 00056 }; 00057 00063 struct iSoundListener : public virtual iBase 00064 { 00065 SCF_INTERFACE(iSoundListener, 2,0,0); 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 // __CS_ISOUND_LISTENER_H__
Generated for Crystal Space by doxygen 1.4.6