00001 #ifndef __NYTRO_SoundBlocker_H 00002 #define __NYTRO_SoundBlocker_H 00003 00004 //***************************************************************************** 00005 // Nytro GameEngine 00006 // 00007 // © Copyright 7thFACTOR Entertainment 00008 // All rights reserved 00009 //***************************************************************************** 00010 00011 #include "system/nyCommon.h" 00012 #include "audio/nyAudioProvider.h" 00013 00014 namespace Nytro 00015 { 00016 namespace Audio 00017 { 00020 class NYTRO_API SoundBlockerPolygon 00021 { 00022 public: 00023 00024 SoundBlockerPolygon(); 00025 SoundBlockerPolygon( const vector<Vector3D>& rVertices, bool bDoubleSide = true, 00026 float32 aDirectOcclusion = 1, float32 aReverbOcclusion = 0.8f ); 00027 00028 vector<Vector3D> m_vertices; 00029 bool m_bDoubleSide; 00031 float32 m_directOcclusion, 00033 m_reverbOcclusion; 00035 uint32 m_index; 00036 }; 00037 00039 class NYTRO_API SoundBlocker : public SceneNode 00040 { 00041 public: 00042 00043 NYTRO_CLASS_NAME( SoundBlocker ); 00044 00045 SoundBlocker(); 00046 virtual ~SoundBlocker(); 00047 00049 virtual uint32 addPolygon( SoundBlockerPolygon* pPoly ); 00051 vector<SoundBlockerPolygon*>& getPolygons(); 00052 virtual void free(); 00053 00054 protected: 00055 00057 vector<SoundBlockerPolygon*> m_polygons; 00058 }; 00059 }; 00060 }; 00061 00062 #endif