2007-04-04 20:42:44 +00:00
|
|
|
|
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenh<6E>t (tentacle)
|
2006-03-04 15:26:09 +00:00
|
|
|
|
// All rights reserved but the aegisub project is allowed to use it.
|
|
|
|
|
|
2006-03-03 19:00:47 +00:00
|
|
|
|
class FexFilter {
|
|
|
|
|
public:
|
|
|
|
|
FexFilter();
|
2007-04-04 20:42:44 +00:00
|
|
|
|
virtual ~FexFilter();
|
2006-03-03 19:00:47 +00:00
|
|
|
|
|
|
|
|
|
virtual double Filter( double t );
|
|
|
|
|
|
|
|
|
|
double Width;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class FexFilter_Gauss : public FexFilter {
|
|
|
|
|
public:
|
|
|
|
|
FexFilter_Gauss( double sigma );
|
2007-04-04 20:42:44 +00:00
|
|
|
|
virtual ~FexFilter_Gauss();
|
2006-03-03 19:00:47 +00:00
|
|
|
|
|
|
|
|
|
double Filter( double t );
|
|
|
|
|
|
|
|
|
|
double Sigma;
|
|
|
|
|
double TwoSigmaSq;
|
|
|
|
|
double Normalize;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class FexFilter_GaussDerivation : public FexFilter {
|
|
|
|
|
public:
|
|
|
|
|
FexFilter_GaussDerivation( double sigma );
|
2007-04-04 20:42:44 +00:00
|
|
|
|
virtual ~FexFilter_GaussDerivation();
|
2006-03-03 19:00:47 +00:00
|
|
|
|
|
|
|
|
|
double Filter( double t );
|
|
|
|
|
|
|
|
|
|
double Sigma;
|
|
|
|
|
double TwoSigmaSq;
|
|
|
|
|
double Normalize;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct FexFilterContribution {
|
|
|
|
|
int xMin, xMax;
|
|
|
|
|
double* Weight;
|
2007-01-30 23:09:33 +00:00
|
|
|
|
};
|
|
|
|
|
|