filter_step.h
1 //
2 // C++ Interface: filterstep
3 //
4 // Description:
5 //
6 //
7 // Author: <Enrico Reimer>, (C) 2007
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12 #ifndef FILTERSTEP_H
13 #define FILTERSTEP_H
14 
15 #include <odindata/data.h>
16 #include <odindata/step.h>
17 #include <odindata/fileio.h>
18 
19 
20 // helper class for debugging the filter component
21 struct Filter {
22  static const char* get_compName();
23 };
24 
26 
27 
31 class FilterStep : public Step<FilterStep> {
32 public:
33  virtual ~FilterStep() {}
34 
38  virtual bool process(Data<float,4>& data, Protocol& prot)const;
39 
43  virtual bool process(FileIO::ProtocolDataMap& pdmap)const;
44 
45  // To be used by factory via duck typing
46  static void create_templates(STD_list<FilterStep*>& result);
47  static STD_string manual_group() {return "filter_steps";}
48  static void interface_description(const FilterStep* step, STD_string& in, STD_string& out) {}
49 
50 };
51 
53 
54 
55 
56 typedef StepFactory<FilterStep> FilterFactory; // The factory for filter steps
57 
58 
59 #endif
STD_map< Protocol, Data< float, 4 > > ProtocolDataMap
Definition: fileio.h:60
Protcol proxy.
Definition: protocol.h:33