00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkVectorToRGBPixelAccessor_h
00018 #define __itkVectorToRGBPixelAccessor_h
00019
00020
00021 #include "itkRGBPixel.h"
00022 #include "itkVector.h"
00023
00024
00025 namespace itk
00026 {
00027 namespace Accessor
00028 {
00042 template <class T>
00043 class ITK_EXPORT VectorToRGBPixelAccessor
00044 {
00045 public:
00047 typedef VectorToRGBPixelAccessor Self;
00048
00051 typedef RGBPixel<T> ExternalType;
00052
00055 typedef Vector<T,3> InternalType;
00056
00058 inline void Set( InternalType & output, const ExternalType & input ) const
00059 {
00060 output[0] = input[0];
00061 output[1] = input[1];
00062 output[2] = input[2];
00063 }
00064
00066 inline const ExternalType & Get( const InternalType & input ) const
00067 {
00068 m_Temp[0] = input[0];
00069 m_Temp[1] = input[1];
00070 m_Temp[2] = input[2];
00071 return m_Temp;
00072 }
00073
00074 private:
00075 mutable ExternalType m_Temp;
00076 };
00077
00078 }
00079 }
00080
00081 #endif
00082