Commit bd3aa166 authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen
Browse files

WIP

parent b462d882
...@@ -18,6 +18,7 @@ include_directories( "include" ) ...@@ -18,6 +18,7 @@ include_directories( "include" )
set( ITAPropagationModelsHeader set( ITAPropagationModelsHeader
"include/ITAPropagationModels/Base.h" "include/ITAPropagationModels/Base.h"
"include/ITAPropagationModels/Definitions.h" "include/ITAPropagationModels/Definitions.h"
"include/ITAPropagationModels/DiffractionFilter.h"
"include/ITAPropagationModels/FilterEngine.h" "include/ITAPropagationModels/FilterEngine.h"
"include/ITAPropagationModels/FilterGenerator.h" "include/ITAPropagationModels/FilterGenerator.h"
"include/ITAPropagationModels/Kirchhoff.h" "include/ITAPropagationModels/Kirchhoff.h"
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER #ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER
#define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER #define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER
#include <ITAPropagationModelsDefinitions.h> #include "Definitions.h"
// ITA includes // ITA includes
#include <ITASampleBuffer.h> #include <ITASampleBuffer.h>
......
...@@ -16,12 +16,12 @@ ...@@ -16,12 +16,12 @@
* *
*/ */
#ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR #ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_ENGINE
#define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR #define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_ENGINE
#include <ITAPropagationModelsDefinitions.h> // ITAPropagationModel includes
#include <ITADiffractionFilter.h> #include "Base.h"
#include <ITAPropagationModelsBase.h> #include "Definitions.h"
// ITA includes // ITA includes
#include <ITAGeoBase.h> #include <ITAGeoBase.h>
...@@ -38,41 +38,11 @@ namespace ITAPropagationModels ...@@ -38,41 +38,11 @@ namespace ITAPropagationModels
* Generates transfer functions in the frequency-domain that * Generates transfer functions in the frequency-domain that
* can be used as filters, e.g. for auralization. * can be used as filters, e.g. for auralization.
*/ */
class ITA_PROPAGATION_MODELS_API CTFGenerator class ITA_PROPAGATION_MODELS_API CFilterEngine
{ {
public: public:
//! Construct a generator with predetermined output channels, e.g. for binaural or SH filters
/**
* @param[in] iNumOutputChannels Number of output channels
* @param[in] iDFTSize Length of the DFT used to construct and combine filter components
*/
CTFGenerator( const int iNumOutputChannels, const int iDFTSize = 128 );
//! Cunstruct a generator with matching properties of a target spectrum
inline CTFGenerator( const ITABase::CHDFTSpectrum& pTransferFunction )
: CTFGenerator( 1, pTransferFunction.GetDFTSize() )
{
};
//! Cunstruct a generator with matching properties of multi-channel target spectra
CTFGenerator( const ITABase::CHDFTSpectra& pTransferFunctions )
: CTFGenerator( pTransferFunctions.GetNumChannels(), pTransferFunctions.GetDFTSize() )
{
};
//! Generate a single-channel transfer function
inline void GenerateTF( ITABase::CHDFTSpectrum& pTransferFunction )
{
const std::vector< ITABase::CHDFTSpectrum* > vpSpectra = { &( pTransferFunction ) };
GenerateTF( ITABase::CHDFTSpectra( vpSpectra ) );
};
//! Generate a multi-channel transfer function
inline void GenerateTF( ITABase::CHDFTSpectra& pTransferFunctions );
private: private:
}; };
} }
#endif // INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR #endif // INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_ENGINE
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
#ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR #ifndef INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR
#define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR #define INCLUDE_WATCHER_ITA_PROPAGATION_MODELS_FILTER_GENERATOR
#include <ITAPropagationModelsDefinitions.h> #include "Base.h"
#include <ITADiffractionFilter.h> #include "Definitions.h"
#include <ITAPropagationModelsBase.h> #include "DiffractionFilter.h"
// ITA includes // ITA includes
#include <ITAGeoBase.h> #include <ITAGeoBase.h>
......
#include <ITAPropagationModelFilterGenerator.h> #include <ITAPropagationModels/FilterGenerator.h>
// ITA includes // ITA includes
#include <ITAException.h> #include <ITAException.h>
...@@ -12,16 +12,10 @@ ...@@ -12,16 +12,10 @@
#include <stdio.h> #include <stdio.h>
using namespace ITAGeo; using namespace ITAGeo;
using namespace ITAPropagationModels;
CTFGenerator::CFilterGenerator( int iModel ) CTFGenerator::CFilterGenerator( int iModel )
: m_iModel( iModel ) : m_iModel( iModel )
{ {
} }
/* see @todo
void CITAFilterGenerator::GenerateFIR( const CPropagationAnchor& oSource, const CPropagationAnchor& oDestination, CITADiffractionWedgeAperture& oWedge, CITADiffractionFilter& oFilter )
{
}
*/
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment