javax.media.j3d
Class Appearance

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.NodeComponent
          extended by javax.media.j3d.Appearance
Direct Known Subclasses:
ShaderAppearance

public class Appearance
extends NodeComponent

The Appearance object defines all rendering state that can be set as a component object of a Shape3D node. The rendering state consists of the following:

See Also:
ColoringAttributes, LineAttributes, PointAttributes, PolygonAttributes, RenderingAttributes, TransparencyAttributes, Material, Texture, TextureAttributes, TexCoordGeneration, TextureUnitState

Field Summary
static int ALLOW_COLORING_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its coloringAttributes component information.
static int ALLOW_COLORING_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its coloringAttributes component information.
static int ALLOW_LINE_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its line component information.
static int ALLOW_LINE_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its line component information.
static int ALLOW_MATERIAL_READ
          Specifies that this Appearance object allows reading its material component information.
static int ALLOW_MATERIAL_WRITE
          Specifies that this Appearance object allows writing its material component information.
static int ALLOW_POINT_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its point component information.
static int ALLOW_POINT_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its point component information.
static int ALLOW_POLYGON_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its polygon component information.
static int ALLOW_POLYGON_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its polygon component information.
static int ALLOW_RENDERING_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its rendering/rasterization component information.
static int ALLOW_RENDERING_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its rendering/rasterization component information.
static int ALLOW_TEXGEN_READ
          Specifies that this Appearance object allows reading its texture coordinate generation component information.
static int ALLOW_TEXGEN_WRITE
          Specifies that this Appearance object allows writing its texture coordinate generation component information.
static int ALLOW_TEXTURE_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its textureAttributes component information.
static int ALLOW_TEXTURE_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its textureAttributes component information.
static int ALLOW_TEXTURE_READ
          Specifies that this Appearance object allows reading its texture component information.
static int ALLOW_TEXTURE_UNIT_STATE_READ
          Specifies that this Appearance object allows reading its texture unit state component information.
static int ALLOW_TEXTURE_UNIT_STATE_WRITE
          Specifies that this Appearance object allows writing its texture unit state component information.
static int ALLOW_TEXTURE_WRITE
          Specifies that this Appearance object allows writing its texture component information.
static int ALLOW_TRANSPARENCY_ATTRIBUTES_READ
          Specifies that this Appearance object allows reading its transparency component information.
static int ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE
          Specifies that this Appearance object allows writing its transparency component information.
 
Constructor Summary
Appearance()
          Constructs an Appearance component object using defaults for all state variables.
 
Method Summary
 NodeComponent cloneNodeComponent()
          Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)
 void duplicateNodeComponent(NodeComponent originalNodeComponent)
          Deprecated. replaced with duplicateNodeComponent( NodeComponent originalNodeComponent, boolean forceDuplicate)
 ColoringAttributes getColoringAttributes()
          Retrieves the current coloringAttributes object.
 LineAttributes getLineAttributes()
          Retrieves the current lineAttributes object.
 Material getMaterial()
          Retrieves the current material object.
 PointAttributes getPointAttributes()
          Retrieves the current pointAttributes object.
 PolygonAttributes getPolygonAttributes()
          Retrieves the current polygonAttributes object.
 RenderingAttributes getRenderingAttributes()
          Retrieves the current renderingAttributes object.
 TexCoordGeneration getTexCoordGeneration()
          Retrieves the current texCoordGeneration object.
 Texture getTexture()
          Retrieves the current texture object.
 TextureAttributes getTextureAttributes()
          Retrieves the current textureAttributes object.
 int getTextureUnitCount()
          Retrieves the length of the texture unit state array from this appearance object.
 TextureUnitState[] getTextureUnitState()
          Retrieves the array of texture unit state objects from this Appearance object.
 TextureUnitState getTextureUnitState(int index)
          Retrieves the texture unit state object at the specified index within the texture unit state array.
 TransparencyAttributes getTransparencyAttributes()
          Retrieves the current transparencyAttributes object.
 void setColoringAttributes(ColoringAttributes coloringAttributes)
          Sets the coloringAttributes object to the specified object.
 void setLineAttributes(LineAttributes lineAttributes)
          Sets the lineAttributes object to the specified object.
 void setMaterial(Material material)
          Sets the material object to the specified object.
 void setPointAttributes(PointAttributes pointAttributes)
          Sets the pointAttributes object to the specified object.
 void setPolygonAttributes(PolygonAttributes polygonAttributes)
          Sets the polygonAttributes object to the specified object.
 void setRenderingAttributes(RenderingAttributes renderingAttributes)
          Sets the renderingAttributes object to the specified object.
 void setTexCoordGeneration(TexCoordGeneration texCoordGeneration)
          Sets the texCoordGeneration object to the specified object.
 void setTexture(Texture texture)
          Sets the texture object to the specified object.
 void setTextureAttributes(TextureAttributes textureAttributes)
          Sets the textureAttributes object to the specified object.
 void setTextureUnitState(int index, TextureUnitState state)
          Sets the texture unit state object at the specified index within the texture unit state array to the specified object.
 void setTextureUnitState(TextureUnitState[] stateArray)
          Sets the texture unit state array for this appearance object to the specified array.
 void setTransparencyAttributes(TransparencyAttributes transparencyAttributes)
          Sets the transparencyAttributes object to the specified object.
 
Methods inherited from class javax.media.j3d.NodeComponent
cloneNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ALLOW_COLORING_ATTRIBUTES_READ

public static final int ALLOW_COLORING_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its coloringAttributes component information.

See Also:
Constant Field Values

ALLOW_COLORING_ATTRIBUTES_WRITE

public static final int ALLOW_COLORING_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its coloringAttributes component information.

See Also:
Constant Field Values

ALLOW_TRANSPARENCY_ATTRIBUTES_READ

public static final int ALLOW_TRANSPARENCY_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its transparency component information.

See Also:
Constant Field Values

ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE

public static final int ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its transparency component information.

See Also:
Constant Field Values

ALLOW_RENDERING_ATTRIBUTES_READ

public static final int ALLOW_RENDERING_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its rendering/rasterization component information.

See Also:
Constant Field Values

ALLOW_RENDERING_ATTRIBUTES_WRITE

public static final int ALLOW_RENDERING_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its rendering/rasterization component information.

See Also:
Constant Field Values

ALLOW_POLYGON_ATTRIBUTES_READ

public static final int ALLOW_POLYGON_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its polygon component information.

See Also:
Constant Field Values

ALLOW_POLYGON_ATTRIBUTES_WRITE

public static final int ALLOW_POLYGON_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its polygon component information.

See Also:
Constant Field Values

ALLOW_LINE_ATTRIBUTES_READ

public static final int ALLOW_LINE_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its line component information.

See Also:
Constant Field Values

ALLOW_LINE_ATTRIBUTES_WRITE

public static final int ALLOW_LINE_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its line component information.

See Also:
Constant Field Values

ALLOW_POINT_ATTRIBUTES_READ

public static final int ALLOW_POINT_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its point component information.

See Also:
Constant Field Values

ALLOW_POINT_ATTRIBUTES_WRITE

public static final int ALLOW_POINT_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its point component information.

See Also:
Constant Field Values

ALLOW_MATERIAL_READ

public static final int ALLOW_MATERIAL_READ
Specifies that this Appearance object allows reading its material component information.

See Also:
Constant Field Values

ALLOW_MATERIAL_WRITE

public static final int ALLOW_MATERIAL_WRITE
Specifies that this Appearance object allows writing its material component information.

See Also:
Constant Field Values

ALLOW_TEXTURE_READ

public static final int ALLOW_TEXTURE_READ
Specifies that this Appearance object allows reading its texture component information.

See Also:
Constant Field Values

ALLOW_TEXTURE_WRITE

public static final int ALLOW_TEXTURE_WRITE
Specifies that this Appearance object allows writing its texture component information.

See Also:
Constant Field Values

ALLOW_TEXTURE_ATTRIBUTES_READ

public static final int ALLOW_TEXTURE_ATTRIBUTES_READ
Specifies that this Appearance object allows reading its textureAttributes component information.

See Also:
Constant Field Values

ALLOW_TEXTURE_ATTRIBUTES_WRITE

public static final int ALLOW_TEXTURE_ATTRIBUTES_WRITE
Specifies that this Appearance object allows writing its textureAttributes component information.

See Also:
Constant Field Values

ALLOW_TEXGEN_READ

public static final int ALLOW_TEXGEN_READ
Specifies that this Appearance object allows reading its texture coordinate generation component information.

See Also:
Constant Field Values

ALLOW_TEXGEN_WRITE

public static final int ALLOW_TEXGEN_WRITE
Specifies that this Appearance object allows writing its texture coordinate generation component information.

See Also:
Constant Field Values

ALLOW_TEXTURE_UNIT_STATE_READ

public static final int ALLOW_TEXTURE_UNIT_STATE_READ
Specifies that this Appearance object allows reading its texture unit state component information.

Since:
Java 3D 1.2
See Also:
Constant Field Values

ALLOW_TEXTURE_UNIT_STATE_WRITE

public static final int ALLOW_TEXTURE_UNIT_STATE_WRITE
Specifies that this Appearance object allows writing its texture unit state component information.

Since:
Java 3D 1.2
See Also:
Constant Field Values
Constructor Detail

Appearance

public Appearance()
Constructs an Appearance component object using defaults for all state variables. All component object references are initialized to null.

Method Detail

setMaterial

public void setMaterial(Material material)
Sets the material object to the specified object. Setting it to null disables lighting.

Parameters:
material - object that specifies the desired material properties
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getMaterial

public Material getMaterial()
Retrieves the current material object.

Returns:
the material object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setColoringAttributes

public void setColoringAttributes(ColoringAttributes coloringAttributes)
Sets the coloringAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
coloringAttributes - object that specifies the desired coloringAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getColoringAttributes

public ColoringAttributes getColoringAttributes()
Retrieves the current coloringAttributes object.

Returns:
the coloringAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setTransparencyAttributes

public void setTransparencyAttributes(TransparencyAttributes transparencyAttributes)
Sets the transparencyAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
transparencyAttributes - object that specifies the desired transparencyAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getTransparencyAttributes

public TransparencyAttributes getTransparencyAttributes()
Retrieves the current transparencyAttributes object.

Returns:
the transparencyAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setRenderingAttributes

public void setRenderingAttributes(RenderingAttributes renderingAttributes)
Sets the renderingAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
renderingAttributes - object that specifies the desired renderingAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getRenderingAttributes

public RenderingAttributes getRenderingAttributes()
Retrieves the current renderingAttributes object.

Returns:
the renderingAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setPolygonAttributes

public void setPolygonAttributes(PolygonAttributes polygonAttributes)
Sets the polygonAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
polygonAttributes - object that specifies the desired polygonAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getPolygonAttributes

public PolygonAttributes getPolygonAttributes()
Retrieves the current polygonAttributes object.

Returns:
the polygonAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setLineAttributes

public void setLineAttributes(LineAttributes lineAttributes)
Sets the lineAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
lineAttributes - object that specifies the desired lineAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getLineAttributes

public LineAttributes getLineAttributes()
Retrieves the current lineAttributes object.

Returns:
the lineAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setPointAttributes

public void setPointAttributes(PointAttributes pointAttributes)
Sets the pointAttributes object to the specified object. Setting it to null will result in default attribute usage.

Parameters:
pointAttributes - object that specifies the desired pointAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getPointAttributes

public PointAttributes getPointAttributes()
Retrieves the current pointAttributes object.

Returns:
the pointAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setTexture

public void setTexture(Texture texture)
Sets the texture object to the specified object. Setting it to null disables texture mapping.

Applications must not set individual texture component objects (texture, textureAttributes, or texCoordGeneration) and the texture unit state array in the same Appearance object. Doing so will result in an exception being thrown.

Parameters:
texture - object that specifies the desired texture map and texture parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.IllegalStateException - if the specified texture object is non-null and the texture unit state array in this appearance object is already non-null.
IllegalSharingException - if this Appearance is live and the specified texture refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.
IllegalSharingException - if this Appearance is being used by an immediate mode context and the specified texture refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.

getTexture

public Texture getTexture()
Retrieves the current texture object.

Returns:
the texture object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setTextureAttributes

public void setTextureAttributes(TextureAttributes textureAttributes)
Sets the textureAttributes object to the specified object. Setting it to null will result in default attribute usage.

Applications must not set individual texture component objects (texture, textureAttributes, or texCoordGeneration) and the texture unit state array in the same Appearance object. Doing so will result in an exception being thrown.

Parameters:
textureAttributes - object that specifies the desired textureAttributes map and textureAttributes parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.IllegalStateException - if the specified textureAttributes object is non-null and the texture unit state array in this appearance object is already non-null.

getTextureAttributes

public TextureAttributes getTextureAttributes()
Retrieves the current textureAttributes object.

Returns:
the textureAttributes object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setTexCoordGeneration

public void setTexCoordGeneration(TexCoordGeneration texCoordGeneration)
Sets the texCoordGeneration object to the specified object. Setting it to null disables texture coordinate generation.

Applications must not set individual texture component objects (texture, textureAttributes, or texCoordGeneration) and the texture unit state array in the same Appearance object. Doing so will result in an exception being thrown.

Parameters:
texCoordGeneration - object that specifies the texture coordinate generation parameters
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.IllegalStateException - if the specified texCoordGeneration object is non-null and the texture unit state array in this appearance object is already non-null.

getTexCoordGeneration

public TexCoordGeneration getTexCoordGeneration()
Retrieves the current texCoordGeneration object.

Returns:
the texCoordGeneration object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

setTextureUnitState

public void setTextureUnitState(TextureUnitState[] stateArray)
Sets the texture unit state array for this appearance object to the specified array. A shallow copy of the array of references to the TextureUnitState objects is made. If the specified array is null or if the length of the array is 0, multi-texture is disabled. Within the array, a null TextureUnitState element disables the corresponding texture unit.

Applications must not set individual texture component objects (texture, textureAttributes, or texCoordGeneration) and the texture unit state array in the same Appearance object. Doing so will result in an exception being thrown.

Parameters:
stateArray - array of TextureUnitState objects that specify the desired texture state for each unit. The length of this array specifies the maximum number of texture units that will be used by this appearance object. The texture units are numbered from 0 through stateArray.length-1.
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.IllegalStateException - if the specified array is non-null and any of the texture object, textureAttributes object, or texCoordGeneration object in this appearance object is already non-null.
IllegalSharingException - if this Appearance is live and any of the specified textures refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.
IllegalSharingException - if this Appearance is being used by an immediate mode context and any of the specified textures refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.
Since:
Java 3D 1.2

setTextureUnitState

public void setTextureUnitState(int index,
                                TextureUnitState state)
Sets the texture unit state object at the specified index within the texture unit state array to the specified object. If the specified object is null, the corresponding texture unit is disabled. The index must be within the range [0, stateArray.length-1].

Parameters:
index - the array index of the object to be set
state - new texture unit state object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
java.lang.NullPointerException - if the texture unit state array is null.
java.lang.ArrayIndexOutOfBoundsException - if index >= stateArray.length.
IllegalSharingException - if this Appearance is live and the specified texture refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.
IllegalSharingException - if this Appearance is being used by an immediate mode context and the specified texture refers to an ImageComponent2D that is being used by a Canvas3D as an off-screen buffer.
Since:
Java 3D 1.2

getTextureUnitState

public TextureUnitState[] getTextureUnitState()
Retrieves the array of texture unit state objects from this Appearance object. A shallow copy of the array of references to the TextureUnitState objects is returned.

Returns:
the array of texture unit state objects
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
Since:
Java 3D 1.2

getTextureUnitState

public TextureUnitState getTextureUnitState(int index)
Retrieves the texture unit state object at the specified index within the texture unit state array. The index must be within the range [0, stateArray.length-1].

Parameters:
index - the array index of the object to be retrieved
Returns:
the texture unit state object at the specified index
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
Since:
Java 3D 1.2

getTextureUnitCount

public int getTextureUnitCount()
Retrieves the length of the texture unit state array from this appearance object. The length of this array specifies the maximum number of texture units that will be used by this appearance object. If the array is null, a count of 0 is returned.

Returns:
the length of the texture unit state array
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
Since:
Java 3D 1.2

cloneNodeComponent

public NodeComponent cloneNodeComponent()
Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate)

Overrides:
cloneNodeComponent in class NodeComponent

duplicateNodeComponent

public void duplicateNodeComponent(NodeComponent originalNodeComponent)
Deprecated. replaced with duplicateNodeComponent( NodeComponent originalNodeComponent, boolean forceDuplicate)

NOTE: Applications should not call this method directly. It should only be called by the cloneNode method.

Overrides:
duplicateNodeComponent in class NodeComponent