#ifndef IW_VACORE_BINAURALCLUSTER #define IW_VACORE_BINAURALCLUSTER // VA Includes #include // Utils #include "../BinauralSoundSource/VABinauralSoundSource.h" class VABinauralCluster : public CVAPoolObject { public: double maxError; VABinauralCluster(); VABinauralCluster(const VABinauralCluster& cluster); ~VABinauralCluster(); void init(VABinauralSoundSource* source); double getDistError(VABinauralSoundSource* source); void addSource(VABinauralSoundSource* source); void addSource(VABinauralSoundSource* source, double error); void removeSource(); void reset(); private: int _numSources; VAVec3 _clusterSourcePos; double cummulativeMovingAverage(int n, double average, double value); }; #endif // IW_VACORE_BINAURALCLUSTER