MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
00001 /* $Id$ */ 00002 /* ////////////////////////////////////////////////////////////////////////// 00003 // // 00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, // 00005 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00006 // prohibited. Access to and use of this code is permitted only under // 00007 // license from LizardTech, Inc. Portions of the code are protected by // 00008 // US and foreign patents and other filings. All Rights Reserved. // 00009 // // 00011 /* PUBLIC */ 00012 00013 #ifndef LTI_NAVIGATOR_H 00014 #define LTI_NAVIGATOR_H 00015 00016 // lt_lib_mrsid_core 00017 #include "lti_scene.h" 00018 #include "lti_geoCoord.h" 00019 00020 00021 LT_BEGIN_NAMESPACE(LizardTech) 00022 00023 00024 00030 class LTINavigator : public LTIScene 00031 { 00032 LT_DISALLOW_COPY_CONSTRUCTOR(LTINavigator); 00033 public: 00039 typedef enum 00040 { 00041 STYLE_LAX = 1, 00042 STYLE_STRICT = 2, 00043 STYLE_CLIP = 3 00044 } Style; 00045 00046 public: 00055 LTINavigator(const LTIImage& image); 00056 00065 LTINavigator(const LTIImage& image, 00066 const LTIScene& scene); 00067 00071 ~LTINavigator(); 00072 00078 const LTIImage& getImage() const; 00079 00089 bool isSceneValid() const; 00090 00102 LT_STATUS moveBy(double xDelta, double yDelta, Style style); 00103 00115 LT_STATUS moveTo(double x, double y, Style style); 00116 00131 LT_STATUS zoomBy(double delta, Style style); 00132 00146 LT_STATUS zoomTo(double mag, Style style); 00147 00165 LT_STATUS bestFit(double maxWidth, double maxHeight, LTIScene& newScene); 00166 00173 void roundScene(); 00174 00183 bool clipToImage(); 00184 00193 bool clipToScene(const LTIScene& scene); 00194 00204 LT_STATUS setScene(const LTIScene& scene, Style style); 00205 00206 00215 LT_STATUS setSceneToIcon(); 00216 00217 00226 LT_STATUS setSceneToFull(); 00227 00228 00239 const LTIScene& getScene() const; 00240 00248 LTIGeoCoord getGeoCoord() const; 00249 00254 00268 LT_STATUS setSceneAsULWH(double upperLeftX, double upperLeftY, 00269 double width, double height, 00270 double magnification); 00271 00285 LT_STATUS setSceneAsULLR(double upperLeftX, double upperLeftY, 00286 double lowerRightX, double lowerRightY, 00287 double magnification); 00288 00302 LT_STATUS setSceneAsCWH(double centerX, double centerY, 00303 double width, double height, 00304 double magnification); 00312 00327 LT_STATUS setSceneAsGeoULWH(double upperLeftX, double upperLeftY, 00328 double width, double height, 00329 double magnification); 00330 00345 LT_STATUS setSceneAsGeoULLR(double upperLeftX, double upperLeftY, 00346 double lowerRightX, double lowerRightY, 00347 double magnification); 00348 00363 LT_STATUS setSceneAsGeoCWH(double centerX, double centerY, 00364 double width, double height, 00365 double magnification); 00368 protected: 00369 const LTIImage& m_image; 00370 }; 00371 00372 00373 LT_END_NAMESPACE(LizardTech) 00374 00375 00376 #endif // LTI_NAVIGATOR_H