00001 // This is core/vil1/vil1_flip_components_impl.h 00002 #ifndef vil1_flip_components_impl_h_ 00003 #define vil1_flip_components_impl_h_ 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // \author Peter Vanroose, ESAT, KULeuven. 00010 00011 #include <vil1/vil1_image.h> 00012 #include <vcl_string.h> 00013 00014 //: A view of a B,G,R image as if it were R,G,B (or the other way around) 00015 class vil1_flip_components_impl : public vil1_image_impl 00016 { 00017 public: 00018 vil1_flip_components_impl(vil1_image const &base_) : base(base_) { } 00019 00020 int planes() const { return base.planes(); } 00021 int width() const { return base.width(); } 00022 int height() const { return base.height(); } 00023 int components() const { return base.components(); } 00024 int bits_per_component() const { return base.bits_per_component(); } 00025 vil1_component_format component_format() const { return base.component_format(); } 00026 00027 vil1_image get_plane(unsigned int p) const; 00028 00029 bool get_section(void *buf, int x0, int y0, int w, int h) const; 00030 bool put_section(void const *buf, int x0, int y0, int w, int h); 00031 00032 //: Return the name of the class 00033 virtual vcl_string is_a() const; 00034 00035 //: Return true if the name of the class matches the argument 00036 virtual bool is_class(vcl_string const&) const; 00037 00038 private: 00039 vil1_image base; 00040 }; 00041 00042 #endif // vil1_flip_components_impl_h_
1.5.1