## visad
Class ShadowFunctionOrSetType

    java.lang.Object
      visad.ShadowType
          visad.ShadowFunctionOrSetType

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  ShadowFunctionType, ShadowSetType

public abstract class ShadowFunctionOrSetType
extends ShadowType

The ShadowFunctionOrSetType class is an abstract parent for classes that implement ShadowFunctionType or ShadowSetType.

See Also:
  Serialized Form

Field Summary
`(package private) ShadowRealTupleType` `Domain`
`(package private) ShadowRealType[]` `DomainComponents`
`(package private) ShadowRealType[]` `DomainReferenceComponents`
`(package private) boolean` `Flat` true if range is ShadowRealType or Flat ShadowTupleType not the same as FunctionType.Flat; also true for ShadowSetType
`(package private) int[]` `inherited_values` value_indices from parent
`(package private) ShadowType` `Range`
`(package private) ShadowRealType[]` `RangeComponents` RangeComponents is an array of ShadowRealType-s that are ShadowRealType components of Range or ShadowRealType components of ShadowRealTupleType components of Range; a non-ShadowRealType and non-ShadowTupleType Range is marked by null; components of a ShadowTupleType Range that are neither ShadowRealType nor ShadowRealTupleType are ignored

Fields inherited from class visad.ShadowType

`adjustProjectionSeam, anyContour, anyFlow, anyShape, anyText, arrowScale1, arrowScale2, c_cntrl, cnt, cntrWeight1, cntrWeight2, componentIndex, componentWithRef, curvedTexture, D0, D1, D2, D3, D4, Dbad, display, DisplayIndices, Dtype, isLinearContour3D, isTerminal, isTexture3D, isTextureMap, LEGAL, LevelOfDifficulty, Link, MappedDisplayScalar, METERS_PER_DEGREE, MultipleDisplayScalar, MultipleSpatialDisplayScalar, n_pass1, n_pass2, NESTED, NOTHING_MAPPED, p_cntrl, packingFactor1, packingFactor2, R0, R1, R2, R3, R4, Rbad, reduction1, reduction2, refToComponent, Rtype, SIMPLE_ANIMATE_FIELD, SIMPLE_FIELD, SIMPLE_TUPLE, spatialDimension, spatialTuple, stepFactor1, stepFactor2, streamline1, streamline2, streamlineDensity1, streamlineDensity2, Type, ValueIndices`

Constructor Summary
`ShadowFunctionOrSetType(MathType t, DataDisplayLink link, ShadowType parent, ShadowRealTupleType domain, ShadowType range)` this constructor is a bit of a kludge to get around single inheritance problems

Method Summary
`int` `checkIndices(int[] indices, int[] display_indices, int[] value_indices, boolean[] isTransform, int levelOfDifficulty)` checkIndices: check for rendering difficulty, etc
`BufferedImage` `createImage(int data_width, int data_height, int texture_width, int texture_height, byte[][] color_values)`
`BufferedImage` `createImage(int data_width, int data_height, int texture_width, int texture_height, byte[][] color_values, boolean byRef)`
`BufferedImage[]` `createImages(int axis, int data_width_in, int data_height_in, int data_depth_in, int texture_width_in, int texture_height_in, int texture_depth_in, byte[][] color_values)`

`boolean`

`doTransform(Object group, Data data, float[] value_array, float[] default_values, DataRenderer renderer, ShadowType shadow_api)`
transform data into a (Java3D or Java2D) scene graph; add generated scene graph components as children of group; group is Group (Java3D) or VisADGroup (Java2D); value_array are inherited valueArray values; default_values are defaults for each display.DisplayRealTypeVector; return true if need post-process

`ShadowRealTupleType` `getDomain()`
`ShadowRealType[]` `getDomainComponents()`
`ShadowRealType[]` `getDomainReferenceComponents()`
`boolean` `getFlat()`
`int[]` `getInheritedValues()`
`ShadowType` `getRange()`
`ShadowRealType[]` `getRangeComponents()`
`(package private) int[]` `getRangeDisplayIndices()` used by FlatField.computeRanges
`(package private) void` `markTransform(boolean[] isTransform)` mark Control-s as needing re-Transform
`VisADQuadArray` `reverse(VisADQuadArray array)`

Methods inherited from class visad.ShadowType

`addIndices, addLabelsToGroup, addSwitch, addTextToGroup, addToGroup, addToGroup, addToSwitch, adjustFlowToEarth, adjustZ, allowConstantColorSurfaces, allowCurvedTexture, allowLinearContour, anyRange, assembleColor, assembleFlow, assembleSelect, assembleShape, assembleSpatial, byteToFloat, checkAdjustProjectionSeam, checkAnimationOrValue, checkAny, checkColor, checkColorAlphaRange, checkColorOrAlpha, checkColorRange, checkContour, checkContourColorAlphaRange, checkFlow, checkNested, checkR1D3, checkR2D2, checkR3, checkR4, checkShape, checkSpatialColorAlphaRange, checkSpatialOffsetColorAlphaRange, checkSpatialRange, checkText, colorComposite, colorSum, copyIndices, equalizeAndDefault, floatToByte, getAdaptedShadowType, getAdjustProjectionSeam, getAnyContour, getAnyFlow, getAnyShape, getAnyText, getComponentIndex, getComponents, getComponentWithRef, getCurvedTexture, getData, getDefaultColorIndex, getDisplay, getDisplayIndices, getIsLinearContour3D, getIsTerminal, getIsTexture3D, getIsTextureMap, getLevelOfDifficulty, getLink, getMappedDisplayScalar, getMultipleDisplayScalar, getMultipleSpatialDisplayScalar, getParentText, getParentTextControl, getRefToComponent, getTextMaps, getType, getValueIndices, makeBranch, makeContour, makeFlow, makePointGeometry, makePointGeometry, makeSpatialSet, makeStreamline, makeSwitch, makeText, mapValues, mapValues, mapValues, recurseComponent, recurseRange, rotateVectors, setTex3DCoords, setTexCoords, setTexStackCoords, setText, singleComposite, terminalTupleOrScalar, testIndices, testTransform, texture3DToGroup, textureDepth, textureHeight, textureStackToGroup, textureToGroup, textureWidth, toString, wantIndexed, zeroIndices`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### Domain

    ShadowRealTupleType Domain

### Range

    ShadowType Range

### RangeComponents

    ShadowRealType[] RangeComponents

  RangeComponents is an array of ShadowRealType-s that are ShadowRealType components of Range or ShadowRealType components of ShadowRealTupleType components of Range; a non-ShadowRealType and non-ShadowTupleType Range is marked by null; components of a ShadowTupleType Range that are neither ShadowRealType nor ShadowRealTupleType are ignored

### DomainComponents

    ShadowRealType[] DomainComponents

### DomainReferenceComponents

    ShadowRealType[] DomainReferenceComponents

### Flat

    boolean Flat

  true if range is ShadowRealType or Flat ShadowTupleType not the same as FunctionType.Flat; also true for ShadowSetType

### inherited_values

    int[] inherited_values

  value_indices from parent

Constructor Detail

### ShadowFunctionOrSetType

    public ShadowFunctionOrSetType(MathType t,
                                   DataDisplayLink link,
                                   ShadowType parent,
                                   ShadowRealTupleType domain,
                                   ShadowType range)
                            throws VisADException,
                                   RemoteException

  this constructor is a bit of a kludge to get around single inheritance problems

Method Detail

### getFlat

    public boolean getFlat()

### getRangeComponents

    public ShadowRealType[] getRangeComponents()

### getDomainComponents

    public ShadowRealType[] getDomainComponents()

### getDomainReferenceComponents

    public ShadowRealType[] getDomainReferenceComponents()

### getRangeDisplayIndices

    int[] getRangeDisplayIndices()
                           throws VisADException

  used by FlatField.computeRanges

  Throws:
    `VisADException`

### getInheritedValues

    public int[] getInheritedValues()

### checkIndices

    public int checkIndices(int[] indices,
                            int[] display_indices,
                            int[] value_indices,
                            boolean[] isTransform,
                            int levelOfDifficulty)
                     throws VisADException,
                            RemoteException

  checkIndices: check for rendering difficulty, etc

  Overrides:
    `checkIndices` in class `ShadowType`
  Throws:
    `VisADException`
    `RemoteException`

### getDomain

    public ShadowRealTupleType getDomain()

### getRange

    public ShadowType getRange()

### markTransform

    void markTransform(boolean[] isTransform)

  mark Control-s as needing re-Transform

  Overrides:
    `markTransform` in class `ShadowType`

### doTransform

    public boolean doTransform(Object group,
                               Data data,
                               float[] value_array,
                               float[] default_values,
                               DataRenderer renderer,
                               ShadowType shadow_api)
                        throws VisADException,
                               RemoteException

  transform data into a (Java3D or Java2D) scene graph; add generated scene graph components as children of group; group is Group (Java3D) or VisADGroup (Java2D); value_array are inherited valueArray values; default_values are defaults for each display.DisplayRealTypeVector; return true if need post-process

  Throws:
    `VisADException`
    `RemoteException`

### createImage

    public BufferedImage createImage(int data_width,
                                     int data_height,
                                     int texture_width,
                                     int texture_height,
                                     byte[][] color_values)
                              throws VisADException

  Throws:
    `VisADException`

### createImage

    public BufferedImage createImage(int data_width,
                                     int data_height,
                                     int texture_width,
                                     int texture_height,
                                     byte[][] color_values,
                                     boolean byRef)
                              throws VisADException

  Throws:
    `VisADException`

### createImages

    public BufferedImage[] createImages(int axis,
                                        int data_width_in,
                                        int data_height_in,
                                        int data_depth_in,
                                        int texture_width_in,
                                        int texture_height_in,
                                        int texture_depth_in,
                                        byte[][] color_values)
                                 throws VisADException

  Throws:
    `VisADException`

### reverse

    public VisADQuadArray reverse(VisADQuadArray array)