VABinauralClusterEngine.h 1.03 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef IW_VACORE_BINAURALCLUSTERENGINE
#define IW_VACORE_BINAURALCLUSTERENGINE

// VA includes
#include <VA.h>


// 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();

	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