public class RayCellIterator extends DataBlock
attributeOrder, axisOrdering, axisWeights, bounds, dataOrder, dimensionality, numAttributes, pointOrder, recordDesc
Constructor and Description |
---|
RayCellIterator(float startx,
float starty,
float startz,
float dx,
float dy,
float dz,
float step,
Indexable source)
construct the interator by giving voxel,starting point,ending point,concreteBlock
|
Modifier and Type | Method and Description |
---|---|
void |
datum(Datum datum,
IndexSpaceID id)
Given an IndexSpaceID, copy the values of the Datum at that position to the
argument Datum.
|
void |
datum(Datum datum,
IndexSpaceID id,
FieldIDMapper mp)
Given an IndexSpaceID and FieldIDMapper, copy the values of the Datum at
that position to the argument Datum.
|
void |
datum(Datum datum,
IndexSpaceID id,
RecordSpec spec)
Given an IndexSpaceID and RecordSpec, copy the values of the Datum at
that position to the argument Datum.
|
void |
datum(Datum d,
int[] coordArray)
Given an array of coordinates, copy the corresponding datum
into the first parameter.
|
Datum |
datum(IndexSpaceID did)
Given an IndexSpaceID, return the corresponding datum.
|
Datum |
datum(IndexSpaceID did,
RecordSpec spec)
Given an IndexSpaceID, return the corresponding datum with attributes
specified in the RecordSpec.
|
ISBounds[] |
getEnumerWindow(int windowSize)
get an array of ISBounds within the iteration enumeration window
Enumeration window is the number of iteration steps that can be predicted in advance
it's possible that two element in the array have the same ISBounds
|
float[] |
getLocalIntersection() |
Values |
getValues()
Returns the Values of the current DataBlock.
|
boolean |
hasMoreElements()
Return true if this ISIterator can be incremented.
|
void |
init()
initialize the itertor
move to the first cell block which intersects with the ray, set default axisordering as
{2,1,0}
|
void |
init(AxisOrdering order)
initialize the itertor
move to the first cell block which intersects with the ray
|
float[] |
interpolateValues()
return interpolated values of all the attribute, stored in a array
|
void |
next()
move the iterator to the next possiton, and get the data from the source
|
boolean |
nextBounds()
return true if iterator moves to next spacial postion.
|
void |
setDatum(IndexSpaceID isid,
Datum d)
Set the location specified by the IndexSpaceID to the given datum.
|
void |
subblock(DataBlock theBlock,
ISBounds dstBounds,
ISBounds srcBounds)
Reads a subblock defined by srcBounds into the region of the Datablock argument
defined by dstBounds.
|
void |
subblock(DataBlock theBlock,
ISBounds dstBounds,
ISBounds srcBounds,
FieldIDMapper mp)
Reads a subblock defined by srcBounds into the region of the Datablock argument
defined by dstBounds.
|
void |
subblock(DataBlock theBlock,
ISBounds dstBounds,
ISBounds srcBounds,
RecordSpec spec)
Reads a subblock defined by srcBounds into the region of the Datablock argument
defined by dstBounds.
|
DataBlock |
subblock(ISBounds db)
Return a new DataBlock that is a subset of this datablock.
|
float |
triliner(float fx,
float fy,
float fz,
float v000,
float v100,
float v110,
float v010,
float v001,
float v101,
float v111,
float v011)
trilinear interpolation.
|
setByAttribute, setByte, setBytes, setBytes, setBytesByAttribute, setBytesByPoint, setDouble, setDoubles, setDoubles, setDoublesByAttribute, setDoublesByPoint, setFloat, setFloats, setFloats, setFloatsByAttribute, setFloatsByPoint, setInt, setInts, setInts, setIntsByAttribute, setIntsByPoint, setShort, setShorts, setShorts, setShortsByAttribute, setShortsByPoint, setValues, setValues, setValuesByAttribute, setValuesByPoint, toString
byteSize, computeOffset, computeOffset, copyBounds, createDataBlock, createDataBlock, createDataBlock, createDatum, createDatum, createDatum, createDatum, createDatum, createDatum, datum, dim, getAttributeNames, getAxisOrdering, getAxisWeight, getAxisWeights, getBounds, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getBytesByAttribute, getBytesByAttribute, getBytesByPoint, getBytesByPoint, getDataOrder, getDimensionsArray, getDouble, getDoubles, getDoubles, getDoubles, getDoubles, getDoubles, getDoubles, getDoublesByAttribute, getDoublesByAttribute, getDoublesByPoint, getDoublesByPoint, getFloat, getFloats, getFloats, getFloats, getFloats, getFloats, getFloats, getFloatsByAttribute, getFloatsByAttribute, getFloatsByPoint, getFloatsByPoint, getInt, getInts, getInts, getInts, getInts, getInts, getInts, getIntsByAttribute, getIntsByAttribute, getIntsByPoint, getIntsByPoint, getLowerBoundsArray, getNumAttributes, getRecordDescriptor, getShort, getShorts, getShorts, getShorts, getShorts, getShorts, getShorts, getShortsByAttribute, getShortsByAttribute, getShortsByPoint, getShortsByPoint, getStorageType, getUpperBoundsArray, getValues, getValuesByAttribute, getValuesByPoint, longVolume, setAxisOrdering, setBounds, setRecordDescriptor, size, subblock, subblock, subblock, subblock, subblock, subblock, subblock, subblock, useBytesOnly, volume
public RayCellIterator(float startx, float starty, float startz, float dx, float dy, float dz, float step, Indexable source)
public void init()
public void init(AxisOrdering order)
public boolean hasMoreElements()
public void next()
public boolean nextBounds()
public ISBounds[] getEnumerWindow(int windowSize)
public float[] getLocalIntersection()
public Datum datum(IndexSpaceID did)
datum
in interface Indexable
datum
in class DataCollection
public void datum(Datum d, int[] coordArray)
datum
in class DataCollection
public void datum(Datum datum, IndexSpaceID id, RecordSpec spec)
DataCollection
datum
in interface Indexable
datum
in class DataCollection
public void datum(Datum datum, IndexSpaceID id, FieldIDMapper mp)
DataCollection
datum
in interface Indexable
datum
in class DataCollection
public void datum(Datum datum, IndexSpaceID id)
DataCollection
datum
in interface Indexable
datum
in class DataCollection
public Datum datum(IndexSpaceID did, RecordSpec spec)
datum
in interface Indexable
datum
in class DataCollection
public void setDatum(IndexSpaceID isid, Datum d)
public DataBlock subblock(ISBounds db)
subblock
in interface Indexable
subblock
in class DataCollection
public void subblock(DataBlock theBlock, ISBounds dstBounds, ISBounds srcBounds)
subblock
in interface Indexable
subblock
in class DataCollection
public void subblock(DataBlock theBlock, ISBounds dstBounds, ISBounds srcBounds, FieldIDMapper mp)
subblock
in interface Indexable
subblock
in class DataCollection
public void subblock(DataBlock theBlock, ISBounds dstBounds, ISBounds srcBounds, RecordSpec spec)
subblock
in interface Indexable
subblock
in class DataCollection
public Values getValues()
public float[] interpolateValues()
public float triliner(float fx, float fy, float fz, float v000, float v100, float v110, float v010, float v001, float v101, float v111, float v011)