|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectTransfertRectIter
public class TransfertRectIter
A writable iterator that read pixel values from an image, and
write pixel values to a different image. Every get methods read values from the
source image specified at creation time. Every set
methods write values to the destination image specified at creation time, which may or may not be the same than the source image. This is
different than the usual WritableRectIter contract, which read and write values in
the same image.
The create(...) methods return an instance of TransfertRectIter only if the
source and target rasters are different. Callers can use this contract for optimizing their
code. For example implementations of PointOpImage that copy some
pixel values from source to target rasters can skip the copy phase if the iterator is not
an instance of TransfertRectIter.
| coverage/geotk-coverage (download) | View source code for this class |
| Field Summary | |
|---|---|
protected WritableRectIter |
dst
The iterator to use for writing to the destination destination. |
protected RectIter |
src
The iterator to use for reading from the source. |
| Constructor Summary | |
|---|---|
protected |
TransfertRectIter(RectIter src,
WritableRectIter dst)
Constructs a TransfertRectIter object. |
| Method Summary | |
|---|---|
static WritableRectIter |
create(Raster src,
WritableRaster dst,
Rectangle bounds)
Creates a WritableRectIter for the specified source and destination rasters. |
static WritableRectIter |
create(RectIter src,
WritableRectIter dst)
Creates a WritableRectIter for the specified source and destination iterator. |
static WritableRectIter |
create(RenderedImage src,
WritableRaster dst,
Rectangle bounds)
Creates a WritableRectIter for the specified source image and destination raster. |
static WritableRectIter |
create(RenderedImage src,
WritableRenderedImage dst,
Rectangle bounds)
Creates a WritableRectIter for the specified source and destination images. |
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 Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final RectIter src
protected final WritableRectIter dst
| Constructor Detail |
|---|
protected TransfertRectIter(RectIter src,
WritableRectIter dst)
TransfertRectIter object.
src - The iterator to use for reading from the source.dst - The iterator to use for writing to the destination destination.| Method Detail |
|---|
public static WritableRectIter create(RectIter src,
WritableRectIter dst)
WritableRectIter for the specified source and destination iterator.
The two iterators must iterate over a rectangle of the same size, otherwise a
RasterFormatException will be thrown during the iteration.
src - The source iterator.dst - The destination iterator.
src and write samples to dst.
If src == dst, then the destination iterator itself is returned.
public static WritableRectIter create(RenderedImage src,
WritableRenderedImage dst,
Rectangle bounds)
WritableRectIter for the specified source and destination images.
The given rectangle must be in the bounds of both images (this will not be verified).
src - The source image.dst - The destination image.bounds - The region of the images to iterate over.
src and write samples to dst.
It will be an instance of TransfertRectIter if and only if the source
and destination images are not the same.
public static WritableRectIter create(RenderedImage src,
WritableRaster dst,
Rectangle bounds)
WritableRectIter for the specified source image and destination raster.
The given rectangle must be in the bounds of both arguments (this will not be verified).
src - The source image.dst - The destination raster.bounds - The region of the image or raster to iterate over.
src and write samples to dst.
It will be an instance of TransfertRectIter if and only if the source
and destination rasters are not the same.
public static WritableRectIter create(Raster src,
WritableRaster dst,
Rectangle bounds)
WritableRectIter for the specified source and destination rasters.
The given rectangle must be in the bounds of both rasters (this will not be verified).
src - The source raster.dst - The destination raster.bounds - The region of the rasters to iterate over.
src and write sample to dst.
It will be an instance of TransfertRectIter if and only if the source
and destination rasters are not the same.public void startLines()
startLines in interface RectIterpublic void startPixels()
startPixels in interface RectIterpublic void startBands()
startBands in interface RectIterpublic void jumpLines(int num)
jumpLines in interface RectIternum - The number of lines to jump.public void jumpPixels(int num)
jumpPixels in interface RectIternum - The number of pixels to jump.public void nextLine()
nextLine in interface RectIterpublic void nextPixel()
nextPixel in interface RectIterpublic void nextBand()
nextBand in interface RectIterpublic boolean nextLineDone()
true if the bottom row of the bounding rectangle has been passed.
nextLineDone in interface RectItertrue if the iteration over lines is finished.public boolean nextPixelDone()
nextPixelDone in interface RectItertrue if the iteration over pixels is finished.public boolean nextBandDone()
true if the max band has been exceeded.
nextBandDone in interface RectItertrue if the iteration over bands is finished.public boolean finishedLines()
true if the bottom row of the bounding rectangle has been passed.
finishedLines in interface RectItertrue if the iteration over lines is finished.public boolean finishedPixels()
true if the right edge of the bounding rectangle has been passed.
finishedPixels in interface RectItertrue if the iteration over pixels is finished.public boolean finishedBands()
true if the max band in the image has been exceeded.
finishedBands in interface RectItertrue if the iteration over bands is finished.public int[] getPixel(int[] array)
getPixel in interface RectIterarray - The array where to store the sample values.
public float[] getPixel(float[] array)
getPixel in interface RectIterarray - The array where to store the sample values.
public double[] getPixel(double[] array)
getPixel in interface RectIterarray - The array where to store the sample values.
public int getSample()
getSample in interface RectIterpublic int getSample(int b)
getSample in interface RectIterb - The band for which to get the sample value.
public float getSampleFloat()
getSampleFloat in interface RectIterpublic float getSampleFloat(int b)
getSampleFloat in interface RectIterb - The band for which to get the sample value.
public double getSampleDouble()
getSampleDouble in interface RectIterpublic double getSampleDouble(int b)
getSampleDouble in interface RectIterb - The band for which to get the sample value.
public void setPixel(int[] array)
setPixel in interface WritableRectIterarray - The new pixel values.public void setPixel(float[] array)
setPixel in interface WritableRectIterarray - The new pixel values.public void setPixel(double[] array)
setPixel in interface WritableRectIterarray - The new pixel values.public void setSample(int s)
setSample in interface WritableRectIters - The new sample value.public void setSample(float s)
setSample in interface WritableRectIters - The new sample value.public void setSample(double s)
setSample in interface WritableRectIters - The new sample value.
public void setSample(int b,
int s)
setSample in interface WritableRectIterb - The band for which to set the sample value.s - The new sample value.
public void setSample(int b,
float s)
setSample in interface WritableRectIterb - The band for which to set the sample value.s - The new sample value.
public void setSample(int b,
double s)
setSample in interface WritableRectIterb - The band for which to set the sample value.s - The new sample value.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||