visad.java3d
Class ShadowTypeJ3D
- java.lang.Object
-
- visad.ShadowType
-
- visad.java3d.ShadowTypeJ3D
-
- All Implemented Interfaces:
- java.io.Serializable
- Direct Known Subclasses:
- ShadowFunctionOrSetTypeJ3D, ShadowScalarTypeJ3D, ShadowTupleTypeJ3D
public abstract class ShadowTypeJ3D extends ShadowType
The ShadowTypeJ3D hierarchy shadows the MathType hierarchy, within a DataDisplayLink, under Java3D.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intappearanceCntFor logging the number of Appearance objects createdstatic intshape3DCntFor logging the number of Shape3D objects created-
Fields inherited from class visad.ShadowType
byReference, LEGAL, METERS_PER_DEGREE, NESTED, NOTHING_MAPPED, PROP_CONTOURFILL_SINGLE_VALUE_AS_TEXTURE, PROP_IMAGE_BY_REF, SIMPLE_ANIMATE_FIELD, SIMPLE_FIELD, SIMPLE_TUPLE, trajectory1, trajectory2, yUp
-
-
Constructor Summary
Constructors Constructor and Description ShadowTypeJ3D(MathType type, DataDisplayLink link, ShadowType parent)Create a new ShadowTypeJ3D
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddLabelsToGroup(java.lang.Object group, VisADGeometryArray[] arrays, GraphicsModeControl mode, ContourControl control, ProjectionControl p_cntrl, int[] cnt_a, float constant_alpha, float[] constant_color)booleanaddTextToGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color)javax.media.j3d.BranchGroupaddToDetachableGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color)Convenience method that returns a Branch node, which may be parented, and whose only child can be detached.booleanaddToGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color)Add the GeometryArray to the groupbooleanallowConstantColorSurfaces()Do we allo constant color surfaces?byte[][]assembleColor(float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, boolean[][] range_select, boolean[] single_missing, ShadowType shadow_api)composite and transform color and Alpha DisplayRealType values from display_values, and return as (Red, Green, Blue, Alpha)voidassembleFlow(float[][] flow1_values, float[][] flow2_values, float[] flowScale, float[] arrowScale, float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, boolean[][] range_select, DataRenderer renderer, ShadowType shadow_api)assemble Flow components; Flow components are 'single', so no compositing is requiredboolean[][]assembleSelect(float[][] display_values, int domain_length, int valueArrayLength, int[] valueToScalar, DisplayImpl display, ShadowType shadow_api)return a composite of SelectRange DisplayRealType values from display_values, as 0.0 for select and Double.Nan for no select (these values can be added to other DisplayRealType values)VisADGeometryArray[]assembleShape(float[][] display_values, int valueArrayLength, int[] valueToMap, java.util.Vector MapVector, int[] valueToScalar, DisplayImpl display, float[] default_values, int[] inherited_values, float[][] spatial_values, byte[][] color_values, boolean[][] range_select, int index, ShadowType shadow_api)collect and transform Shape DisplayRealType values from display_values; offset by spatial_values, selected by range_selectSetassembleSpatial(float[][] spatial_values, float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, int[] inherited_values, Set domain_set, boolean allSpatial, boolean set_for_shape, int[] spatialDimensions, boolean[][] range_select, float[][] flow1_values, float[][] flow2_values, float[] flowScale, boolean[] swap, DataRenderer renderer, ShadowType shadow_api)collect and transform spatial DisplayRealType values from display_values; add spatial offset DisplayRealType values; adjust flow1_values and flow2_values for any coordinate transform; if needed, return a spatial Set from spatial_values, with the same topology as domain_set (or an appropriate Irregular topology); domain_set = null and allSpatial = false if not called from ShadowFunctionTypeintcheckIndices(int[] indices, int[] display_indices, int[] value_indices, boolean[] isTransform, int levelOfDifficulty)checkIndices: check for rendering difficulty, etcbooleandoTransform(java.lang.Object group, Data data, float[] value_array, float[] default_values, DataRenderer renderer)transform data into a Java3D scene graph; add generated scene graph components as children of group; value_array are inherited valueArray values; default_values are defaults for each display.DisplayRealTypeVector; return true if need post-process; this is default (for ShadowTextType)voidensureNotEmpty(java.lang.Object obj)this is a work-around for the NullPointerException at javax.media.j3d.Shape3DRetained.setLive(Shape3DRetained.java:448)static voidensureNotEmpty(java.lang.Object obj, DisplayImpl display)static ShadowTypegetAdaptedParent(ShadowType parent)Get the adapted ShadowType for the parentShadowTypegetAdaptedShadowType()Get the adapted ShadowType for this instanceShadowRealType[]getComponents(ShadowType type, boolean doRef)DatagetData()Get the dataDisplayImplgetDisplay()Get the displayint[]getDisplayIndices()intgetLevelOfDifficulty()Get the level of difficulty for this transformbooleangetMappedDisplayScalar()booleangetMultipleDisplayScalar()java.lang.StringgetParentText()TextControlgetParentTextControl()MathTypegetType()Get the MathType of the Dataint[]getValueIndices()javax.media.j3d.AppearancemakeAppearance(GraphicsModeControl mode, javax.media.j3d.TransparencyAttributes constant_alpha, javax.media.j3d.ColoringAttributes constant_color, javax.media.j3d.GeometryArray geometry, boolean no_material)Make an Appearance object for this displaybooleanmakeContour(int valueArrayLength, int[] valueToScalar, float[][] display_values, int[] inherited_values, java.util.Vector MapVector, int[] valueToMap, int domain_length, boolean[][] range_select, int spatialManifoldDimension, Set spatial_set, byte[][] color_values, boolean indexed, java.lang.Object group, GraphicsModeControl mode, boolean[] swap, float constant_alpha, float[] constant_color, ShadowType shadow_api, ShadowRealTupleType Domain, ShadowRealType[] DomainReferenceComponents, Set domain_set, Unit[] domain_units, CoordinateSystem dataCoordinateSystem)VisADGeometryArray[]makeFlow(int which, float[][] flow_values, float flowScale, float arrowScale, float[][] spatial_values, byte[][] color_values, boolean[][] range_select)which = 0 for Flow1 and which = 1 for Flow2static VisADGeometryArraymakePointGeometry(float[][] spatial_values, byte[][] color_values)VisADGeometryArray[]makeStreamline(int which, float[][] flow_values, float flowScale, float[][] spatial_values, Set spatial_set, int spatialManifoldDimension, byte[][] color_values, boolean[][] range_select, int valueArrayLength, int[] valueToMap, java.util.Vector MapVector)VisADGeometryArraymakeText(java.lang.String[] text_values, TextControl text_control, float[][] spatial_values, byte[][] color_values, boolean[][] range_select)static voidmapValues(float[][] display_values, double[][] values, ShadowRealType[] reals)map values into display_values according to ScalarMap-s in realsstatic voidmapValues(float[][] display_values, float[][] values, ShadowRealType[] reals)map values into display_values according to ScalarMap-s in realsstatic voidmapValues(float[][] display_values, float[][] values, ShadowRealType[] reals, boolean copy)map values into display_values according to ScalarMap-s in realsvoidpostProcess(java.lang.Object group)render accumulated Vector of value_array-s to and add to group; then clear AccumulationVectorvoidpreProcess()clear AccumulationVectorvoidsetText(java.lang.String text, TextControl control)static javax.media.j3d.AppearancestaticMakeAppearance(GraphicsModeControl mode, javax.media.j3d.TransparencyAttributes constant_alpha, javax.media.j3d.ColoringAttributes constant_color, javax.media.j3d.GeometryArray geometry, boolean no_material)Construct an Appearance object from a GeometryArraybooleanterminalTupleOrScalar(java.lang.Object group, float[][] display_values, java.lang.String text_value, TextControl text_control, int valueArrayLength, int[] valueToScalar, float[] default_values, int[] inherited_values, DataRenderer renderer)java.lang.StringtoString()Get a String representation of this object-
Methods inherited from class visad.ShadowType
addSwitch, addToGroup, addToSwitch, adjustFlowToEarth, adjustFlowToEarth, adjustFlowToEarth, adjustZ, allowCurvedTexture, allowLinearContour, byteToFloat, floatToByte, getAdjustProjectionSeam, getAnyContour, getAnyFlow, getAnyShape, getAnyText, getComponentIndex, getComponentWithRef, getCurvedTexture, getDefaultColorIndex, getFlowInfo, getIsLinearContour3D, getIsTerminal, getIsTexture3D, getIsTextureMap, getLink, getMultipleSpatialDisplayScalar, getRefToComponent, getTextMaps, makeBranch, makePointGeometry, makeSpatialSet, makeSwitch, makeTrajColor, makeTrajFlow, recurseComponent, recurseRange, setTex3DCoords, setTexCoords, setTexStackCoords, terminalTupleOrScalar, texture3DToGroup, textureDepth, textureHeight, textureStackToGroup, textureToGroup, textureWidth, wantIndexed
-
-
-
-
Field Detail
-
appearanceCnt
public static int appearanceCnt
For logging the number of Appearance objects created
-
shape3DCnt
public static int shape3DCnt
For logging the number of Shape3D objects created
-
-
Constructor Detail
-
ShadowTypeJ3D
public ShadowTypeJ3D(MathType type, DataDisplayLink link, ShadowType parent) throws VisADException, java.rmi.RemoteException
Create a new ShadowTypeJ3D- Parameters:
type- MathType of the datalink- the data/display linkparent- parent ShadowType- Throws:
java.rmi.RemoteException- problem creating remote instanceVisADException- problem creating local instance
-
-
Method Detail
-
getAdaptedParent
public static ShadowType getAdaptedParent(ShadowType parent)
Get the adapted ShadowType for the parent- Parameters:
parent- the parent object to test- Returns:
- the adapted ShadowType
-
getAdaptedShadowType
public ShadowType getAdaptedShadowType()
Get the adapted ShadowType for this instance- Overrides:
getAdaptedShadowTypein classShadowType- Returns:
- the adapted ShadowType
-
getComponents
public ShadowRealType[] getComponents(ShadowType type, boolean doRef) throws VisADException
- Overrides:
getComponentsin classShadowType- Parameters:
type-doRef-- Returns:
- component array
- Throws:
VisADException
-
getParentText
public java.lang.String getParentText()
- Overrides:
getParentTextin classShadowType- Returns:
- inherited text
-
getParentTextControl
public TextControl getParentTextControl()
- Overrides:
getParentTextControlin classShadowType- Returns:
- inherited text control
-
setText
public void setText(java.lang.String text, TextControl control)- Overrides:
setTextin classShadowType- Parameters:
text-control-
-
getData
public Data getData()
Get the data- Overrides:
getDatain classShadowType- Returns:
- the data
-
getDisplay
public DisplayImpl getDisplay()
Get the display- Overrides:
getDisplayin classShadowType- Returns:
- the display
-
getType
public MathType getType()
Get the MathType of the Data- Overrides:
getTypein classShadowType- Returns:
- the MathType
-
getLevelOfDifficulty
public int getLevelOfDifficulty()
Get the level of difficulty for this transform- Overrides:
getLevelOfDifficultyin classShadowType- Returns:
- the level of difficulty
-
getMultipleDisplayScalar
public boolean getMultipleDisplayScalar()
- Overrides:
getMultipleDisplayScalarin classShadowType- Returns:
- boolean TBD
-
getMappedDisplayScalar
public boolean getMappedDisplayScalar()
- Overrides:
getMappedDisplayScalarin classShadowType- Returns:
- boolean TBD
-
getDisplayIndices
public int[] getDisplayIndices()
- Overrides:
getDisplayIndicesin classShadowType- Returns:
- int array display indices
-
getValueIndices
public int[] getValueIndices()
- Overrides:
getValueIndicesin classShadowType- Returns:
- int array value indices
-
checkIndices
public int checkIndices(int[] indices, int[] display_indices, int[] value_indices, boolean[] isTransform, int levelOfDifficulty) throws VisADException, java.rmi.RemoteExceptioncheckIndices: check for rendering difficulty, etc- Overrides:
checkIndicesin classShadowType- Parameters:
indices-display_indices-value_indices-isTransform-levelOfDifficulty-- Returns:
- num occcurrences RealType and DisplayRealType
- Throws:
java.rmi.RemoteExceptionVisADException
-
preProcess
public void preProcess() throws VisADExceptionclear AccumulationVector- Throws:
VisADException
-
doTransform
public boolean doTransform(java.lang.Object group, Data data, float[] value_array, float[] default_values, DataRenderer renderer) throws VisADException, java.rmi.RemoteExceptiontransform data into a Java3D scene graph; add generated scene graph components as children of group; value_array are inherited valueArray values; default_values are defaults for each display.DisplayRealTypeVector; return true if need post-process; this is default (for ShadowTextType)- Parameters:
group- group to add todata- the data to transformvalue_array- the valuesdefault_values- the default valuesrenderer- the renderer- Returns:
- false
- Throws:
java.rmi.RemoteExceptionVisADException
-
postProcess
public void postProcess(java.lang.Object group) throws VisADExceptionrender accumulated Vector of value_array-s to and add to group; then clear AccumulationVector- Parameters:
group-- Throws:
VisADException
-
mapValues
public static void mapValues(float[][] display_values, double[][] values, ShadowRealType[] reals) throws VisADExceptionmap values into display_values according to ScalarMap-s in reals- Parameters:
display_values-values-reals-- Throws:
VisADException
-
mapValues
public static void mapValues(float[][] display_values, float[][] values, ShadowRealType[] reals) throws VisADExceptionmap values into display_values according to ScalarMap-s in reals- Parameters:
display_values-values-reals-- Throws:
VisADException
-
mapValues
public static void mapValues(float[][] display_values, float[][] values, ShadowRealType[] reals, boolean copy) throws VisADExceptionmap values into display_values according to ScalarMap-s in reals- Parameters:
display_values-values-reals-copy-- Throws:
VisADException
-
makePointGeometry
public static VisADGeometryArray makePointGeometry(float[][] spatial_values, byte[][] color_values) throws VisADException
- Parameters:
spatial_values-color_values-- Returns:
- point geometry array
- Throws:
VisADException
-
makeAppearance
public javax.media.j3d.Appearance makeAppearance(GraphicsModeControl mode, javax.media.j3d.TransparencyAttributes constant_alpha, javax.media.j3d.ColoringAttributes constant_color, javax.media.j3d.GeometryArray geometry, boolean no_material)
Make an Appearance object for this display- Parameters:
mode- GraphicsModeControlconstant_alpha- the constant alpha valueconstant_color- the constant color valuegeometry- the GeometryArrayno_material- flag for material- Returns:
- appearance object constructed from geometry array
-
staticMakeAppearance
public static javax.media.j3d.Appearance staticMakeAppearance(GraphicsModeControl mode, javax.media.j3d.TransparencyAttributes constant_alpha, javax.media.j3d.ColoringAttributes constant_color, javax.media.j3d.GeometryArray geometry, boolean no_material)
Construct an Appearance object from a GeometryArray- Parameters:
mode- GraphicsModeControlconstant_alpha- transparency attributesconstant_color- color to usegeometry- geometry to use for the appearanceno_material- true to not use a Material for illumination, false to use it for 2-D geometries- Returns:
- The new appearance
-
assembleShape
public VisADGeometryArray[] assembleShape(float[][] display_values, int valueArrayLength, int[] valueToMap, java.util.Vector MapVector, int[] valueToScalar, DisplayImpl display, float[] default_values, int[] inherited_values, float[][] spatial_values, byte[][] color_values, boolean[][] range_select, int index, ShadowType shadow_api) throws VisADException, java.rmi.RemoteException
collect and transform Shape DisplayRealType values from display_values; offset by spatial_values, selected by range_select- Overrides:
assembleShapein classShadowType- Parameters:
display_values-valueArrayLength-valueToMap-MapVector-valueToScalar-display-default_values-inherited_values-spatial_values-color_values-range_select-index-shadow_api-- Returns:
- transformed Shape values
- Throws:
java.rmi.RemoteExceptionVisADException
-
assembleSpatial
public Set assembleSpatial(float[][] spatial_values, float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, int[] inherited_values, Set domain_set, boolean allSpatial, boolean set_for_shape, int[] spatialDimensions, boolean[][] range_select, float[][] flow1_values, float[][] flow2_values, float[] flowScale, boolean[] swap, DataRenderer renderer, ShadowType shadow_api) throws VisADException, java.rmi.RemoteException
collect and transform spatial DisplayRealType values from display_values; add spatial offset DisplayRealType values; adjust flow1_values and flow2_values for any coordinate transform; if needed, return a spatial Set from spatial_values, with the same topology as domain_set (or an appropriate Irregular topology); domain_set = null and allSpatial = false if not called from ShadowFunctionType- Overrides:
assembleSpatialin classShadowType- Parameters:
spatial_values-display_values-valueArrayLength-valueToScalar-display-default_values-inherited_values-domain_set-allSpatial-set_for_shape-spatialDimensions-range_select-flow1_values-flow2_values-flowScale-swap-renderer-shadow_api-- Returns:
- spatial Set from spatial values
- Throws:
java.rmi.RemoteExceptionVisADException
-
assembleFlow
public void assembleFlow(float[][] flow1_values, float[][] flow2_values, float[] flowScale, float[] arrowScale, float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, boolean[][] range_select, DataRenderer renderer, ShadowType shadow_api) throws VisADException, java.rmi.RemoteExceptionassemble Flow components; Flow components are 'single', so no compositing is required- Overrides:
assembleFlowin classShadowType- Parameters:
flow1_values-flow2_values-flowScale-display_values-valueArrayLength-valueToScalar-display-default_values-range_select-renderer-shadow_api-- Throws:
java.rmi.RemoteExceptionVisADException
-
makeFlow
public VisADGeometryArray[] makeFlow(int which, float[][] flow_values, float flowScale, float arrowScale, float[][] spatial_values, byte[][] color_values, boolean[][] range_select) throws VisADException
Description copied from class:ShadowTypewhich = 0 for Flow1 and which = 1 for Flow2- Overrides:
makeFlowin classShadowType- Parameters:
which-flow_values-flowScale-spatial_values-color_values-range_select-- Returns:
- flow geometry array
- Throws:
VisADException
-
makeStreamline
public VisADGeometryArray[] makeStreamline(int which, float[][] flow_values, float flowScale, float[][] spatial_values, Set spatial_set, int spatialManifoldDimension, byte[][] color_values, boolean[][] range_select, int valueArrayLength, int[] valueToMap, java.util.Vector MapVector) throws VisADException
- Overrides:
makeStreamlinein classShadowType- Parameters:
which-flow_values-flowScale-spatial_values-spatial_set-spatialManifoldDimension-color_values-range_select-valueArrayLength-valueToMap-MapVector-- Returns:
- streamline geometry array
- Throws:
VisADException
-
makeContour
public boolean makeContour(int valueArrayLength, int[] valueToScalar, float[][] display_values, int[] inherited_values, java.util.Vector MapVector, int[] valueToMap, int domain_length, boolean[][] range_select, int spatialManifoldDimension, Set spatial_set, byte[][] color_values, boolean indexed, java.lang.Object group, GraphicsModeControl mode, boolean[] swap, float constant_alpha, float[] constant_color, ShadowType shadow_api, ShadowRealTupleType Domain, ShadowRealType[] DomainReferenceComponents, Set domain_set, Unit[] domain_units, CoordinateSystem dataCoordinateSystem) throws VisADException- Overrides:
makeContourin classShadowType- Parameters:
valueArrayLength-valueToScalar-display_values-inherited_values-MapVector-valueToMap-domain_length-range_select-spatialManifoldDimension-spatial_set-color_values-indexed-group-mode-swap-constant_alpha-constant_color-shadow_api-Domain-DomainReferenceComponents-domain_set-domain_units-dataCoordinateSystem-- Returns:
- true if any contours created
- Throws:
VisADException
-
addLabelsToGroup
public void addLabelsToGroup(java.lang.Object group, VisADGeometryArray[] arrays, GraphicsModeControl mode, ContourControl control, ProjectionControl p_cntrl, int[] cnt_a, float constant_alpha, float[] constant_color) throws VisADException- Overrides:
addLabelsToGroupin classShadowType- Throws:
VisADException
-
makeText
public VisADGeometryArray makeText(java.lang.String[] text_values, TextControl text_control, float[][] spatial_values, byte[][] color_values, boolean[][] range_select) throws VisADException
- Overrides:
makeTextin classShadowType- Parameters:
text_values-text_control-spatial_values-color_values-range_select-- Returns:
- text geometry array
- Throws:
VisADException
-
assembleColor
public byte[][] assembleColor(float[][] display_values, int valueArrayLength, int[] valueToScalar, DisplayImpl display, float[] default_values, boolean[][] range_select, boolean[] single_missing, ShadowType shadow_api) throws VisADException, java.rmi.RemoteExceptioncomposite and transform color and Alpha DisplayRealType values from display_values, and return as (Red, Green, Blue, Alpha)- Overrides:
assembleColorin classShadowType- Parameters:
display_values-valueArrayLength-valueToScalar-display-default_values-range_select-single_missing-shadow_api-- Returns:
- byte color array
- Throws:
java.rmi.RemoteExceptionVisADException
-
assembleSelect
public boolean[][] assembleSelect(float[][] display_values, int domain_length, int valueArrayLength, int[] valueToScalar, DisplayImpl display, ShadowType shadow_api) throws VisADExceptionreturn a composite of SelectRange DisplayRealType values from display_values, as 0.0 for select and Double.Nan for no select (these values can be added to other DisplayRealType values)- Overrides:
assembleSelectin classShadowType- Parameters:
display_values-domain_length-valueArrayLength-valueToScalar-display-shadow_api-- Returns:
- array of booleans as described above
- Throws:
VisADException
-
terminalTupleOrScalar
public boolean terminalTupleOrScalar(java.lang.Object group, float[][] display_values, java.lang.String text_value, TextControl text_control, int valueArrayLength, int[] valueToScalar, float[] default_values, int[] inherited_values, DataRenderer renderer) throws VisADException, java.rmi.RemoteException- Parameters:
group-display_values-text_value-text_control-valueArrayLength-valueToScalar-default_values-inherited_values-renderer-- Returns:
- true if post-processing needed
- Throws:
java.rmi.RemoteExceptionVisADException
-
ensureNotEmpty
public void ensureNotEmpty(java.lang.Object obj)
this is a work-around for the NullPointerException at javax.media.j3d.Shape3DRetained.setLive(Shape3DRetained.java:448)- Parameters:
obj-
-
ensureNotEmpty
public static void ensureNotEmpty(java.lang.Object obj, DisplayImpl display)- Parameters:
obj-display-
-
addToGroup
public boolean addToGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color) throws VisADExceptionAdd the GeometryArray to the group- Overrides:
addToGroupin classShadowType- Parameters:
group- Grouparray- array to addmode- GraphicsModeControlconstant_alpha- constant alpha valueconstant_color- constant color value- Returns:
- true if successful
- Throws:
VisADException- unable to add the array to the group
-
addToDetachableGroup
public javax.media.j3d.BranchGroup addToDetachableGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color) throws VisADExceptionConvenience method that returns a Branch node, which may be parented, and whose only child can be detached. Acts also as an id since its parent may have multiple children.- Overrides:
addToDetachableGroupin classShadowType- Throws:
VisADException
-
addTextToGroup
public boolean addTextToGroup(java.lang.Object group, VisADGeometryArray array, GraphicsModeControl mode, float constant_alpha, float[] constant_color) throws VisADException- Overrides:
addTextToGroupin classShadowType- Parameters:
group-array-mode-constant_alpha-constant_color-- Returns:
- true if added
- Throws:
VisADException
-
allowConstantColorSurfaces
public boolean allowConstantColorSurfaces()
Do we allo constant color surfaces?- Overrides:
allowConstantColorSurfacesin classShadowType- Returns:
- false
-
toString
public java.lang.String toString()
Get a String representation of this object- Overrides:
toStringin classShadowType- Returns:
- the String representation of this object
-
-
DMelt 3.0 © DataMelt by jWork.ORG