ControlSource.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _EXTERN_IN_CONTROL_
00023 #define _EXTERN_IN_CONTROL_
00024
00025 #include "Processing.hxx"
00026 #include "OutControl.hxx"
00027
00028 namespace CLAM{
00029
00030 class ControlSourceConfig : public ProcessingConfig
00031 {
00032 public:
00033 DYNAMIC_TYPE_USING_INTERFACE ( ControlSourceConfig, 5, ProcessingConfig);
00034 DYN_ATTRIBUTE(0,public,TData, MinValue);
00035 DYN_ATTRIBUTE(1,public,TData, MaxValue);
00036 DYN_ATTRIBUTE(2,public,TData, DefaultValue);
00037 DYN_ATTRIBUTE(3,public,TData, Step);
00038 DYN_ATTRIBUTE(4,public, std::string, UnitName);
00039 protected:
00040 void DefaultInit()
00041 {
00042 AddAll();
00043 UpdateData();
00044 SetMinValue(0.0);
00045 SetMaxValue(100.0);
00046 SetDefaultValue(50.0);
00047 SetStep(1.0);
00048 SetUnitName("-");
00049 }
00050 };
00051
00052 class ControlSource : public Processing
00053 {
00054 private:
00055 ControlSourceConfig mConf;
00056 FloatOutControl mOutput;
00057
00058 public:
00059 ControlSource()
00060 : mOutput("output",this)
00061 {
00062 }
00063
00064 ControlSource(const ControlSourceConfig & c)
00065 : mOutput("output",this)
00066 {
00067 ConcreteConfigure(c);
00068 }
00069
00070 ~ControlSource() {}
00071
00072 bool Do()
00073 {
00074 return true;
00075 }
00076
00077 bool Do( const float value );
00078
00079 const char* GetClassName() const { return "ControlSource";}
00080
00081 bool ConcreteConfigure(const ProcessingConfig &c);
00082
00083 const ProcessingConfig& GetConfig() const
00084 {
00085 return mConf;
00086 }
00087 };
00088 }
00089
00090 #endif
00091