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_SCENE_H 00014 #define LTI_SCENE_H 00015 00016 // lt_lib_mrsid_core 00017 #include "lti_types.h" 00018 #include "lti_geometry.h" 00019 00020 LT_BEGIN_NAMESPACE(LizardTech) 00021 00022 00023 00064 class LTIScene 00065 { 00066 public: 00078 LTIScene(double ulX, double ulY, 00079 double width, double height, 00080 double magnification); 00081 00085 LTIScene(const LTIScene& copy); 00086 00093 LTIScene(void); 00094 00095 LTIScene(const LTIGeomIntRect &rect, double magnification); 00096 LTIGeomIntRect getRect(void) const; 00097 00101 LTIScene& operator=(const LTIScene&); 00102 00106 bool operator==(const LTIScene&) const; 00107 00111 bool operator!=(const LTIScene&) const; 00112 00113 00121 double getMag() const; 00122 00123 00128 00136 double getUpperLeftX() const; 00137 00145 double getUpperLeftY() const; 00146 00154 double getLowerRightX() const; 00155 00163 double getLowerRightY() const; 00164 00172 double getUpperRightX() const; 00173 00181 double getUpperRightY() const; 00182 00190 double getLowerLeftX() const; 00191 00199 double getLowerLeftY() const; 00200 00208 double getCenterX() const; 00209 00217 double getCenterY() const; 00218 00230 00238 lt_int32 getUpperLeftCol() const; 00239 00247 lt_int32 getUpperLeftRow() const; 00248 00256 lt_int32 getLowerRightCol() const; 00257 00265 lt_int32 getLowerRightRow() const; 00266 00274 lt_int32 getUpperRightCol() const; 00275 00283 lt_int32 getUpperRightRow() const; 00284 00292 lt_int32 getLowerLeftCol() const; 00293 00301 lt_int32 getLowerLeftRow() const; 00302 00310 lt_int32 getCenterCol() const; 00311 00319 lt_int32 getCenterRow() const; 00320 00329 00337 double getWidth() const; 00338 00346 double getHeight() const; 00347 00355 lt_int32 getNumCols() const; 00356 00364 lt_int32 getNumRows() const; 00365 00374 00383 double getX() const; 00384 00393 double getY() const; 00394 00406 void getPoints(double& ulX, double& ulY, 00407 double& lrX, double& lrY) const; 00408 00426 void getPoints(double& ulX, double& ulY, 00427 double& urX, double& urY, 00428 double& llX, double& llY, 00429 double& lrX, double& lrY, 00430 double& cX, double& cY) const; 00431 00443 void getPoints(lt_int32& ulX, lt_int32& ulY, 00444 lt_int32& lrX, lt_int32& lrY) const; 00445 00463 void getPoints(lt_int32& ulX, lt_int32& ulY, 00464 lt_int32& urX, lt_int32& urY, 00465 lt_int32& llX, lt_int32& llY, 00466 lt_int32& lrX, lt_int32& lrY, 00467 lt_int32& cX, lt_int32& cY) const; 00476 LTIScene clip(double width, double height) const; 00477 00478 00479 00480 00481 00482 protected: 00483 double m_ulX, m_ulY; 00484 double m_width, m_height; 00485 double m_magnification; 00486 00487 private: 00488 lt_int32 getHalfWidth_i() const; 00489 lt_int32 getHalfHeight_i() const; 00490 }; 00491 00492 00493 LT_END_NAMESPACE(LizardTech) 00494 00495 00496 #endif // LTI_SCENE_H