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