00001 #ifndef Impala_Core_Array_InvRGBw_h
00002 #define Impala_Core_Array_InvRGBw_h
00003
00004 #include <vector>
00005 #include "Core/Array/Pattern/PatM9PixOp.h"
00006 #include "Core/Array/Trait/M9poRGBw.h"
00007
00008 namespace Impala
00009 {
00010 namespace Core
00011 {
00012 namespace Array
00013 {
00014
00015
00016
00017 template<class DstArrayT, class SrcArrayT>
00018 inline void
00019 InvRGBw(DstArrayT*& dst, SrcArrayT* s1, SrcArrayT* s2, SrcArrayT* s3,
00020 SrcArrayT* s4, SrcArrayT* s5, SrcArrayT* s6, SrcArrayT* s7,
00021 SrcArrayT* s8, SrcArrayT* s9)
00022 {
00023 Trait::M9poRGBw<DstArrayT, SrcArrayT> mpo;
00024 Pattern::PatM9PixOp(dst, s1, s2, s3, s4, s5, s6, s7, s8, s9, mpo);
00025 }
00026
00027
00028
00029 template<class ArrayT>
00030 inline void
00031 InvRGBw(ArrayT*& dst, const std::vector<ArrayT*>& rgbList)
00032 {
00033 InvRGBw(dst,
00034 rgbList[0], rgbList[3], rgbList[6],
00035 rgbList[1], rgbList[4], rgbList[7],
00036 rgbList[2], rgbList[5], rgbList[8]);
00037 }
00038
00039 }
00040 }
00041 }
00042
00043 #endif