Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
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 00058 SCF_VERSION (iSoundListener, 0, 0, 1); 00059 00065 struct iSoundListener : public iBase 00066 { 00068 virtual void SetDirection (const csVector3 &Front, const csVector3 &Top) = 0; 00070 virtual void SetPosition (const csVector3 &pos) = 0; 00072 virtual void SetVelocity (const csVector3 &v) = 0; 00074 virtual void SetDistanceFactor (float factor) = 0; 00076 virtual void SetRollOffFactor (float factor) = 0; 00078 virtual void SetDopplerFactor (float factor) = 0; 00080 virtual void SetHeadSize (float size) = 0; 00082 virtual void SetEnvironment (csSoundEnvironment env) = 0; 00083 00085 virtual void GetDirection (csVector3 &Front, csVector3 &Top) = 0; 00087 virtual const csVector3 &GetPosition () = 0; 00089 virtual const csVector3 &GetVelocity () = 0; 00091 virtual float GetDistanceFactor () = 0; 00093 virtual float GetRollOffFactor () = 0; 00095 virtual float GetDopplerFactor () = 0; 00097 virtual float GetHeadSize () = 0; 00099 virtual csSoundEnvironment GetEnvironment () = 0; 00100 }; 00101 00102 #endif // __CS_ISOUND_LISTENER_H__
Generated for Crystal Space by doxygen 1.4.4