00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef HxInOutSetVal_h
00010 #define HxInOutSetVal_h
00011 
00012 #include "HxValue.h"
00013 #include "HxCategories.h"
00014 #include "HxTagList.h"
00015 
00016 template<class ArithT>
00017 class HxInOutSetVal
00018 {
00019 public:
00020     typedef HxTagPixOpIn        DirectionCategory;
00021     typedef HxTagTransInVar     TransVarianceCategory;
00022     typedef HxTag1Phase         PhaseCategory;
00023 
00024                     HxInOutSetVal(HxTagList&);
00025 
00026     const ArithT&   doIt()
00027                         { return _value; }
00028 
00029     static HxString className()
00030                         { return HxString("setValue"); }
00031 private:
00032     ArithT          _value;
00033 };
00034 
00035 template<class ArithT>
00036 inline
00037 HxInOutSetVal<ArithT>::HxInOutSetVal(HxTagList& tags)
00038 {
00039     _value = HxGetTag<HxValue>(tags, "value", HxValue(0));
00040 }
00041 
00042 #endif