MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
|
representation of a scene More...
#include <lti_scene.h>
Public Member Functions | |
LTIScene (double ulX, double ulY, double width, double height, double magnification) | |
constructor More... | |
LTIScene (const LTIScene ©) | |
copy constructor More... | |
LTIScene (void) | |
default constructor More... | |
LTIScene (const LTIGeomIntRect &rect, double magnification) | |
LTIGeomIntRect | getRect (void) const |
LTIScene & | operator= (const LTIScene &) |
assignment operator More... | |
bool | operator== (const LTIScene &) const |
equality operator More... | |
bool | operator!= (const LTIScene &) const |
equality operator More... | |
double | getMag () const |
returns the magnification of the scene More... | |
LTIScene | clip (double width, double height) const |
return a clip scene to fit an image with size (width, height) More... | |
High-precision point functions | |
double | getUpperLeftX () const |
returns the x-position of the upper-left point More... | |
double | getUpperLeftY () const |
returns the y-position of the upper-left point More... | |
double | getLowerRightX () const |
returns the x-position of the lower-right point More... | |
double | getLowerRightY () const |
returns the y-position of the lower-right point More... | |
double | getUpperRightX () const |
returns the x-position of the upper-right point More... | |
double | getUpperRightY () const |
returns the y-position of the upper-left point More... | |
double | getLowerLeftX () const |
returns the x-position of the lower-left point More... | |
double | getLowerLeftY () const |
returns the y-position of the lower-left point More... | |
double | getCenterX () const |
returns the x-position of the center point More... | |
double | getCenterY () const |
returns the x-position of the center point More... | |
Low-precision point functions | |
These functions return properly rounded integral values, to be used only when discretizing the pixels (for example to map to a buffer in memory). | |
lt_int32 | getUpperLeftCol () const |
returns the x-position of the upper-left point More... | |
lt_int32 | getUpperLeftRow () const |
returns the y-position of the upper-left point More... | |
lt_int32 | getLowerRightCol () const |
returns the x-position of the lower-right point More... | |
lt_int32 | getLowerRightRow () const |
returns the y-position of the lower-right point More... | |
lt_int32 | getUpperRightCol () const |
returns the x-position of the upper-right point More... | |
lt_int32 | getUpperRightRow () const |
returns the y-position of the upper-right point More... | |
lt_int32 | getLowerLeftCol () const |
returns the x-position of the lower-left point More... | |
lt_int32 | getLowerLeftRow () const |
returns the y-position of the lower-left point More... | |
lt_int32 | getCenterCol () const |
returns the x-position of the center point More... | |
lt_int32 | getCenterRow () const |
returns the y-position of the center point More... | |
Dimension functions | |
double | getWidth () const |
returns the width of the scene More... | |
double | getHeight () const |
returns the height of the scene More... | |
lt_int32 | getNumCols () const |
returns the width of the scene More... | |
lt_int32 | getNumRows () const |
returns the height of the scene More... | |
Helper functions | |
double | getX () const |
returns the x-position of the upper-left point More... | |
double | getY () const |
returns the y-position of the upper-left point More... | |
void | getPoints (double &ulX, double &ulY, double &lrX, double &lrY) const |
returns the (x,y) positions of the upper-left and lower-right points More... | |
void | getPoints (double &ulX, double &ulY, double &urX, double &urY, double &llX, double &llY, double &lrX, double &lrY, double &cX, double &cY) const |
returns the (x,y) positions of the center and corner points More... | |
void | getPoints (lt_int32 &ulX, lt_int32 &ulY, lt_int32 &lrX, lt_int32 &lrY) const |
returns the (x,y) positions of the upper-left and lower-right points More... | |
void | getPoints (lt_int32 &ulX, lt_int32 &ulY, lt_int32 &urX, lt_int32 &urY, lt_int32 &llX, lt_int32 &llY, lt_int32 &lrX, lt_int32 &lrY, lt_int32 &cX, lt_int32 &cY) const |
returns the (x,y) positions of the center and corner points More... | |
Protected Attributes | |
double | m_ulX |
double | m_ulY |
double | m_width |
double | m_height |
double | m_magnification |
This class represents a scene within an image. A scene contains these values:
The (X,Y) point is expressed in pixel-space (mag=1.0) coordinates, relative to the given magnification. The width and height are absolutes, i.e. they correspond to the buffer size the user expects.
The scene position and dimensions are maintained as high-precision values. Accessors are supplied to get the high-precision values as well as the properly rounded integral values (expressed in row/col form).
A mag value of 1.0 indicates full-size resolution. A mag greater than 1.0 indicates res-up (zoom in) by a factor of two: 2.0 gives an image 2x bigger, 4.0 gives an image 4x bigger, etc. A mag value less than 1.0 indicates a lower resolution: 0.5 gives a half-sized image, 0.25 gives a quarter-sized image, etc.
An LTIImageStage may not support the requested magnification: most readers only support mag=1.0, and MrSID readers only support power-of-two magnifications (0.25, 0.5, 1.0, 2.0, 4.0, etc). If the mag request cannot be returned the extraction will return an error.
An LTIScene is used to express the region of an image to be decoded via a call to LTIImageStage::decodeBegin(), etc.
As an example, consider an image which is 512x512 pixels. Then, the following scenes from the image will all contain the same upper-left point and all will be 100x100 pixels. The "granularity" (resolution) of each pixel, however, will differ.
const LTIScene scene(256, 256, 100, 100, 1.0); // center point
const LTIScene scene(512, 512, 100, 100, 2.0);
const LTIScene scene(128, 128, 100, 100, 0.5);
Definition at line 64 of file lti_scene.h.
LTIScene::LTIScene | ( | double | ulX, |
double | ulY, | ||
double | width, | ||
double | height, | ||
double | magnification | ||
) |
This constructor produces a scene set to the given parameters, using double-precision.
ulX | upper left X position of scene |
ulY | upper left Y position of scene |
width | width of scene |
height | height of scene |
magnification | resolution of scene |
LTIScene::LTIScene | ( | const LTIScene & | copy) |
LTIScene::LTIScene | ( | void | ) |
This constructor will produce a scene with "invalid" default coordinates.
LTIScene::LTIScene | ( | const LTIGeomIntRect & | rect, |
double | magnification | ||
) |
LTIScene LTIScene::clip | ( | double | width, |
double | height | ||
) | const |
width | max x value |
height | max y value |
lt_int32 LTIScene::getCenterCol | ( | ) | const |
Returns the x-position of the center point. This is a low-precision value.
lt_int32 LTIScene::getCenterRow | ( | ) | const |
Returns the y-position of the center point. This is a low-precision value.
double LTIScene::getCenterX | ( | ) | const |
Returns the x-position of the center point. This is a high-precision value.
double LTIScene::getCenterY | ( | ) | const |
Returns the x-position of the center point. This is a high-precision value.
double LTIScene::getHeight | ( | ) | const |
Returns the height of the scene. This is a high-precision value.
lt_int32 LTIScene::getLowerLeftCol | ( | ) | const |
Returns the x-position of the lower-left point. This is a low-precision value.
lt_int32 LTIScene::getLowerLeftRow | ( | ) | const |
Returns the y-position of the lower-left point. This is a low-precision value.
double LTIScene::getLowerLeftX | ( | ) | const |
Returns the x-position of the lower-left point. This is a high-precision value.
double LTIScene::getLowerLeftY | ( | ) | const |
Returns the y-position of the lower-left point. This is a high-precision value.
lt_int32 LTIScene::getLowerRightCol | ( | ) | const |
Returns the x-position of the lower-right point. This is a low-precision value.
lt_int32 LTIScene::getLowerRightRow | ( | ) | const |
Returns the y-position of the lower-right point. This is a low-precision value.
double LTIScene::getLowerRightX | ( | ) | const |
Returns the x-position of the lower-right point. This is a high-precision value.
double LTIScene::getLowerRightY | ( | ) | const |
Returns the y-position of the lower-right point. This is a high-precision value.
double LTIScene::getMag | ( | ) | const |
Returns the magnification of the scene.
lt_int32 LTIScene::getNumCols | ( | ) | const |
Returns the width of the scene. This is a low-precision value.
lt_int32 LTIScene::getNumRows | ( | ) | const |
Returns the height of the scene. This is a low-precision value.
void LTIScene::getPoints | ( | double & | ulX, |
double & | ulY, | ||
double & | lrX, | ||
double & | lrY | ||
) | const |
Returns the (x,y) positions of the upper-left and lower-right points, as high-precision values.
ulX | the upper-left x-position |
ulY | the upper-left y-position |
lrX | the lower-right x-position |
lrY | the lower-right y-position |
void LTIScene::getPoints | ( | double & | ulX, |
double & | ulY, | ||
double & | urX, | ||
double & | urY, | ||
double & | llX, | ||
double & | llY, | ||
double & | lrX, | ||
double & | lrY, | ||
double & | cX, | ||
double & | cY | ||
) | const |
Returns the (x,y) positions of the center and corner points, as high-precision values.
ulX | the upper-left x-position |
ulY | the upper-left y-position |
urX | the upper-right x-position |
urY | the upper-right y-position |
llX | the lower-left x-position |
llY | the lower-left y-position |
lrX | the lower-right x-position |
lrY | the lower-right y-position |
cX | the center x-position |
cY | the center y-position |
Returns the (x,y) positions of the upper-left and lower-right points, as low-precision values.
ulX | the upper-left x-position |
ulY | the upper-left y-position |
lrX | the lower-right x-position |
lrY | the lower-right y-position |
void LTIScene::getPoints | ( | lt_int32 & | ulX, |
lt_int32 & | ulY, | ||
lt_int32 & | urX, | ||
lt_int32 & | urY, | ||
lt_int32 & | llX, | ||
lt_int32 & | llY, | ||
lt_int32 & | lrX, | ||
lt_int32 & | lrY, | ||
lt_int32 & | cX, | ||
lt_int32 & | cY | ||
) | const |
Returns the (x,y) positions of the center and corner points, as low-precision values.
ulX | the upper-left x-position |
ulY | the upper-left y-position |
urX | the upper-right x-position |
urY | the upper-right y-position |
llX | the lower-left x-position |
llY | the lower-left y-position |
lrX | the lower-right x-position |
lrY | the lower-right y-position |
cX | the center x-position |
cY | the center y-position |
LTIGeomIntRect LTIScene::getRect | ( | void | ) | const |
lt_int32 LTIScene::getUpperLeftCol | ( | ) | const |
Returns the x-position of the upper-left point. This is a low-precision value.
lt_int32 LTIScene::getUpperLeftRow | ( | ) | const |
Returns the y-position of the upper-left point. This is a low-precision value.
double LTIScene::getUpperLeftX | ( | ) | const |
Returns the x-position of the upper-left point. This is a high-precision value.
double LTIScene::getUpperLeftY | ( | ) | const |
Returns the y-position of the upper-left point. This is a high-precision value.
lt_int32 LTIScene::getUpperRightCol | ( | ) | const |
Returns the x-position of the upper-right point. This is a low-precision value.
lt_int32 LTIScene::getUpperRightRow | ( | ) | const |
Returns the y-position of the upper-right point. This is a low-precision value.
double LTIScene::getUpperRightX | ( | ) | const |
Returns the x-position of the upper-right point. This is a high-precision value.
double LTIScene::getUpperRightY | ( | ) | const |
Returns the y-position of the upper-left point. This is a high-precision value.
double LTIScene::getWidth | ( | ) | const |
Returns the width of the scene. This is a high-precision value.
double LTIScene::getX | ( | ) | const |
Returns the x-position of the upper-left point, as a high-precision value. This returns the same value as calling getUpperLeftX().
double LTIScene::getY | ( | ) | const |
Returns the y-position of the upper-left point, as a high-precision value. This returns the same value as calling getUpperLeftY().
bool LTIScene::operator!= | ( | const LTIScene & | ) | const |
bool LTIScene::operator== | ( | const LTIScene & | ) | const |
|
protected |
Definition at line 484 of file lti_scene.h.
|
protected |
Definition at line 485 of file lti_scene.h.
|
protected |
Definition at line 483 of file lti_scene.h.
|
protected |
Definition at line 483 of file lti_scene.h.
|
protected |
Definition at line 484 of file lti_scene.h.
LizardTech |