SPATMOD::IMAGE::SECTION_ITERATOR Class Reference

Iterator to process a specified section in subsections. More...

#include <spatmod/imagesection.h>

List of all members.

Public Member Functions

 SECTION_ITERATOR ()
 ~SECTION_ITERATOR ()
void Begin ()
ERRVALUE Begin (const SECTION &TotalSection, const BASE &TargetImage, const BASE &SourceImage, double StripSizeY=0)
ERRVALUE Begin (const SECTION &TotalSection, const BASE &Image, double StripSizeY=0)
ERRVALUE Begin (const SECTION &TotalSection, double StripSizeY, double InteriorTileSizeX, double InteriorTileSizeY, double FirstTileSizeX=0, double FirstTileSizeY=0, double LastTileSizeX=0, double LastTileSizeY=0, double FirstStripSizeY=0)
ERRVALUE Begin (const SECTION &TotalSection, const SPANS &SpansX, const SPANS &SpansY, double StripSizeY=0, double FirstStripSizeY=0)
ERRVALUE Begin (const SECTION &TotalSection, double StripSizeY)
INT32 ComputeMaxSubSectionColumns () const
INT32 ComputeMaxSubSectionRows () const
double ComputeMaxSubSectionSizeX () const
double ComputeMaxSubSectionSizeY () const
INT32 ComputeNumIterations () const
double GetFirstStripSizeY () const
double GetFirstTileSizeX () const
double GetFirstTileSizeY () const
double GetInteriorTileSizeX () const
double GetInteriorTileSizeY () const
double GetLastTileSizeX () const
double GetLastTileSizeY () const
double GetMinX () const
double GetMinY () const
UINT32 GetNumColumnsOfTiles () const
UINT32 GetNumRowsOfTiles () const
const SPANSGetSpansX () const
const SPANSGetSpansY () const
double GetStripSizeY () const
const SECTIONGetTotalSection () const
bool IsEnd () const
bool IsIrregular () const
bool IsTileAligned (const DIMENSIONS &dimensions) const
const SECTIONoperator* () const
SECTION_ITERATORoperator++ ()
const SECTIONoperator-> () const
void SetIrregular (const SECTION &TotalSection, UINT32 MaxColumns, UINT32 MaxRows)

Detailed Description

Iterator to process a specified section in subsections.

Can iterate by strips, tiles or strips within tiles. When iterating by tiles, all tiles in a tile-row are processed before any tiles in the next tile-row. If tiles are further divided by strips all strips in one tile are processed before moving to the next tile. It is up to the caller to ensure that the subsection size is small enough to fit in a memory buffer when eventually used for read/write access.


Constructor & Destructor Documentation

SPATMOD::IMAGE::SECTION_ITERATOR::SECTION_ITERATOR (  ) 

Construct empty iterator.

SPATMOD::IMAGE::SECTION_ITERATOR::~SECTION_ITERATOR (  ) 

Destructor.


Member Function Documentation

void SPATMOD::IMAGE::SECTION_ITERATOR::Begin (  ) 

Restart iterator at beginning using previous section settings.

ERRVALUE SPATMOD::IMAGE::SECTION_ITERATOR::Begin ( const SECTION TotalSection,
const BASE TargetImage,
const BASE SourceImage,
double  StripSizeY = 0 
)

Start iterator with optimal sequence based on source and target image capabilities.

Source and target image must have same total dimensions.

Parameters:
TotalSection Total section to iterate through
TargetImage Target image
SourceImage Source image
StripSizeY Size of strip, 0 for default based on tile size and sequence
ERRVALUE SPATMOD::IMAGE::SECTION_ITERATOR::Begin ( const SECTION TotalSection,
const BASE Image,
double  StripSizeY = 0 
)

Start iterator with tile properties obtained from image.

Will also determine proper alignment of tiles if total section does not cover entire image

Parameters:
TotalSection Total section to iterate through
Image Image to obtain tile properties from
StripSizeY Size of strip, 0 if processing whole tiles
ERRVALUE SPATMOD::IMAGE::SECTION_ITERATOR::Begin ( const SECTION TotalSection,
double  StripSizeY,
double  InteriorTileSizeX,
double  InteriorTileSizeY,
double  FirstTileSizeX = 0,
double  FirstTileSizeY = 0,
double  LastTileSizeX = 0,
double  LastTileSizeY = 0,
double  FirstStripSizeY = 0 
)

Start iterator with values for tile or tile/strip sequence.

Parameters:
TotalSection Total section to iterate through
StripSizeY Size of strip, 0 if processing whole tiles
InteriorTileSizeX X tile size
InteriorTileSizeY Y tile size
FirstTileSizeX X size for first tile if different, 0 if same
FirstTileSizeY Y size for first tile if different, 0 if same
LastTileSizeX X size for last tile if different, 0 to compute
LastTileSizeY Y size for last tile if different, 0 to compute
FirstStripSizeY Y size of first strip if different, 0 if same
ERRVALUE SPATMOD::IMAGE::SECTION_ITERATOR::Begin ( const SECTION TotalSection,
const SPANS SpansX,
const SPANS SpansY,
double  StripSizeY = 0,
double  FirstStripSizeY = 0 
)

Start iterator with values for tile or tile/strip sequence.

Parameters:
TotalSection Total section to iterate through
SpansX X spans, size must match total section
SpansY Y spans, size must match total section
StripSizeY Size of strip, 0 if processing whole tiles
FirstStripSizeY Y size of first strip if different, 0 if same
ERRVALUE SPATMOD::IMAGE::SECTION_ITERATOR::Begin ( const SECTION TotalSection,
double  StripSizeY 
)

Start iterator with values for strip sequence.

Parameters:
TotalSection Total section to iterate through
StripSizeY Size of strip
INT32 SPATMOD::IMAGE::SECTION_ITERATOR::ComputeMaxSubSectionColumns (  )  const

Compute maximum subsection columns.

INT32 SPATMOD::IMAGE::SECTION_ITERATOR::ComputeMaxSubSectionRows (  )  const

Compute maximum subsection rows.

double SPATMOD::IMAGE::SECTION_ITERATOR::ComputeMaxSubSectionSizeX (  )  const

Compute maximum subsection X size.

double SPATMOD::IMAGE::SECTION_ITERATOR::ComputeMaxSubSectionSizeY (  )  const

Compute maximum subsection Y size.

INT32 SPATMOD::IMAGE::SECTION_ITERATOR::ComputeNumIterations (  )  const

Compute total number of iterations.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetFirstStripSizeY (  )  const [inline]

Get Y size of first strip.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetFirstTileSizeX (  )  const [inline]

Get X size of first tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetFirstTileSizeY (  )  const [inline]

Get Y size of first tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetInteriorTileSizeX (  )  const [inline]

Get X size of interior tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetInteriorTileSizeY (  )  const [inline]

Get Y size of interior tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetLastTileSizeX (  )  const [inline]

Get X size of last tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetLastTileSizeY (  )  const [inline]

Get Y size of last tile.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetMinX (  )  const [inline]

Get minimum X position.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetMinY (  )  const [inline]

Get minimum Y position.

UINT32 SPATMOD::IMAGE::SECTION_ITERATOR::GetNumColumnsOfTiles (  )  const [inline]

Get number of columns of tiles.

UINT32 SPATMOD::IMAGE::SECTION_ITERATOR::GetNumRowsOfTiles (  )  const [inline]

Get number of rows of tiles.

const SPANS& SPATMOD::IMAGE::SECTION_ITERATOR::GetSpansX (  )  const [inline]

Get X span values.

const SPANS& SPATMOD::IMAGE::SECTION_ITERATOR::GetSpansY (  )  const [inline]

Get Y span values.

double SPATMOD::IMAGE::SECTION_ITERATOR::GetStripSizeY (  )  const [inline]

Get strip Y size.

const SECTION& SPATMOD::IMAGE::SECTION_ITERATOR::GetTotalSection (  )  const [inline]

Get total section which was specified in Begin().

bool SPATMOD::IMAGE::SECTION_ITERATOR::IsEnd (  )  const [inline]

Check if at end.

bool SPATMOD::IMAGE::SECTION_ITERATOR::IsIrregular (  )  const [inline]

Determine if iterator is irregular.

bool SPATMOD::IMAGE::SECTION_ITERATOR::IsTileAligned ( const DIMENSIONS dimensions  )  const

Determine if iterator tiles align with image dimensions.

Parameters:
dimensions Image dimensions
const SECTION& SPATMOD::IMAGE::SECTION_ITERATOR::operator* (  )  const [inline]

Dereference operator, returns reference to SECTION.

SECTION_ITERATOR& SPATMOD::IMAGE::SECTION_ITERATOR::operator++ (  ) 

Pre-increment operator.

const SECTION* SPATMOD::IMAGE::SECTION_ITERATOR::operator-> (  )  const [inline]

Dereference operator, returns pointer to SECTION.

void SPATMOD::IMAGE::SECTION_ITERATOR::SetIrregular ( const SECTION TotalSection,
UINT32  MaxColumns,
UINT32  MaxRows 
)

Set iterator as irregular.

An irregular iterator cannot does not support simple increment, the owner is responsible for computing the actual section needed at each iteration.

Parameters:
TotalSection Total section to iterate through
MaxColumns Maximum columns
MaxRows Maximum rows

The documentation for this class was generated from the following file:

Generated on Sun Oct 7 21:40:03 2012 for TNTsdk 2012 by  doxygen 1.6.1