#ifndef IW_VACORE_BINAURALCLUSTERENGINE #define IW_VACORE_BINAURALCLUSTERENGINE // VA includes #include // ITA includes // Utils #include "../BinauralListener/VABinauralListener.h" #include "../BinauralSoundSource/VABinauralSoundSource.h" #include "./VABinauralClustering.h" #include "./VABinauralCluster.h" class VABinauralClusterEngine { public: struct clusterConfig_t { int numCluster; }; ~VABinauralClusterEngine(); VABinauralClusterEngine(); void update(); VABinauralClustering* getClustering(int listenerID); void addSource( int sourceID, VABinauralSoundSource* source ); void addListener( int listenerID, VABinauralListener* listener,clusterConfig_t& conf ); void removeListener( int listenerID ); void removeSource( int sourceID ); private: std::map< int, VABinauralSoundSource* > _newSources; std::map< int, VABinauralClustering* > _clusterings; IVAObjectPool* _sourcePool; IVAObjectPool* _clusteringPool; //std::map< int, VABinauralSoundSource* > _sources; //std::map< int, VABinauralListener* > _listener; }; #endif // IW_VACORE_BINAURALCLUSTERENGINE