org.geotools.resources.image
Class DualRectIter

java.lang.Object
  extended byorg.geotools.resources.image.DualRectIter
All Implemented Interfaces:
javax.media.jai.iterator.RectIter, javax.media.jai.iterator.WritableRectIter

public final class DualRectIter
extends java.lang.Object
implements javax.media.jai.iterator.WritableRectIter

A WritableRectIter that take source from RectIter and write to an other WritableRectIter. This class is useful for implementing OpImage.computeRect(java.awt.image.Raster[], java.awt.image.WritableRaster, java.awt.Rectangle) methods.

Since:
2.0
Version:
$Id: DualRectIter.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux
To Do:
This implementation is referenced in a public API. Consider moving it somewhere else.

Method Summary
static javax.media.jai.iterator.WritableRectIter create(javax.media.jai.iterator.RectIter src, javax.media.jai.iterator.WritableRectIter dst)
          Create a WritableRectIter for the specified source and destination iterator.
 boolean finishedBands()
          Returns true if the max band in the image has been exceeded.
 boolean finishedLines()
          Returns true if the bottom row of the bounding rectangle has been passed.
 boolean finishedPixels()
          Returns true if the right edge of the bounding rectangle has been passed.
 double[] getPixel(double[] array)
          Returns the samples of the current pixel from the image in an array of double.
 float[] getPixel(float[] array)
          Returns the samples of the current pixel from the image in an array of float.
 int[] getPixel(int[] array)
          Returns the samples of the current pixel from the image in an array of int.
 int getSample()
          Returns the current sample as an integer.
 int getSample(int b)
          Returns the specified sample of the current pixel as an integer.
 double getSampleDouble()
          Returns the current sample as a double.
 double getSampleDouble(int b)
          Returns the specified sample of the current pixel as a double.
 float getSampleFloat()
          Returns the current sample as a float.
 float getSampleFloat(int b)
          Returns the specified sample of the current pixel as a float.
 void jumpLines(int num)
          Jumps downward num lines from the current position.
 void jumpPixels(int num)
          Jumps rightward num pixels from the current position.
 void nextBand()
          Sets the iterator to the next band in the image.
 boolean nextBandDone()
          Sets the iterator to the next band in the image, and returns true if the max band has been exceeded.
 void nextLine()
          Sets the iterator to the next line of the image.
 boolean nextLineDone()
          Sets the iterator to the next line in the image, and returns true if the bottom row of the bounding rectangle has been passed.
 void nextPixel()
          Sets the iterator to the next pixel in image (that is, move rightward).
 boolean nextPixelDone()
          Sets the iterator to the next pixel in the image (that is, move rightward).
 void setPixel(double[] array)
          Sets all samples of the current pixel to a set of double values.
 void setPixel(float[] array)
          Sets all samples of the current pixel to a set of float values.
 void setPixel(int[] array)
          Sets all samples of the current pixel to a set of int values.
 void setSample(double s)
          Sets the current sample to a double value.
 void setSample(float s)
          Sets the current sample to a float value.
 void setSample(int s)
          Sets the current sample to an integral value.
 void setSample(int b, double s)
          Sets the specified sample of the current pixel to a double value.
 void setSample(int b, float s)
          Sets the specified sample of the current pixel to a float value.
 void setSample(int b, int s)
          Sets the specified sample of the current pixel to an integral value.
 void startBands()
          Sets the iterator to the first band of the image.
 void startLines()
          Sets the iterator to the first line of its bounding rectangle.
 void startPixels()
          Sets the iterator to the leftmost pixel of its bounding rectangle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static javax.media.jai.iterator.WritableRectIter create(javax.media.jai.iterator.RectIter src,
                                                               javax.media.jai.iterator.WritableRectIter dst)
Create a WritableRectIter for the specified source and destination iterator. The two iterators must iterate over a rectangle of the same size, otherwise a RasterFormatException may be thrown during the iteration.

Parameters:
src - The source iterator.
dst - The destination iterator.
Returns:
An iterator that read sample from and write sample to . If , then the destination iterator itself is returned.

startLines

public void startLines()
Sets the iterator to the first line of its bounding rectangle.

Specified by:
startLines in interface javax.media.jai.iterator.RectIter

startPixels

public void startPixels()
Sets the iterator to the leftmost pixel of its bounding rectangle.

Specified by:
startPixels in interface javax.media.jai.iterator.RectIter

startBands

public void startBands()
Sets the iterator to the first band of the image.

Specified by:
startBands in interface javax.media.jai.iterator.RectIter

jumpLines

public void jumpLines(int num)
Jumps downward num lines from the current position.

Specified by:
jumpLines in interface javax.media.jai.iterator.RectIter

jumpPixels

public void jumpPixels(int num)
Jumps rightward num pixels from the current position.

Specified by:
jumpPixels in interface javax.media.jai.iterator.RectIter

nextLine

public void nextLine()
Sets the iterator to the next line of the image.

Specified by:
nextLine in interface javax.media.jai.iterator.RectIter

nextPixel

public void nextPixel()
Sets the iterator to the next pixel in image (that is, move rightward).

Specified by:
nextPixel in interface javax.media.jai.iterator.RectIter

nextBand

public void nextBand()
Sets the iterator to the next band in the image.

Specified by:
nextBand in interface javax.media.jai.iterator.RectIter

nextLineDone

public boolean nextLineDone()
Sets the iterator to the next line in the image, and returns true if the bottom row of the bounding rectangle has been passed.

Specified by:
nextLineDone in interface javax.media.jai.iterator.RectIter

nextPixelDone

public boolean nextPixelDone()
Sets the iterator to the next pixel in the image (that is, move rightward).

Specified by:
nextPixelDone in interface javax.media.jai.iterator.RectIter

nextBandDone

public boolean nextBandDone()
Sets the iterator to the next band in the image, and returns true if the max band has been exceeded.

Specified by:
nextBandDone in interface javax.media.jai.iterator.RectIter

finishedLines

public boolean finishedLines()
Returns true if the bottom row of the bounding rectangle has been passed.

Specified by:
finishedLines in interface javax.media.jai.iterator.RectIter

finishedPixels

public boolean finishedPixels()
Returns true if the right edge of the bounding rectangle has been passed.

Specified by:
finishedPixels in interface javax.media.jai.iterator.RectIter

finishedBands

public boolean finishedBands()
Returns true if the max band in the image has been exceeded.

Specified by:
finishedBands in interface javax.media.jai.iterator.RectIter

getPixel

public int[] getPixel(int[] array)
Returns the samples of the current pixel from the image in an array of int.

Specified by:
getPixel in interface javax.media.jai.iterator.RectIter

getPixel

public float[] getPixel(float[] array)
Returns the samples of the current pixel from the image in an array of float.

Specified by:
getPixel in interface javax.media.jai.iterator.RectIter

getPixel

public double[] getPixel(double[] array)
Returns the samples of the current pixel from the image in an array of double.

Specified by:
getPixel in interface javax.media.jai.iterator.RectIter

getSample

public int getSample()
Returns the current sample as an integer.

Specified by:
getSample in interface javax.media.jai.iterator.RectIter

getSample

public int getSample(int b)
Returns the specified sample of the current pixel as an integer.

Specified by:
getSample in interface javax.media.jai.iterator.RectIter

getSampleFloat

public float getSampleFloat()
Returns the current sample as a float.

Specified by:
getSampleFloat in interface javax.media.jai.iterator.RectIter

getSampleFloat

public float getSampleFloat(int b)
Returns the specified sample of the current pixel as a float.

Specified by:
getSampleFloat in interface javax.media.jai.iterator.RectIter

getSampleDouble

public double getSampleDouble()
Returns the current sample as a double.

Specified by:
getSampleDouble in interface javax.media.jai.iterator.RectIter

getSampleDouble

public double getSampleDouble(int b)
Returns the specified sample of the current pixel as a double.

Specified by:
getSampleDouble in interface javax.media.jai.iterator.RectIter

setPixel

public void setPixel(int[] array)
Sets all samples of the current pixel to a set of int values.

Specified by:
setPixel in interface javax.media.jai.iterator.WritableRectIter

setPixel

public void setPixel(float[] array)
Sets all samples of the current pixel to a set of float values.

Specified by:
setPixel in interface javax.media.jai.iterator.WritableRectIter

setPixel

public void setPixel(double[] array)
Sets all samples of the current pixel to a set of double values.

Specified by:
setPixel in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(int s)
Sets the current sample to an integral value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(float s)
Sets the current sample to a float value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(double s)
Sets the current sample to a double value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(int b,
                      int s)
Sets the specified sample of the current pixel to an integral value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(int b,
                      float s)
Sets the specified sample of the current pixel to a float value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter

setSample

public void setSample(int b,
                      double s)
Sets the specified sample of the current pixel to a double value.

Specified by:
setSample in interface javax.media.jai.iterator.WritableRectIter


Copyright © GeoTools. All Rights Reserved.