Commit 28dc2dc5 authored by Armin Erraji's avatar Armin Erraji

In FilterEngine, implemented function GetNumSensorChannels().

parent 9bb8c36d
......@@ -33,6 +33,9 @@
namespace ITAPropagationModels
{
using namespace std;
//! Transfer function filter generator for propagation paths
/**
* Generates transfer functions in the frequency-domain that
......@@ -79,15 +82,20 @@ namespace ITAPropagationModels
//! Generate single-channel propagation path (for single-channel receiver directivity)
inline void Generate( const ITAGeo::CPropagationPathList& oPathList, ITABase::CHDFTSpectrum& oFilter )
{
const std::vector< ITABase::CHDFTSpectrum* > vpSpectra = { &oFilter };
const vector< ITABase::CHDFTSpectrum* > vpSpectra = { &oFilter };
ITABase::CHDFTSpectra oTF( vpSpectra );
Generate( oPathList, oTF );
};
private:
ITABase::CHDFTSpectra m_oAccumulatedSpectra; //!< Gathered propagation paths from list
ITABase::CHDFTSpectra m_oTempPropPathSpectra; //!< Single prop-path spectra
unique_ptr<ITABase::CHDFTSpectra> m_pAccumulatedSpectra; //!< Gathered propagation paths from list
unique_ptr<ITABase::CHDFTSpectra> m_pTempPropPathSpectra; //!< Single prop-path spectra
static struct m_DefaultValues
{
int iModel = 1;
};
};
}
......
......@@ -10,5 +10,55 @@
// STL includes
#include <assert.h>
#include <stdio.h>
#include "..\..\include\ITAPropagationModels\FilterEngine.h"
using namespace ITAPropagationModels;
CFilterEngine::CFilterEngine()
{
}
CFilterEngine::~CFilterEngine()
{
}
int CFilterEngine::GetNumSensorChannels(const ITAGeo::CPropagationPathList & oPathList)
{
if(!HasSameSensorAnchor(oPathList))
ITA_EXCEPT1(INVALID_PARAMETER, "The propagation path list has more than multiple sensor anchors.");
int iNumChannels;
auto pPath = oPathList[0];
return 0;
}
bool CFilterEngine::HasSameSensorAnchor(const ITAGeo::CPropagationPathList & oPathList)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
return false;
}
void CFilterEngine::ApplyAcousticModels(ITAGeo::CPropagationPathList & oPathList)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
}
void CFilterEngine::ApplyDiffractionModel(ITAGeo::CPropagationPathList & oPathList, int iModel)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
}
void CFilterEngine::ApplyReflectionModel(ITAGeo::CPropagationPathList & oPathList, int iModel)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
}
void CFilterEngine::ApplyTransmissionModel(ITAGeo::CPropagationPathList & oPathList, int iModel)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
}
void CFilterEngine::Generate(const ITAGeo::CPropagationPathList & oPathList, ITABase::CHDFTSpectra & oFilter)
{
ITA_EXCEPT_NOT_IMPLEMENTED;
}
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