Class Appearance
- Direct Known Subclasses:
ShaderAppearance
- Coloring attributes - defines attributes used in color selection and shading. These attributes are defined in a ColoringAttributes object.
- Line attributes - defines attributes used to define lines, including the pattern, width, and whether antialiasing is to be used. These attributes are defined in a LineAttributes object.
- Point attributes - defines attributes used to define points, including the size and whether antialiasing is to be used. These attributes are defined in a PointAttributes object.
- Polygon attributes - defines the attributes used to define polygons, including culling, rasterization mode (filled, lines, or points), constant offset, offset factor, and whether back back facing normals are flipped. These attributes are defined in a PolygonAttributes object.
- Rendering attributes - defines rendering operations, including the alpha test function and test value, the raster operation, whether vertex colors are ignored, whether invisible objects are rendered, and whether the depth buffer is enabled. These attributes are defined in a RenderingAttributes object.
- Transparency attributes - defines the attributes that affect transparency of the object, such as the transparency mode (blended, screen-door), blending function (used in transparency and antialiasing operations), and a blend value that defines the amount of transparency to be applied to this Appearance component object.
- Material - defines the appearance of an object under illumination, such as the ambient color, diffuse color, specular color, emissive color, and shininess. These attributes are defined in a Material object.
- Texture - defines the texture image and filtering parameters used when texture mapping is enabled. These attributes are defined in a Texture object.
- Texture attributes - defines the attributes that apply to texture mapping, such as the texture mode, texture transform, blend color, and perspective correction mode. These attributes are defined in a TextureAttributes object.
- Texture coordinate generation - defines the attributes that apply to texture coordinate generation, such as whether texture coordinate generation is enabled, coordinate format (2D or 3D coordinates), coordinate generation mode (object linear, eye linear, or spherical reflection mapping), and the R, S, and T coordinate plane equations. These attributes are defined in a TexCoordGeneration object.
- Texture unit state - array that defines texture state for each of N separate texture units. This allows multiple textures to be applied to geometry. Each TextureUnitState object contains a Texture object, TextureAttributes, and TexCoordGeneration object for one texture unit. If the length of the texture unit state array is greater than 0, then the array is used for all texture state; the individual Texture, TextureAttributes, and TexCoordGeneration objects in this Appearance object are not used and and must not be set by an application. If the length of the texture unit state array is 0, the multi-texture is disabled and the Texture, TextureAttributes, and TexCoordGeneration objects in the Appearance object are used. If the application sets the existing Texture, TextureAttributes, and TexCoordGeneration objects to non-null values, they effectively define the state for texture unit 0. If the TextureUnitState array is set to a non-null, non-empty array, the individual TextureUnitState objects define the state for texture units 0 through n -1. If both the old and new values are set, an exception is thrown.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Specifies that this Appearance object allows reading its coloringAttributes component information.static final int
Specifies that this Appearance object allows writing its coloringAttributes component information.static final int
Specifies that this Appearance object allows reading its line component information.static final int
Specifies that this Appearance object allows writing its line component information.static final int
Specifies that this Appearance object allows reading its material component information.static final int
Specifies that this Appearance object allows writing its material component information.static final int
Specifies that this Appearance object allows reading its point component information.static final int
Specifies that this Appearance object allows writing its point component information.static final int
Specifies that this Appearance object allows reading its polygon component information.static final int
Specifies that this Appearance object allows writing its polygon component information.static final int
Specifies that this Appearance object allows reading its rendering/rasterization component information.static final int
Specifies that this Appearance object allows writing its rendering/rasterization component information.static final int
Specifies that this Appearance object allows reading its texture coordinate generation component information.static final int
Specifies that this Appearance object allows writing its texture coordinate generation component information.static final int
Specifies that this Appearance object allows reading its textureAttributes component information.static final int
Specifies that this Appearance object allows writing its textureAttributes component information.static final int
Specifies that this Appearance object allows reading its texture component information.static final int
Specifies that this Appearance object allows reading its texture unit state component information.static final int
Specifies that this Appearance object allows writing its texture unit state component information.static final int
Specifies that this Appearance object allows writing its texture component information.static final int
Specifies that this Appearance object allows reading its transparency component information.static final int
Specifies that this Appearance object allows writing its transparency component information. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs an Appearance component object using defaults for all state variables. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.replaced with cloneNodeComponent(boolean forceDuplicate)void
duplicateNodeComponent
(NodeComponent originalNodeComponent) Deprecated.replaced with duplicateNodeComponent( NodeComponent originalNodeComponent, boolean forceDuplicate)Retrieves the current coloringAttributes object.Retrieves the current lineAttributes object.Retrieves the current material object.Retrieves the current pointAttributes object.Retrieves the current polygonAttributes object.Retrieves the current renderingAttributes object.Retrieves the current texCoordGeneration object.Retrieves the current texture object.Retrieves the current textureAttributes object.int
Retrieves the length of the texture unit state array from this appearance object.Retrieves the array of texture unit state objects from this Appearance object.getTextureUnitState
(int index) Retrieves the texture unit state object at the specified index within the texture unit state array.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, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Field Details
-
ALLOW_COLORING_ATTRIBUTES_READ
public static final int ALLOW_COLORING_ATTRIBUTES_READSpecifies that this Appearance object allows reading its coloringAttributes component information.- See Also:
-
ALLOW_COLORING_ATTRIBUTES_WRITE
public static final int ALLOW_COLORING_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its coloringAttributes component information.- See Also:
-
ALLOW_TRANSPARENCY_ATTRIBUTES_READ
public static final int ALLOW_TRANSPARENCY_ATTRIBUTES_READSpecifies that this Appearance object allows reading its transparency component information.- See Also:
-
ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE
public static final int ALLOW_TRANSPARENCY_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its transparency component information.- See Also:
-
ALLOW_RENDERING_ATTRIBUTES_READ
public static final int ALLOW_RENDERING_ATTRIBUTES_READSpecifies that this Appearance object allows reading its rendering/rasterization component information.- See Also:
-
ALLOW_RENDERING_ATTRIBUTES_WRITE
public static final int ALLOW_RENDERING_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its rendering/rasterization component information.- See Also:
-
ALLOW_POLYGON_ATTRIBUTES_READ
public static final int ALLOW_POLYGON_ATTRIBUTES_READSpecifies that this Appearance object allows reading its polygon component information.- See Also:
-
ALLOW_POLYGON_ATTRIBUTES_WRITE
public static final int ALLOW_POLYGON_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its polygon component information.- See Also:
-
ALLOW_LINE_ATTRIBUTES_READ
public static final int ALLOW_LINE_ATTRIBUTES_READSpecifies that this Appearance object allows reading its line component information.- See Also:
-
ALLOW_LINE_ATTRIBUTES_WRITE
public static final int ALLOW_LINE_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its line component information.- See Also:
-
ALLOW_POINT_ATTRIBUTES_READ
public static final int ALLOW_POINT_ATTRIBUTES_READSpecifies that this Appearance object allows reading its point component information.- See Also:
-
ALLOW_POINT_ATTRIBUTES_WRITE
public static final int ALLOW_POINT_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its point component information.- See Also:
-
ALLOW_MATERIAL_READ
public static final int ALLOW_MATERIAL_READSpecifies that this Appearance object allows reading its material component information.- See Also:
-
ALLOW_MATERIAL_WRITE
public static final int ALLOW_MATERIAL_WRITESpecifies that this Appearance object allows writing its material component information.- See Also:
-
ALLOW_TEXTURE_READ
public static final int ALLOW_TEXTURE_READSpecifies that this Appearance object allows reading its texture component information.- See Also:
-
ALLOW_TEXTURE_WRITE
public static final int ALLOW_TEXTURE_WRITESpecifies that this Appearance object allows writing its texture component information.- See Also:
-
ALLOW_TEXTURE_ATTRIBUTES_READ
public static final int ALLOW_TEXTURE_ATTRIBUTES_READSpecifies that this Appearance object allows reading its textureAttributes component information.- See Also:
-
ALLOW_TEXTURE_ATTRIBUTES_WRITE
public static final int ALLOW_TEXTURE_ATTRIBUTES_WRITESpecifies that this Appearance object allows writing its textureAttributes component information.- See Also:
-
ALLOW_TEXGEN_READ
public static final int ALLOW_TEXGEN_READSpecifies that this Appearance object allows reading its texture coordinate generation component information.- See Also:
-
ALLOW_TEXGEN_WRITE
public static final int ALLOW_TEXGEN_WRITESpecifies that this Appearance object allows writing its texture coordinate generation component information.- See Also:
-
ALLOW_TEXTURE_UNIT_STATE_READ
public static final int ALLOW_TEXTURE_UNIT_STATE_READSpecifies that this Appearance object allows reading its texture unit state component information.- Since:
- Java 3D 1.2
- See Also:
-
ALLOW_TEXTURE_UNIT_STATE_WRITE
public static final int ALLOW_TEXTURE_UNIT_STATE_WRITESpecifies that this Appearance object allows writing its texture unit state component information.- Since:
- Java 3D 1.2
- See Also:
-
-
Constructor Details
-
Appearance
public Appearance()Constructs an Appearance component object using defaults for all state variables. All component object references are initialized to null.
-
-
Method Details
-
setMaterial
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 graphIllegalStateException
- 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
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
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 graphIllegalStateException
- if the specified textureAttributes object is non-null and the texture unit state array in this appearance object is already non-null.
-
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
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 graphIllegalStateException
- if the specified texCoordGeneration object is non-null and the texture unit state array in this appearance object is already non-null.
-
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
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 from0
throughstateArray.length-1
.- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graphIllegalStateException
- 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
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 setstate
- new texture unit state object- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graphNullPointerException
- if the texture unit state array is null.ArrayIndexOutOfBoundsException
- ifindex >= 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
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
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
Deprecated.replaced with cloneNodeComponent(boolean forceDuplicate)- Overrides:
cloneNodeComponent
in classNodeComponent
-
duplicateNodeComponent
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 classNodeComponent
-