00001 00002 #ifndef __LASMODULEPROFILE_H 00003 #define __LASMODULEPROFILE_H 00004 00005 #include <vector> 00006 00007 00008 class LASModuleProfile { 00013 00014 public: 00015 LASModuleProfile(); 00016 LASModuleProfile( double* ); 00017 LASModuleProfile( int* ); 00018 void SetData( double* ); 00019 void SetData( int* ); 00020 double GetValue( unsigned int theStripNumber ) const { return( data[theStripNumber] ); } // return an element 00021 void SetValue( unsigned int theStripNumber, const double& theValue ) { data.at( theStripNumber ) = theValue; } 00022 void SetAllValuesTo( const double& ); 00023 void DumpToArray( double[512] ); 00024 LASModuleProfile& operator=( const LASModuleProfile& ); 00025 LASModuleProfile operator+( const LASModuleProfile& ); 00026 LASModuleProfile operator-( const LASModuleProfile& ); 00027 LASModuleProfile operator+( const double[512] ); 00028 LASModuleProfile operator-( const double[512] ); 00029 LASModuleProfile& operator+=( const LASModuleProfile& ); 00030 LASModuleProfile& operator-=( const LASModuleProfile& ); 00031 LASModuleProfile& operator+=( const double[512] ); 00032 LASModuleProfile& operator-=( const double[512] ); 00033 LASModuleProfile& operator+=( const int[512] ); 00034 LASModuleProfile& operator-=( const int[512] ); 00035 LASModuleProfile& operator/=( const double ); 00036 00037 private: 00038 void Init( void ); 00039 std::vector<double> data; 00040 00041 }; 00042 00043 #endif