00001 00013 #ifndef __IMAGEINTERFACE_H 00014 #define __IMAGEINTERFACE_H 00015 00016 #include "glimsproject.h" 00017 00018 #include <qimage.h> 00019 00020 00021 class ImageInterface { 00022 00023 protected: 00024 00025 static bool instanceFlag;//true if an instance has been made 00026 static ImageInterface* instance;//pointer to the instance, if there is one 00027 00033 ImageInterface( GLIMSProject *proj ); 00034 00035 GLIMSProject *mProj; //the project 00036 00042 Image* getImage(); 00043 00048 ImageFormat* getImageFormat(); 00049 00060 std::vector<double>* getValueAsDouble(void* vals, int bandnum, int width); 00061 00062 public: 00063 00064 00065 00073 static ImageInterface* getInterface(GLIMSProject* proj); 00074 00075 static void destroyInterface(); 00076 00077 ~ImageInterface(); 00078 00091 std::vector<double>* getCubeLatLong(double lat1, double lon1, int z1, double lat2, double lon2, int z2); 00092 00106 std::vector<double>* getCube(int x1, int y1, int z1, int x2, int y2, int z2); 00107 00119 std::vector<double>* getCubeAllBands(int x1, int y1, int x2, int y2); 00120 00135 std::vector<double>* getSlice(int x1, int y1, int z1, int x2, int y2, int z2); 00136 00137 00154 std::vector<double>* getSliceScaled(int x1, int y1, int z1, int x2, int y2, int z2); 00155 00156 00164 std::vector<double>* getPoint(int x1, int y1, int z1); 00165 00170 int getBands(); 00171 00176 int getHeight(); 00177 00182 int getWidth(); 00183 00188 char* getPath(); 00189 00198 QImage* getQImage(int neww, int newh); 00199 00213 QImage* getQImageArea(int x, int y, int w, int h, int neww, int newh); 00214 00219 std::vector<std::string> getBandNames(); 00220 00229 void getLL( int band, double &x, double &y); 00230 00239 void getXY( int band, double &lat, double &lon); 00240 00247 std::string runDriverTest(); 00248 }; 00249 00250 #endif 00251
Home |
Search |
Disclaimers & Privacy |
Contact Us GLIMSView Maintainer: dsoltesz@usgs.gov |