00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef HxBpoSetPixElt_h
00011 #define HxBpoSetPixElt_h
00012
00013 #include "HxTagList.h"
00014 #include "HxClassName.h"
00015
00016
00017 template<class DstValT, class Src1ValT, class Src2ValT>
00018 class HxBpoSetPixElt
00019 {
00020 public:
00021 HxBpoSetPixElt(HxTagList& tags);
00022
00023 DstValT doIt(const Src1ValT& x, const Src2ValT& y)
00024 { DstValT r(x); r.setValue(_dim, y.x()); return r; }
00025
00026 static HxString className()
00027 { return HxString("setPixelElement"); }
00028
00029 private:
00030 int _dim;
00031 };
00032
00033 template<class DstValT, class Src1ValT, class Src2ValT>
00034 inline
00035 HxBpoSetPixElt<DstValT, Src1ValT, Src2ValT>::HxBpoSetPixElt(HxTagList& tags)
00036 {
00037 _dim = HxGetTag(tags, "dimension", int(1));
00038 if (_dim < 0)
00039 _dim = 1;
00040 _dim = ((_dim - 1) % 3) + 1;
00041 }
00042
00043 #endif
00044