"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/SoundComponents/LSSSoundListener.h

00001 
00017 #ifndef __LSS_SOUNDLISTENER_H__
00018 #define __LSS_SOUNDLISTENER_H__
00019 
00020 #include "../LSSSoundLib.h"
00021 #include "Vector/LSMVector3.h"
00022 
00023 namespace lss {
00024 
00032         class CSoundListener {
00033         public :
00034                 // == Various constructors.
00035                 LSE_CALLCTOR                                                                    CSoundListener();
00036                 LSE_CALLCTOR                                                                    ~CSoundListener();
00037 
00038 
00039                 // == Functions.
00045                 const CVector3 & LSE_CALL                                               GetPos() const;
00046 
00052                 LSVOID LSE_CALL                                                                 SetPos( const CVector3 &_vPos );
00053 
00059                 const CVector3 & LSE_CALL                                               GetVel() const;
00060 
00066                 LSVOID LSE_CALL                                                                 SetVel( const CVector3 &_vVel );
00067 
00073                 const CVector3 & LSE_CALL                                               GetForward() const;
00074 
00080                 const CVector3 & LSE_CALL                                               GetUp() const;
00081 
00088                 LSVOID LSE_CALL                                                                 SetOrientation( const CVector3 &_vFor, const CVector3 &_vUp );
00089 
00095                 LSSREAL LSE_CALL                                                                GetGain() const;
00096 
00102                 LSVOID LSE_CALL                                                                 SetGain( LSSREAL _fGain );
00103 
00107                 LSVOID LSE_CALL                                                                 Tick();
00108 
00109 
00110         protected :
00111                 // == Members.
00115                 CVector3                                                                                m_vPos;
00116 
00120                 CVector3                                                                                m_vForwardDir;
00121 
00125                 CVector3                                                                                m_vUpDir;
00126 
00130                 CVector3                                                                                m_vVel;
00131 
00135                 LSSREAL                                                                                 m_fGain;
00136 
00140                 LSBOOL                                                                                  m_bDirty;
00141 
00142 
00143                 // == Functions.
00149                 LSBOOL LSE_CALL                                                                 Update();
00150 
00159                 LSBOOL LSE_CALL                                                                 DeviceActivated();
00160 
00166                 LSVOID LSE_CALL                                                                 DeviceWillClose();
00167 
00168         private :
00169                 friend class CSoundManager;
00170         };
00171 
00172 }       // namespace lss
00173 
00174 #endif  // __LSS_SOUNDLISTENER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator