javax.media.j3d
Class ImageComponent

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.NodeComponent
              |
              +--javax.media.j3d.ImageComponent
Direct Known Subclasses:
ImageComponent2D, ImageComponent3D

public abstract class ImageComponent
extends NodeComponent

Abstract class that is used to define 2D or 3D ImageComponent classes used in a Java 3D scene graph. This is used for texture images, background images and raster components of Shape3D nodes.

Note that all color fields are treated as unsigned values, even though Java does not directly support unsigned variables. This means, for example, that an ImageComponent using a format of FORMAT_RGB5 can represent red, green, and blue values between 0 and 31, while an ImageComponent using a format of FORMAT_RGB8 can represent color values between 0 and 255. Even when byte values are used to create a BufferedImage with 8-bit color components, the resulting colors (bytes) are interpreted as if they were unsigned. Values greater than 127 can be assigned to a byte variable using a type cast. For example:

If intValue is greater than 127, then byteVariable will be negative. The correct value will be extracted when it is used (by masking off the upper bits).


Field Summary
static int ALLOW_FORMAT_READ
          Specifies that this ImageComponent object allows reading its format component information.
static int ALLOW_IMAGE_READ
          Specifies that this ImageComponent object allows reading its image component information.
static int ALLOW_SIZE_READ
          Specifies that this ImageComponent object allows reading its size component information (width, height, and depth).
static int FORMAT_CHANNEL8
          Specifies that each pixel contains 1 8-bit channel: it can be used for only luminance or only alpha or only intensity
static int FORMAT_LUM4_ALPHA4
          Specifies that each pixel contains 2 4-bit channels:one each for luminance and alpha.
static int FORMAT_LUM8_ALPHA8
          Specifies that each pixel contains 2 8-bit channels:one each for luminance and alpha
static int FORMAT_R3_G3_B2
          Specifies that each pixel contains 2 3-bit channels:one each for red, green, and 1 2-bit channel for blue.
static int FORMAT_RGB
          Specifies that each pixel contains 3 8-bit channels:one each for red, green, blue.
static int FORMAT_RGB4
          Specifies that each pixel contains 3 4-bit channels:one each for red, green, blue.
static int FORMAT_RGB5
          Specifies that each pixel contains 3 5-bit channels:one each for red, green, blue.
static int FORMAT_RGB5_A1
          Specifies that each pixel contains 3 5-bit channels:one each for red, green, blue and 1 1-bit channel for alpha
static int FORMAT_RGB8
          Specifies that each pixel contains 3 8-bit channels:one each for red, green, blue.
static int FORMAT_RGBA
          Specifies that each pixel contains 4 8-bit channels:one each for red, green, blue, alpha.
static int FORMAT_RGBA4
          Specifies that each pixel contains 4 4-bit channels:one each for red, green, blue, alpha.
static int FORMAT_RGBA8
          Specifies that each pixel contains 4 8-bit channels:one each for red, green, blue, alpha.
 
Constructor Summary
ImageComponent(int format, int width, int height)
          Constructs an image component object using the specified format, width, and height.
 
Method Summary
 int getFormat()
          Retrieves the format of this image component object.
 int getHeight()
          Retrieves the height of this image component object.
 int getWidth()
          Retrieves the width of this image component object.
 
Methods inherited from class javax.media.j3d.NodeComponent
cloneNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FORMAT_RGB

public static final int FORMAT_RGB
Specifies that each pixel contains 3 8-bit channels:one each for red, green, blue. Same as FORMAT_RGB_8;

FORMAT_RGBA

public static final int FORMAT_RGBA
Specifies that each pixel contains 4 8-bit channels:one each for red, green, blue, alpha. Same as FORMAT_RGBA_8;

FORMAT_RGB8

public static final int FORMAT_RGB8
Specifies that each pixel contains 3 8-bit channels:one each for red, green, blue. Same as FORMAT_RGB;

FORMAT_RGBA8

public static final int FORMAT_RGBA8
Specifies that each pixel contains 4 8-bit channels:one each for red, green, blue, alpha. Same as FORMAT_RGBA;

FORMAT_RGB5

public static final int FORMAT_RGB5
Specifies that each pixel contains 3 5-bit channels:one each for red, green, blue.

FORMAT_RGB5_A1

public static final int FORMAT_RGB5_A1
Specifies that each pixel contains 3 5-bit channels:one each for red, green, blue and 1 1-bit channel for alpha

FORMAT_RGB4

public static final int FORMAT_RGB4
Specifies that each pixel contains 3 4-bit channels:one each for red, green, blue.

FORMAT_RGBA4

public static final int FORMAT_RGBA4
Specifies that each pixel contains 4 4-bit channels:one each for red, green, blue, alpha.

FORMAT_LUM4_ALPHA4

public static final int FORMAT_LUM4_ALPHA4
Specifies that each pixel contains 2 4-bit channels:one each for luminance and alpha.

FORMAT_LUM8_ALPHA8

public static final int FORMAT_LUM8_ALPHA8
Specifies that each pixel contains 2 8-bit channels:one each for luminance and alpha

FORMAT_R3_G3_B2

public static final int FORMAT_R3_G3_B2
Specifies that each pixel contains 2 3-bit channels:one each for red, green, and 1 2-bit channel for blue.

FORMAT_CHANNEL8

public static final int FORMAT_CHANNEL8
Specifies that each pixel contains 1 8-bit channel: it can be used for only luminance or only alpha or only intensity

ALLOW_SIZE_READ

public static final int ALLOW_SIZE_READ
Specifies that this ImageComponent object allows reading its size component information (width, height, and depth).

ALLOW_FORMAT_READ

public static final int ALLOW_FORMAT_READ
Specifies that this ImageComponent object allows reading its format component information.

ALLOW_IMAGE_READ

public static final int ALLOW_IMAGE_READ
Specifies that this ImageComponent object allows reading its image component information.
Constructor Detail

ImageComponent

public ImageComponent(int format,
                      int width,
                      int height)
Constructs an image component object using the specified format, width, and height.
Parameters:
format - the image component format, one of: FORMAT_RGB, FORMAT_RGBA etc.
width - the number of columns of pixels in this image component object
height - the number of rows of pixels in this image component object
Throws:
java.lang.IllegalArgumentException - if format is invalid or width/height are non-positive.
Method Detail

getWidth

public final int getWidth()
Retrieves the width of this image component object.
Returns:
the width of this image component object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getHeight

public final int getHeight()
Retrieves the height of this image component object.
Returns:
the height of this image component object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

getFormat

public final int getFormat()
Retrieves the format of this image component object.
Returns:
the format of this image component object
Throws:
CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph