Rev | Line | |
---|
[1739] | 1 | // This may look like C code, but it is really -*- C++ -*-
|
---|
| 2 | #ifndef SMOOTHTOI_H
|
---|
| 3 | #define SMOOTHTOI_H
|
---|
| 4 |
|
---|
| 5 | #include "toiprocessor.h"
|
---|
| 6 | #include "flagtoidef.h"
|
---|
| 7 | #include "slinparbuff.h"
|
---|
| 8 |
|
---|
| 9 | //////////////////////////////////////////////////////
|
---|
| 10 | //-- Pour flagguer les samples hors dynamique
|
---|
| 11 | // toi BoloIn ---> |FlagOutOfRange| ---> toi BoloOut
|
---|
| 12 | //////////////////////////////////////////////////////
|
---|
| 13 | class DataSmooth : public TOIProcessor {
|
---|
| 14 | public:
|
---|
| 15 | DataSmooth(uint_4 lsm,uint_4 deg);
|
---|
| 16 | virtual ~DataSmooth();
|
---|
| 17 |
|
---|
| 18 | virtual void init(void);
|
---|
| 19 | virtual void run(void);
|
---|
| 20 |
|
---|
| 21 | //! Ne pas traiter les samples flaggues par la valeur flag
|
---|
| 22 | inline void DoNotLookAt(uint_8 flag=FlgToiAll) {flgNotLookAt = flag;}
|
---|
| 23 | //! Flagguer les valeurs ou le smooth a echoue avec la valeur flag
|
---|
| 24 | inline void SetFlagFailed(uint_8 flag=FlgToiInterp) {flgNotSmoothed = flag;}
|
---|
| 25 | //! Frequency to update SLinParBuff buffer
|
---|
| 26 | inline void SetBuffUpd(uint_4 bupd=100) {BuffUpdate = bupd;}
|
---|
| 27 | //! Nombre minimum de valeurs requises pour smoother un sample
|
---|
| 28 | inline void MinSmoothLength(uint_4 lsmin=0)
|
---|
| 29 | {
|
---|
| 30 | if(lsmin==0) lsmin=LSmooth;
|
---|
| 31 | LSmoothMin = (lsmin<DegSmooth+1)? DegSmooth+1: lsmin;
|
---|
| 32 | }
|
---|
| 33 |
|
---|
| 34 | //! Print
|
---|
[1762] | 35 | void Print(::ostream & os);
|
---|
[1739] | 36 | inline void Print(void) {Print(cout);}
|
---|
| 37 |
|
---|
| 38 | protected:
|
---|
| 39 | uint_8 flgNotLookAt,flgNotSmoothed;
|
---|
| 40 | uint_4 LSmooth,LSmoothMin;
|
---|
| 41 | uint_4 DegSmooth;
|
---|
| 42 | uint_4 BuffUpdate;
|
---|
| 43 | };
|
---|
| 44 |
|
---|
| 45 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.