java.awt.image

Class DataBufferDouble


public final class DataBufferDouble
extends DataBuffer

A DataBuffer that uses an array of double primitives to represent each of its banks.
Since:
1.4

Field Summary

Fields inherited from class java.awt.image.DataBuffer

TYPE_BYTE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_SHORT, TYPE_UNDEFINED, TYPE_USHORT, banks, dataType, offset, offsets, size

Constructor Summary

DataBufferDouble(double[] dataArray, int size)
Creates a new data buffer backed by the specified data bank.
DataBufferDouble(double[] dataArray, int size, int offset)
Creates a new data buffer backed by the specified data bank, with the specified offset to the first element.
DataBufferDouble(double[][] dataArray, int size)
Creates a new data buffer backed by the specified data banks.
DataBufferDouble(double[][] dataArray, int size, int[] offsets)
Creates a new data buffer backed by the specified data banks, with the specified offsets to the first element in each bank.
DataBufferDouble(int size)
Creates a new data buffer with a single data bank containing the specified number of double elements.
DataBufferDouble(int size, int numBanks)
Creates a new data buffer with the specified number of data banks, each containing the specified number of double elements.

Method Summary

double[][]
getBankData()
Returns the array underlying this DataBuffer.
double[]
getData()
Returns the first data bank.
double[]
getData(int bank)
Returns a data bank.
int
getElem(int i)
Returns an element from the first data bank.
int
getElem(int bank, int i)
Returns an element from a particular data bank.
double
getElemDouble(int i)
double
getElemDouble(int bank, int i)
float
getElemFloat(int i)
float
getElemFloat(int bank, int i)
void
setElem(int i, int val)
Sets an element in the first data bank.
void
setElem(int bank, int i, int val)
Sets an element in a particular data bank.
void
setElemDouble(int i, double val)
void
setElemDouble(int bank, int i, double val)
void
setElemFloat(int i, float val)
void
setElemFloat(int bank, int i, float val)

Methods inherited from class java.awt.image.DataBuffer

getDataType, getDataTypeSize, getElem, getElem, getElemDouble, getElemDouble, getElemFloat, getElemFloat, getNumBanks, getOffset, getOffsets, getSize, setElem, setElem, setElemDouble, setElemDouble, setElemFloat, setElemFloat

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

DataBufferDouble

public DataBufferDouble(double[] dataArray,
                        int size)
Creates a new data buffer backed by the specified data bank.

Note: there is no exception when dataArray is null, but in that case an exception will be thrown later if you attempt to access the data buffer.

Parameters:
dataArray - the data bank.
size - the number of elements in the data bank.

DataBufferDouble

public DataBufferDouble(double[] dataArray,
                        int size,
                        int offset)
Creates a new data buffer backed by the specified data bank, with the specified offset to the first element.

Note: there is no exception when dataArray is null, but in that case an exception will be thrown later if you attempt to access the data buffer.

Parameters:
dataArray - the data bank.
size - the number of elements in the data bank.
offset - the offset to the first element in the array.

DataBufferDouble

public DataBufferDouble(double[][] dataArray,
                        int size)
Creates a new data buffer backed by the specified data banks.
Parameters:
dataArray - the data banks.
size - the number of elements in the data bank.
Throws:
NullPointerException - if dataArray is null.

DataBufferDouble

public DataBufferDouble(double[][] dataArray,
                        int size,
                        int[] offsets)
Creates a new data buffer backed by the specified data banks, with the specified offsets to the first element in each bank.
Parameters:
dataArray - the data banks.
size - the number of elements in the data bank.
offsets - the offsets to the first element in each data bank.
Throws:
NullPointerException - if dataArray is null.

DataBufferDouble

public DataBufferDouble(int size)
Creates a new data buffer with a single data bank containing the specified number of double elements.
Parameters:
size - the number of elements in the data bank.

DataBufferDouble

public DataBufferDouble(int size,
                        int numBanks)
Creates a new data buffer with the specified number of data banks, each containing the specified number of double elements.
Parameters:
size - the number of elements in the data bank.
numBanks - the number of data banks.

Method Details

getBankData

public double[][] getBankData()
Returns the array underlying this DataBuffer.
Returns:
The data banks.

getData

public double[] getData()
Returns the first data bank.
Returns:
The first data bank.

getData

public double[] getData(int bank)
Returns a data bank.
Parameters:
bank - the bank index.
Returns:
A data bank.

getElem

public int getElem(int i)
Returns an element from the first data bank. The offset (specified in the constructor) is added to i before accessing the underlying data array.
Overrides:
getElem in interface DataBuffer
Parameters:
i - the element index.
Returns:
The element.

getElem

public int getElem(int bank,
                   int i)
Returns an element from a particular data bank. The offset (specified in the constructor) is added to i before accessing the underlying data array.
Overrides:
getElem in interface DataBuffer
Parameters:
bank - the bank index.
i - the element index.
Returns:
The element.

getElemDouble

public double getElemDouble(int i)
Overrides:
getElemDouble in interface DataBuffer

getElemDouble

public double getElemDouble(int bank,
                            int i)
Overrides:
getElemDouble in interface DataBuffer

getElemFloat

public float getElemFloat(int i)
Overrides:
getElemFloat in interface DataBuffer

getElemFloat

public float getElemFloat(int bank,
                          int i)
Overrides:
getElemFloat in interface DataBuffer

setElem

public void setElem(int i,
                    int val)
Sets an element in the first data bank. The offset (specified in the constructor) is added to i before updating the underlying data array.
Overrides:
setElem in interface DataBuffer
Parameters:
i - the element index.
val - the new element value.

setElem

public void setElem(int bank,
                    int i,
                    int val)
Sets an element in a particular data bank. The offset (specified in the constructor) is added to i before updating the underlying data array.
Overrides:
setElem in interface DataBuffer
Parameters:
bank - the data bank index.
i - the element index.
val - the new element value.

setElemDouble

public void setElemDouble(int i,
                          double val)
Overrides:
setElemDouble in interface DataBuffer

setElemDouble

public void setElemDouble(int bank,
                          int i,
                          double val)
Overrides:
setElemDouble in interface DataBuffer

setElemFloat

public void setElemFloat(int i,
                         float val)
Overrides:
setElemFloat in interface DataBuffer

setElemFloat

public void setElemFloat(int bank,
                         int i,
                         float val)
Overrides:
setElemFloat in interface DataBuffer

Copyright (C) 2004, 2005 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.