00001 #ifndef vnl_int_matrix_h_ 00002 #define vnl_int_matrix_h_ 00003 00004 // This is vxl/vnl/vnl_int_matrix.h 00005 00006 //: \file 00007 // \brief Specializes vnl_matrix for integers 00008 // \author Andrew W. Fitzgibbon, Oxford RRG, 27 Dec 96 00009 00010 // Modifications: 00011 // LSB (Manchester) 23/3/01 Tidied documentation 00012 // 00013 //----------------------------------------------------------------------------- 00014 00015 #include <vnl/vnl_matrix.h> 00016 00017 //: Specializes vnl_matrix for integers, adding a vnl_matrix<double> ctor. 00018 class vnl_int_matrix : public vnl_matrix<int> { 00019 typedef vnl_matrix<int> Base; 00020 public: 00021 00022 vnl_int_matrix() {} 00023 vnl_int_matrix(char const* filename); 00024 vnl_int_matrix(vcl_istream& s); 00025 vnl_int_matrix(unsigned r, unsigned c): Base(r, c) {} 00026 vnl_int_matrix(unsigned r, unsigned c, int fillvalue): Base(r, c, fillvalue) {} 00027 vnl_int_matrix(const vnl_matrix<double>& d); 00028 vnl_int_matrix(const vnl_matrix<int>& d):Base(d) {} 00029 vnl_int_matrix& operator = (const vnl_matrix<int>& d) { return (vnl_int_matrix&)Base::operator = (d); } 00030 }; 00031 00032 #endif // vnl_int_matrix_h_