FrameTransformation.hxx

Go to the documentation of this file.
00001 #ifndef _FrameTransformation_
00002 #define _FrameTransformation_
00003 
00004 #include "Processing.hxx"
00005 #include "InControl.hxx"
00006 
00007 #include "FrameTransformationConfig.hxx"
00008 
00009 namespace CLAM
00010 {
00011         class Frame;
00012 
00013         class FrameTransformation : public Processing
00014         {
00015                 public:
00016                         FrameTransformation()
00017                                 : mAmount("Amount", this) //soon to be deprecated
00018                         {
00019                         }
00020                         virtual bool Do(const Frame& in,Frame& out) = 0; 
00021                         
00022                         const ProcessingConfig& GetConfig() const { return mConfig; }
00023 
00024                         virtual bool ConcreteStart(){ return InitControls();}
00025                         
00027                         virtual bool InitControls()
00028                         { 
00029                                 mAmount.DoControl(0.);
00030                                 return true;
00031                         }
00032 
00033                 protected:
00034                 
00035                         FrameTransformationConfig mConfig;
00036                         
00037                         FloatInControl mAmount; //soon to be deprecated
00038         };
00039         
00040         //@todo: could also add ports here
00041         template <typename T>
00042         class FrameTransformationTmpl : public FrameTransformation
00043         {
00044         public: 
00045                 virtual bool Do(const T&, T&) = 0;
00046         };
00047 
00048 } // namespace CLAM
00049 
00050 #endif
00051 
Generated by  doxygen 1.6.3