MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
lti_navigator.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef LTI_NAVIGATOR_H
14 #define LTI_NAVIGATOR_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_scene.h"
18 #include "lti_geoCoord.h"
19 
20 
21 LT_BEGIN_NAMESPACE(LizardTech)
22 
23 
24 
30 class LTINavigator : public LTIScene
31 {
32  LT_DISALLOW_COPY_CONSTRUCTOR(LTINavigator);
33 public:
39  typedef enum
40  {
41  STYLE_LAX = 1,
42  STYLE_STRICT = 2,
43  STYLE_CLIP = 3
44  } Style;
45 
46 public:
55  LTINavigator(const LTIImage& image);
56 
65  LTINavigator(const LTIImage& image,
66  const LTIScene& scene);
67 
71  ~LTINavigator();
72 
78  const LTIImage& getImage() const;
79 
89  bool isSceneValid() const;
90 
102  LT_STATUS moveBy(double xDelta, double yDelta, Style style);
103 
115  LT_STATUS moveTo(double x, double y, Style style);
116 
131  LT_STATUS zoomBy(double delta, Style style);
132 
146  LT_STATUS zoomTo(double mag, Style style);
147 
165  LT_STATUS bestFit(double maxWidth, double maxHeight, LTIScene& newScene);
166 
173  void roundScene();
174 
183  bool clipToImage();
184 
193  bool clipToScene(const LTIScene& scene);
194 
204  LT_STATUS setScene(const LTIScene& scene, Style style);
205 
206 
215  LT_STATUS setSceneToIcon();
216 
217 
226  LT_STATUS setSceneToFull();
227 
228 
239  const LTIScene& getScene() const;
240 
248  LTIGeoCoord getGeoCoord() const;
249 
254 
268  LT_STATUS setSceneAsULWH(double upperLeftX, double upperLeftY,
269  double width, double height,
270  double magnification);
271 
285  LT_STATUS setSceneAsULLR(double upperLeftX, double upperLeftY,
286  double lowerRightX, double lowerRightY,
287  double magnification);
288 
302  LT_STATUS setSceneAsCWH(double centerX, double centerY,
303  double width, double height,
304  double magnification);
312 
327  LT_STATUS setSceneAsGeoULWH(double upperLeftX, double upperLeftY,
328  double width, double height,
329  double magnification);
330 
345  LT_STATUS setSceneAsGeoULLR(double upperLeftX, double upperLeftY,
346  double lowerRightX, double lowerRightY,
347  double magnification);
348 
363  LT_STATUS setSceneAsGeoCWH(double centerX, double centerY,
364  double width, double height,
365  double magnification);
368 protected:
370 };
371 
372 
373 LT_END_NAMESPACE(LizardTech)
374 
375 
376 #endif // LTI_NAVIGATOR_H
representation of a scene
Definition: lti_scene.h:64
const LTIImage & m_image
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
represents a geographic coordinate
Definition: lti_geoCoord.h:32
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
abstract class representing an image
Definition: lti_image.h:32
provides LTIScene movement control
Definition: lti_navigator.h:30
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84

LizardTech