#ifndef IW_VACORE_BINAURALCLUSTERINGSTATE #define IW_VACORE_BINAURALCLUSTERINGSTATE #include // VA Includes #include #include // Utils #include "VABinauralCluster.h" #include "../BinauralSoundSource/VABinauralSoundSource.h" class VABinauralClusteringState { public: int numClusters; std::queue< int > freeClusterIDs; std::map< int, int> sourceClusterReference; std::map< int, VABinauralCluster* > clusters; VABinauralClusteringState(int numClusters); VABinauralClusteringState(const VABinauralClusteringState& state); ~VABinauralClusteringState(); void addSource(int sourceID, VABinauralSoundSource* source, double threshold, int numBlockedClusters); std::pair< int, VABinauralCluster*> createCluster(VABinauralSoundSource* source); double getMaxError(); private: IVAObjectPool* _clusterPool; }; #endif // IW_VACORE_BINAURALCLUSTERINGSTATE