visad
Class Linear3DSet
- java.lang.Object
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Data, GriddedSetIface, LinearSet, SampledSetIface, SetIface, SimpleSetIface, Thing
- Direct Known Subclasses:
- Integer3DSet
public class Linear3DSet extends Gridded3DSet implements LinearSet
Linear3DSet represents a finite set of samples of R^3 in a cross product of three arithmetic progressions.The order of the samples is the rasterization of the orders of the 1D components, with the first component increasing fastest. For more detail, see the example in Linear2DSet.java.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class visad.DataImpl
DataImpl.Syncher
-
-
Field Summary
-
Fields inherited from interface visad.Data
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE
-
-
Constructor Summary
Constructors Constructor and Description Linear3DSet(double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3)Construct a 3-D cross product of arithmetic progressions with null errors and generic type.Linear3DSet(Linear1DSet[] sets)Construct a 3-D cross product ofsetswith a generic MathType.Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3)Construct a 3-D cross product of arithmetic progressions with null errors and the specifiedtype.Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)Construct a 3-D cross product of arithmetic progressions with the specifiedtype,coord_sys,unitsanderrors.Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache)Construct a 3-D cross product of arithmetic progressions with the specifiedtype,coord_sys,unitsanderrors.Linear3DSet(MathType type, Linear1DSet[] sets)Construct a 3-D cross product ofsetswith the specifiedtype.Linear3DSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)Construct a 3-D cross product ofsets, with the specifiedtype,coord_sys,unitsanderrors.Linear3DSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache)Construct a 3-D cross product ofsets, with the specifiedtype,coord_sys,unitsanderrors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.ObjectcloneButType(MathType type)Return a clone of this object with a new MathType.booleanequals(java.lang.Object set)Check to see if this Linear3DSet is equal to the Object in question.Linear1DSetgetLinear1DComponent(int i)Get the indexed component (X is at 0, Y is at 1, and Z is at 2)float[][]getSamples(boolean copy)Return the array of values in R^3 space corresponding to this cross product of arithmetic progressions.Linear1DSetgetX()Return the first arithmetic progression for this cross product (X of XYZ).Linear1DSetgetY()Return the second arithmetic progression for this cross product (Y of XYZ).Linear1DSetgetZ()Return the third arithmetic progression for this cross product (Z of XYZ).float[][]gridToValue(float[][] grid)transform an array of non-integer grid coordinates to an array of values in R^3inthashCode()Returns the hash code for this instance.float[][]indexToValue(int[] index)Convert an array of 1-D indices to an array of values in R^3 space.booleanisMissing()Check to see if this is an empty cross-product.java.lang.StringlongString(java.lang.String pre)Extended version of the toString() method.VisADGeometryArray[]make3DGeometry(byte[][] color_values)note makeSpatial never returns a Linear3DSet, so this is not enough; must handle it like linear texture mapping; also, want to exploit Texture3D - so must figure out how to make texture alpha workVisADGeometryArraymakeLinearIsoSurface(float isolevel, float[] fieldValues, byte[][] color_values, boolean indexed, ScalarMap[] spatial_maps, int[] permute)float[][]valueToGrid(float[][] value)transform an array of values in R^3 to an array of non-integer grid coordinates-
Methods inherited from class visad.Gridded3DSet
flags, getNormals, getStartPoint, gridToValue, main, make_normals, make2DGeometry, makeIsoLines, makeIsoSurface, makeIsoSurfaceMissingSpatial, makeNormals, poly_triangle_stripe, valueToGrid, valueToIndex
-
Methods inherited from class visad.GriddedSet
create, create, create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial, valueToInterp, valueToInterp
-
Methods inherited from class visad.SampledSet
clone, computeRanges, computeRanges, cram_missing, finalize, getHi, getLow, getNeighbors, getSamples, make1DGeometry, makePointGeometry, setCacheSizeThreshold, setGeometryArray, setGeometryArray
-
Methods inherited from class visad.SimpleSet
getManifoldDimension
-
Methods inherited from class visad.Set
__getitem__, __len__, addEqualsCache, addNotEqualsCache, copyDoubles, copyFloats, doubleToFloat, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getSetErrors, getSetUnits, indexToDouble, longString, merge1DSets, testEqualsCache, testNotEqualsCache, unary, unitAndCSHashCode
-
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __radd__, __rdiv__, __rmod__, __rmul__, __rpow__, __rsub__, __sub__, __sub__, abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, toString, unary
-
Methods inherited from class visad.ThingImpl
addReference, removeReference
-
Methods inherited from interface visad.SampledSetIface
getHi, getLow
-
Methods inherited from interface visad.SetIface
cram_missing, doubleToIndex, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getManifoldDimension, getNeighbors, getSamples, getSetErrors, getSetUnits, indexToDouble, make1DGeometry, makePointGeometry, merge1DSets
-
Methods inherited from interface visad.Data
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary, unary
-
Methods inherited from interface visad.Thing
addReference, removeReference
-
-
-
-
Constructor Detail
-
Linear3DSet
public Linear3DSet(Linear1DSet[] sets) throws VisADException
Construct a 3-D cross product ofsetswith a generic MathType.- Parameters:
sets- Linear1DSets that make up this Linear3DSet.- Throws:
VisADException- illegal sets or other VisAD error.
-
Linear3DSet
public Linear3DSet(MathType type, Linear1DSet[] sets) throws VisADException
Construct a 3-D cross product ofsetswith the specifiedtype.- Parameters:
type- MathType for this Linear3DSet. Must be consistent with MathType-s of sets.sets- Linear1DSets that make up this Linear3DSet.- Throws:
VisADException- illegal sets or other VisAD error.
-
Linear3DSet
public Linear3DSet(double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3) throws VisADExceptionConstruct a 3-D cross product of arithmetic progressions with null errors and generic type.- Parameters:
first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressionfirst3- first value in third arithmetic progressionlast3- last value in third arithmetic progressionlength3- number of values in third arithmetic progression- Throws:
VisADException- problem creating VisAD objects.
-
Linear3DSet
public Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3) throws VisADException
Construct a 3-D cross product of arithmetic progressions with null errors and the specifiedtype.- Parameters:
type- MathType for this Linear3DSet.first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressionfirst3- first value in third arithmetic progressionlast3- last value in third arithmetic progressionlength3- number of values in third arithmetic progression- Throws:
VisADException- problem creating VisAD objects.
-
Linear3DSet
public Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors) throws VisADException
Construct a 3-D cross product of arithmetic progressions with the specifiedtype,coord_sys,unitsanderrors.- Parameters:
type- MathType for this Linear3DSet.first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressionfirst3- first value in third arithmetic progressionlast3- last value in third arithmetic progressionlength3- number of values in third arithmetic progressioncoord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be null- Throws:
VisADException- problem creating VisAD objects.
-
Linear3DSet
public Linear3DSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, double first3, double last3, int length3, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache) throws VisADException
Construct a 3-D cross product of arithmetic progressions with the specifiedtype,coord_sys,unitsanderrors.- Parameters:
type- MathType for this Linear3DSet.first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressionfirst3- first value in third arithmetic progressionlast3- last value in third arithmetic progressionlength3- number of values in third arithmetic progressioncoord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be nullcache- if true, enumerate and cache the samples. This will result in a larger memory footprint, but will reduce the time to return samples from calls toSampledSet.getSamples().- Throws:
VisADException- problem creating VisAD objects.
-
Linear3DSet
public Linear3DSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors) throws VisADException
Construct a 3-D cross product ofsets, with the specifiedtype,coord_sys,unitsanderrors.- Parameters:
type- MathType for this Linear3DSet. Must be consistent with MathType-s ofsets.sets- Linear1DSets that make up this Linear3DSet.coord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be null- Throws:
VisADException- illegal sets or other VisAD error.
-
Linear3DSet
public Linear3DSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache) throws VisADException
Construct a 3-D cross product ofsets, with the specifiedtype,coord_sys,unitsanderrors.- Parameters:
type- MathType for this Linear3DSet. Must be consistent with MathType-s ofsets.sets- Linear1DSets that make up this Linear3DSet.coord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be nullcache- if true, enumerate and cache the samples. This will result in a larger memory footprint, but will reduce the time to return samples from calls toSampledSet.getSamples().- Throws:
VisADException- illegal sets or other VisAD error.
-
-
Method Detail
-
indexToValue
public float[][] indexToValue(int[] index) throws VisADExceptionConvert an array of 1-D indices to an array of values in R^3 space.- Specified by:
indexToValuein interfaceSetIface- Overrides:
indexToValuein classGridded3DSet- Parameters:
index- array of indices of values in R^3 space.- Returns:
- values in R^3 space corresponding to indices.
- Throws:
VisADException- problem converting indices to values.
-
gridToValue
public float[][] gridToValue(float[][] grid) throws VisADExceptiontransform an array of non-integer grid coordinates to an array of values in R^3- Specified by:
gridToValuein interfaceGriddedSetIface- Overrides:
gridToValuein classGridded3DSet- Parameters:
grid- Grid values, where dim1 is the grid coordinate dimension and dim2 is the length of the grid.- Returns:
- R^n coordinates where dim1 is DomainDimension and dim2 is the length of the grid.
- Throws:
VisADException- VisAD failure.
-
valueToGrid
public float[][] valueToGrid(float[][] value) throws VisADExceptiontransform an array of values in R^3 to an array of non-integer grid coordinates- Specified by:
valueToGridin interfaceGriddedSetIface- Overrides:
valueToGridin classGridded3DSet- Parameters:
value- The array of points for which non-integer grid coordinates are desired.value[i][j]is the i-th coordinate of the j-th point.- Returns:
- The array of grid coordinates corresponding to the points. Element [i][j] is the i-th non-integer grid coordinate of the j-th point.
- Throws:
VisADException- VisAD failure.
-
getX
public Linear1DSet getX()
Return the first arithmetic progression for this cross product (X of XYZ).- Returns:
- first arithmetic progression as a Linear1DSet.
-
getY
public Linear1DSet getY()
Return the second arithmetic progression for this cross product (Y of XYZ).- Returns:
- second arithmetic progression as a Linear1DSet.
-
getZ
public Linear1DSet getZ()
Return the third arithmetic progression for this cross product (Z of XYZ).- Returns:
- third arithmetic progression as a Linear1DSet.
-
isMissing
public boolean isMissing()
Check to see if this is an empty cross-product.- Specified by:
isMissingin interfaceData- Overrides:
isMissingin classSampledSet- Returns:
- always false.
-
getSamples
public float[][] getSamples(boolean copy) throws VisADExceptionReturn the array of values in R^3 space corresponding to this cross product of arithmetic progressions.- Specified by:
getSamplesin interfaceSetIface- Overrides:
getSamplesin classSampledSet- Parameters:
copy- if true, return a copy of the samples.- Returns:
- array of values in R^3 space.
- Throws:
VisADException- problem creating samples.
-
make3DGeometry
public VisADGeometryArray[] make3DGeometry(byte[][] color_values) throws VisADException
note makeSpatial never returns a Linear3DSet, so this is not enough; must handle it like linear texture mapping; also, want to exploit Texture3D - so must figure out how to make texture alpha work- Specified by:
make3DGeometryin interfaceSetIface- Overrides:
make3DGeometryin classSampledSet- Returns:
- arrays of VisADGeometryArray
- Throws:
VisADException
-
makeLinearIsoSurface
public VisADGeometryArray makeLinearIsoSurface(float isolevel, float[] fieldValues, byte[][] color_values, boolean indexed, ScalarMap[] spatial_maps, int[] permute) throws VisADException
- Throws:
VisADException
-
equals
public boolean equals(java.lang.Object set)
Check to see if this Linear3DSet is equal to the Object in question.- Specified by:
equalsin interfaceSetIface- Overrides:
equalsin classGriddedSet- Parameters:
set- Object in question- Returns:
- true if
setis a Linear3DSet and each of the Linear1DSet-s that make up this cross product are equal.
-
hashCode
public int hashCode()
Returns the hash code for this instance.- Overrides:
hashCodein classGriddedSet- Returns:
- The hash code for this instance.
-
getLinear1DComponent
public Linear1DSet getLinear1DComponent(int i)
Get the indexed component (X is at 0, Y is at 1, and Z is at 2)- Specified by:
getLinear1DComponentin interfaceLinearSet- Parameters:
i- Index of component- Returns:
- The requested component
- Throws:
java.lang.ArrayIndexOutOfBoundsException- If an invalid index is specified.
-
cloneButType
public java.lang.Object cloneButType(MathType type) throws VisADException
Return a clone of this object with a new MathType.- Specified by:
cloneButTypein interfaceSetIface- Overrides:
cloneButTypein classGridded3DSet- Parameters:
type- new MathType.- Returns:
- new Linear3DSet with
type. - Throws:
VisADException- iftypeis not compatible with MathType of component Linear1DSets.
-
longString
public java.lang.String longString(java.lang.String pre) throws VisADExceptionExtended version of the toString() method.- Specified by:
longStringin interfaceData- Overrides:
longStringin classGriddedSet- Parameters:
pre- prefix for string.- Returns:
- wordy string describing this Linear3DSet.
- Throws:
VisADException
-
-
DMelt 3.0 © DataMelt by jWork.ORG