UnaryPixOp(Dst, Src, Upo) { foreach d, s in Dst, Src Dst(d) = Upo.doIt(Src(s), s.x, s.y, s.z); }
The requirements on the UpoT template parameter expressed as class definition are:
template<class DstValT, class SrcValT> class UpoT { public: typedef HxTagTransVar TransVarianceCategory; UpoT(HxTagList&); DstValT doIt(const SrcValT& v, int x, int y, int z); static HxString className(); };
The function doIt will be called with 1 parameter of type SrcImgSigT::ArithType, and the result will be stored in a variable of type DstImgSigT::ArithType before being written to the destination image.