00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxUpoColSpace_h
00010 #define HxUpoColSpace_h
00011
00012 #include "HxTagList.h"
00013 #include "HxClassName.h"
00014 #include "HxColor.h"
00015 #include "HxCategories.h"
00016
00017
00020 template<class DstValT, class SrcValT>
00021 class HxUpoColSpace
00022 {
00023 public:
00025 typedef HxTagTransInVar TransVarianceCategory;
00026
00028 HxUpoColSpace(HxTagList& tags)
00029 {
00030 _fromSpace = HxGetTag<HxColorModel>(tags,
00031 "fromColorSpace");
00032 _toSpace = HxGetTag<HxColorModel>(tags,
00033 "toColorSpace");
00034 }
00035
00037 DstValT doIt(const SrcValT& x)
00038 { return HxColor(x,_fromSpace).convert(_toSpace).value();}
00039
00041 static HxString className()
00042 { return HxString("colorSpace"); }
00043
00044 private:
00045 HxColorModel _fromSpace;
00046 HxColorModel _toSpace;
00047 };
00048
00049 #endif