## visad
Class ShadowTupleType

    java.lang.Object
      visad.ShadowType
          visad.ShadowTupleType

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  ShadowRealTupleType

public class ShadowTupleType
extends ShadowType

The ShadowTupleType class shadows the TupleType class, within a DataDisplayLink.

See Also:
  Serialized Form

Field Summary
`(package private) ShadowType[]` `tupleComponents`

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
`ShadowTupleType(MathType t, DataDisplayLink link, ShadowType parent, ShadowType[] tcs)`

Method Summary

`int`

`checkIndices(int[] indices, int[] display_indices, int[] value_indices, boolean[] isTransform, int levelOfDifficulty)`
scans ShadowType tree to determine display feasibility and precompute useful information for Data transform; indices & display_indices are counts (at leaves) of numbers of occurrences of RealTypes and DisplayRealTypes; isTransform flags for (Animation, Range, Value) re-transform; levelOfDifficulty passed down and up call chain

`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

`ShadowType` `getComponent(int i)`
`int` `getDimension()` get number of components
`int[]` `getInheritedValues()`
`ShadowRealType[]` `getRealComponents()`
`boolean` `isFlat()`
`(package private) void` `markTransform(boolean[] isTransform)` mark Control-s as needing re-Transform
`(package private) int[]` `sumDisplayIndices(int[] display_indices)` add DisplayIndices (from each ShadowScalarType and ShadowRealTupleType component)
`(package private) int[]` `sumIndices(int[] indices)`
`(package private) int[]` `sumValueIndices(int[] value_indices)` add ValueIndices (from each ShadowScalarType and ShadowRealTupleType component)

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

### tupleComponents

    ShadowType[] tupleComponents

Constructor Detail

### ShadowTupleType

    public ShadowTupleType(MathType t,
                           DataDisplayLink link,
                           ShadowType parent,
                           ShadowType[] tcs)
                    throws VisADException,
                           RemoteException

Method Detail

### getRealComponents

    public ShadowRealType[] getRealComponents()

### sumIndices

    int[] sumIndices(int[] indices)

### sumDisplayIndices

    int[] sumDisplayIndices(int[] display_indices)
                      throws VisADException

  add DisplayIndices (from each ShadowScalarType and ShadowRealTupleType component)

  Throws:
    `VisADException`

### sumValueIndices

    int[] sumValueIndices(int[] value_indices)
                    throws VisADException

  add ValueIndices (from each ShadowScalarType and ShadowRealTupleType component)

  Throws:
    `VisADException`

### checkIndices

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

  Description copied from class: `ShadowType`
  scans ShadowType tree to determine display feasibility and precompute useful information for Data transform; indices & display_indices are counts (at leaves) of numbers of occurrences of RealTypes and DisplayRealTypes; isTransform flags for (Animation, Range, Value) re-transform; levelOfDifficulty passed down and up call chain

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

### getInheritedValues

    public int[] getInheritedValues()

### getDimension

    public int getDimension()

  get number of components

### getComponent

    public ShadowType getComponent(int i)

### 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`

### isFlat

    public boolean isFlat()