com.esri.arcgis.datasourcesraster
Interface IPixelBlockCursor

All Superinterfaces:
Serializable
All Known Implementing Classes:
PixelBlockCursor

public interface IPixelBlockCursor
extends Serializable

Provides access to members that control pixel block cursor.

Remarks

A legacy interface in ArcGIS 9.2

The IPixelBlockCursor interface controls iteration through the pixel blocks of a Raster and a RasterBand.

The InitByRawPixels method initializes a PixelBlock from a RasterBand by specifying the pixel block size.

The InitByRaster method initializes the PixelBlock from a Raster. The size of the PixelBlock is determined automatically when creating from a Raster.

GetBlockSize returns the size of the current pixel block.

NextBlock retrieves the next pixel block, the location of upper-left corner of the pixel block in pixel space, and size of the pixel block.

The ScanMode, a write-only property, specifies the pixel block scan mode. The default is line mode. If you wish to change the scan mode, this property must be set immediately after initializing pixel block (calling InitByRawPixels or InitByRaster). The supported 4 scan modes are Line, LineSerpent, Serpent, and alaGIF, with values 0, 1, 3, and 4 respectively.

The UpdateBlockSize method changes the pixel block size for retrieving the next pixel block. This should be used only when reading pixel block from a Raster.

When iterating through the pixel blocks in a RasterBand, you must specify the size of the pixel block at the time of initiating it. After initiation, the size of the pixel block is fixed. When iterating through the pixel blocks in a Raster, the size of the pixel block is determined automatically at the time of initiation. You can modify it later on.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux


Method Summary
 void getBlockSize(int[] pBlockSizeX, int[] pBlockSizeY)
          Gets the cursor block size.
 void initByRaster(IRaster pRaster)
          Initializes the cursor by the raster interface.
 void initByRawPixels(IRawPixels pRowPixels, int blockSizeX, int blockSizeY)
          Initializes the cursor by the raw pixel interface.
 IPixelBlock nextBlock(int[] pLeft, int[] pTop, int[] pSizeX, int[] pSizeY)
          Obtains the next pixel block from the cursor.
 void setScanMode(int rhs1)
          The cursor scan mode: Line = 0, LineSerpent = 1, Serpent2 = 3, alaGIF = 4.
 void updateBlockSize(int blockSizeX, int blockSizeY)
          Updates the cursor block size.
 

Method Detail

initByRawPixels

void initByRawPixels(IRawPixels pRowPixels,
                     int blockSizeX,
                     int blockSizeY)
                     throws IOException,
                            AutomationException
Initializes the cursor by the raw pixel interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pRowPixels - A reference to a com.esri.arcgis.datasourcesraster.IRawPixels (in)
blockSizeX - The blockSizeX (in)
blockSizeY - The blockSizeY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initByRaster

void initByRaster(IRaster pRaster)
                  throws IOException,
                         AutomationException
Initializes the cursor by the raster interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateBlockSize

void updateBlockSize(int blockSizeX,
                     int blockSizeY)
                     throws IOException,
                            AutomationException
Updates the cursor block size.

Remarks

This should be used only when reading a PixelBlock from a Raster.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
blockSizeX - The blockSizeX (in)
blockSizeY - The blockSizeY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBlockSize

void getBlockSize(int[] pBlockSizeX,
                  int[] pBlockSizeY)
                  throws IOException,
                         AutomationException
Gets the cursor block size.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pBlockSizeX - The pBlockSizeX (in/out: use single element array)
pBlockSizeY - The pBlockSizeY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScanMode

void setScanMode(int rhs1)
                 throws IOException,
                        AutomationException
The cursor scan mode: Line = 0, LineSerpent = 1, Serpent2 = 3, alaGIF = 4.

Remarks

The supported 4 scan modes are Line, LineSerpent, Serpent, and alaGIF, with value 0,1,3, and 4 respectively. The default is line mode.

If you wish to change the scan mode, this property must be set immedietly after initializing the pixel block (calling InitByRawPixels or InitByRaster).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

nextBlock

IPixelBlock nextBlock(int[] pLeft,
                      int[] pTop,
                      int[] pSizeX,
                      int[] pSizeY)
                      throws IOException,
                             AutomationException
Obtains the next pixel block from the cursor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pLeft - The pLeft (in/out: use single element array)
pTop - The pTop (in/out: use single element array)
pSizeX - The pSizeX (in/out: use single element array)
pSizeY - The pSizeY (in/out: use single element array)
Returns:
A reference to a com.esri.arcgis.geodatabase.IPixelBlock
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.