00001 #ifndef _IGS_IMAGEFLOAT3_H_ 00002 #define _IGS_IMAGEFLOAT3_H_ 00003 00004 #include "IGS_Image.h" 00005 #include "IGS_Color.h" 00006 00007 class IGS_ImageFloat1; 00008 00009 class IGS_ImageFloat3: 00010 public IGS_Image 00011 { 00012 public: 00013 IGS_ImageFloat3(); 00014 ~IGS_ImageFloat3(); 00015 void FileSave( const char* filename ) const; 00016 void FileLoad( const char* filename ); 00017 virtual const void* const GetBuffer() const; 00018 virtual void*& GetBuffer(); 00019 IGS_Color GetPixel( const int x, const int y ) const; 00020 float& GetChannel( int channelNum, int x, int y ); 00021 const float& GetChannel( int channelNum, int x, int y ) const; 00022 virtual void Initialize(); 00023 IGS_ImageFloat3& operator =( const IGS_ImageFloat3& right ); 00024 IGS_ImageFloat3& operator =( const IGS_Color& color ); 00025 IGS_ImageFloat3& operator *=( const IGS_ImageFloat1& right ); 00026 void PutPixel( const int x, const int y, const IGS_Color& color ); 00027 protected: 00028 float* pixels; 00029 }; 00030 00031 #endif