Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

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 __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