00001 #ifndef Impala_Core_Array_Trait_RgbBinary_h
00002 #define Impala_Core_Array_Trait_RgbBinary_h
00003
00004 #include "Core/Array/Element/E1Cast.h"
00005
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Array
00011 {
00012 namespace Trait
00013 {
00014
00015
00019 template<class ValT>
00020 class RgbBinary
00021 {
00022 public:
00024 RgbBinary()
00025 {
00026 }
00027
00029 void
00030 DoIt(const ValT& pixV, UInt8* rgbPtr)
00031 {
00032 ValT v = Element::E1Cast(0, ValT());
00033 if (pixV == v)
00034 {
00035
00036 *rgbPtr++ = 0x00;
00037 *rgbPtr++ = 0x00;
00038 *rgbPtr++ = 0x00;
00039 }
00040 else
00041 {
00042
00043 *rgbPtr++ = 0xFF;
00044 *rgbPtr++ = 0x00;
00045 *rgbPtr++ = 0x00;
00046 }
00047 }
00048 };
00049
00050 }
00051 }
00052 }
00053 }
00054
00055 #endif