SiGraph: sulcal graphs


meanMixer.h
Go to the documentation of this file.
1
2#ifndef SI_MIXER_MEANMIXER_H
3#define SI_MIXER_MEANMIXER_H
4
5
6#include <si/mixer/mixer.h>
7
8
9namespace sigraph
10{
11
17 class MeanMixer : public Mixer
18 {
19 public:
20 MeanMixer();
21 MeanMixer( const MeanMixer & mix );
22 virtual ~MeanMixer();
23
24 virtual Mixer* clone() const;
26
27 const std::string typeName() const { return( "mean_mixer" ); }
28 virtual float mix( const std::vector<double> & vec );
29
30 virtual void buildTree( Tree & tr );
31
32 protected:
33
34 private:
35 };
36
37 // inline
38
40 {
41 }
42
43
44 inline MeanMixer::MeanMixer( const MeanMixer & ) : Mixer()
45 {
46 }
47
48
49 inline Mixer* MeanMixer::clone() const
50 {
51 return( new MeanMixer( *this ) );
52 }
53
54
56 {
57 return( *this );
58 }
59
60
61 inline float MeanMixer::mix( const std::vector<double> & vec )
62 {
63 std::vector<double>::const_iterator i, f=vec.end();
64 float m = 0;
65
66 for( i=vec.begin(); i!=f; ++i ) m += *i;
67
68 return( m / vec.size() );
69 }
70
71}
72
73#endif
74
MeanMixer & operator=(const MeanMixer &mix)
Definition meanMixer.h:55
virtual void buildTree(Tree &tr)
virtual ~MeanMixer()
virtual Mixer * clone() const
Definition meanMixer.h:49
const std::string typeName() const
Definition meanMixer.h:27
virtual float mix(const std::vector< double > &vec)
Definition meanMixer.h:61