|
listener.h00001 /* 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 __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__ Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000 |