80 lines
1.9 KiB
C++
80 lines
1.9 KiB
C++
#ifndef SIGNALS_V2_H
|
|
#define SIGNALS_V2_H
|
|
|
|
#include "AbstractSignal.h"
|
|
#include "MoveSpace.h"
|
|
#include "SignalsId.cs"
|
|
|
|
namespace MSP_LIB
|
|
{
|
|
enum eSignalCalcIds
|
|
{
|
|
eSignalCalcId_None,
|
|
eSignalCalcId_Derivative,
|
|
eSignalCalcId_Norm3D,
|
|
eSignalCalcId_Average,
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// Signal_Derivative
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
class Signal_Derivative : public AbstractSignal
|
|
{
|
|
public:
|
|
|
|
Signal_Derivative (AbstractSignal* _p_SourceSignal, AbstractSignal* _p_ProgressRatioSignal);
|
|
|
|
void ResetParams ();
|
|
void UpdateSpeciallyForFirstTime ();
|
|
void Update ();
|
|
|
|
private:
|
|
|
|
AbstractSignal* mp_SourceSignal;
|
|
AbstractSignal* mp_ProgressRatioSignal;
|
|
float mf_PrevSourceSignalValue;
|
|
float mf_PrevProgressRatio;
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// Signal_Norm3D
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
class Signal_Norm3D : public AbstractSignal
|
|
{
|
|
public:
|
|
|
|
Signal_Norm3D (AbstractSignal* _p_SourceSignalX, AbstractSignal* _p_SourceSignalY, AbstractSignal* _p_SourceSignalZ);
|
|
|
|
void Update ();
|
|
|
|
private:
|
|
|
|
AbstractSignal* mp_SourceSignalX;
|
|
AbstractSignal* mp_SourceSignalY;
|
|
AbstractSignal* mp_SourceSignalZ;
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
// Signal_Average
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
class Signal_Average : public AbstractSignal
|
|
{
|
|
public:
|
|
|
|
Signal_Average (AbstractSignal* _p_SourceSignal);
|
|
|
|
void ResetParams ();
|
|
void Update ();
|
|
|
|
private:
|
|
|
|
AbstractSignal* mp_SourceSignal;
|
|
float mf_SourceSignalValuesSum;
|
|
int mi_SourceSignalValuesCount;
|
|
};
|
|
}
|
|
|
|
#endif //SIGNALS_V2_H
|