ControlMapper.cxx
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 #include "ControlMapper.hxx"
00023 #include "ProcessingFactory.hxx"
00024
00025 namespace CLAM
00026 {
00027 namespace Hidden
00028 {
00029 static const char * metadata[] = {
00030 "key", "ControlMapper",
00031 "category", "Controls",
00032 "description", "ControlMapper",
00033 0
00034 };
00035 static FactoryRegistrator<ProcessingFactory, ControlMapper> reg = metadata;
00036 }
00037
00038 void ControlMapperConfig::DefaultInit(void)
00039 {
00040 AddName();
00041 AddMapping();
00042 AddArguments();
00043
00044 UpdateData();
00045 }
00046
00047 ControlMapper::ControlMapper(const Config& cfg)
00048 : mInput("input",this,&ControlMapper::DoMap)
00049 , mOutput("output",this)
00050 {
00051 mMappingPtr = 0;
00052 Configure(cfg);
00053 }
00054
00055 bool ControlMapper::ConcreteConfigure( const ProcessingConfig& c )
00056 {
00057 CopyAsConcreteConfig(mConfig, c);
00058
00059 if (mMappingPtr) delete mMappingPtr;
00060 mMappingPtr = Mapping::Create(mConfig.GetMapping());
00061 if (!mMappingPtr)
00062 {
00063 AddConfigErrorMessage( "Unknown mapping");
00064 return false;
00065 }
00066 mMappingPtr->Set(mConfig.GetArguments());
00067 return true;
00068 }
00069
00070
00071
00072
00073 }
00074