org.j3d.geom.overlay
Class SubOverlay
- class SubOverlay
- A SubOverlay is one of the pieces which displays a portion of the overlay. This is used internally by Overlay and should not be referenced directly.
- Version:
- $Revision: 1.5 $
- Author:
- David Yazel
NEXT_BUFFER
static final int NEXT_BUFFER
- Represents that a buffer being activated or updated sould be the next avaiable one.
buffer
private java.awt.image.BufferedImage[] buffer
- The list of images being used as the buffers
bufferHolder
private javax.media.j3d.ImageComponent2D[] bufferHolder
- The component version of the buffer images used by Java3D
numBuffers
private int numBuffers
- The number of buffers we are using
activeBufferIndex
private int activeBufferIndex
- The index of the currently active buffer
texture
private javax.media.j3d.Texture2D texture
- texture mapped to one double buffer
shape
private javax.media.j3d.Shape3D shape
- Textured quad used to hold geometry
space
private java.awt.Rectangle space
- The part of the overlay covered by this suboverlay
transferBuffer
private int[] transferBuffer
- Used for transferring scan lines from main image to sub-image
SubOverlay
SubOverlay(java.awt.Rectangle space)
- Creates a double buffered suboverlay for the specified region that has no transparency.
- Parameters:
space
- The area in screen space coords to create this for
SubOverlay
SubOverlay(java.awt.Rectangle space,
javax.media.j3d.Material material)
- Creates a double buffered suboverlay for the specified region that has no transparency.
- Parameters:
space
- The area in screen space coords to create this for
material
- The common material for all to use
SubOverlay
SubOverlay(java.awt.Rectangle space,
int numBuffers)
- Creates a suboverlay for the specified region that has a given number of buffers and no transparency.
- Parameters:
space
- The area in screen space coords to create this for
numBuffers
- The number of buffers to create
SubOverlay
SubOverlay(java.awt.Rectangle space,
int numBuffers,
javax.media.j3d.Material material)
- Creates a suboverlay for the specified region that has a given number of buffers and no transparency.
- Parameters:
space
- The area in screen space coords to create this for
numBuffers
- The number of buffers to create
material
- The common material for all to use
SubOverlay
SubOverlay(java.awt.Rectangle space,
boolean hasAlpha)
- Creates a double buffered suboverlay for the specified region with the option to set the transparency.
- Parameters:
space
- The area in screen space coords to create this for
hasAlpha
- true If the overlay should include an alpha component
SubOverlay
SubOverlay(java.awt.Rectangle space,
boolean hasAlpha,
javax.media.j3d.Material material)
- Creates a double buffered suboverlay for the specified region with the option to set the transparency.
- Parameters:
space
- The area in screen space coords to create this for
hasAlpha
- true If the overlay should include an alpha component
material
- The common material for all to use
SubOverlay
SubOverlay(java.awt.Rectangle space,
int numBuffers,
boolean hasAlpha)
- Creates a buffered suboverlay for the specified region with the option to set the transparency and number of buffers.
- Parameters:
space
- The area in screen space coords to create this for
numBuffers
- The number of buffers to create
hasAlpha
- true If the overlay should include an alpha component
material
- The common material for all to use
SubOverlay
SubOverlay(java.awt.Rectangle space,
int numBuffers,
boolean hasAlpha,
javax.media.j3d.Material material)
- Creates a buffered suboverlay for the specified region with the option to set the transparency and number of buffers.
- Parameters:
space
- The area in screen space coords to create this for
numBuffers
- The number of buffers to create
hasAlpha
- true If the overlay should include an alpha component
material
- The common material for all to use
SubOverlay
SubOverlay(java.awt.Rectangle space,
int numBuffers,
boolean hasAlpha,
javax.media.j3d.PolygonAttributes polyAttr,
javax.media.j3d.RenderingAttributes renderAttr,
javax.media.j3d.TextureAttributes texAttr,
javax.media.j3d.TransparencyAttributes transAttr,
javax.media.j3d.Material material)
- Creates the suboverlay with customisable attribute information. If any parameter is null, defaults are used.
- Parameters:
space
- The area in screen space coords to create this for
numBuffers
- The number of buffers to create
hasAlpha
- true If the overlay should include an alpha component
polyAttr
- PolygonAttributes from the parent overlay
renderAttr
- RenderingAttributes from the parent overlay
texAttr
- TextureAttributes from the parent overlay
transAttr
- TransparencyAttributes from the parent overlay
material
- The common material for all to use
updateBuffer
void updateBuffer(java.awt.image.BufferedImage fullOverlayImage,
int bufferIndex)
- Draws the portion of fullOverlayImage corresponding to space into the buffer at bufferIndex.
- Parameters:
fullOverlayImage
- The full image that we take a section from
bufferIndex
- The index of the buffer to use to do the update
getNextBufferIndex
int getNextBufferIndex()
- Returns the index of the next buffer in line to be painted
setActiveBufferIndex
void setActiveBufferIndex(int newIndex)
- This will change the buffer being displayed. It does not write anything, only switched the image so it must be used carefully. It is intended for use where more than one buffer has been prepped ahead of time. If you do this without having the buffers preprepped then you will get strange things.
getShape
javax.media.j3d.Shape3D getShape()
- Return the underlying shape that this partial overlay is drawn on.
- Returns:
- The shape representing this texture
buildShape
private javax.media.j3d.Shape3D buildShape(javax.media.j3d.Appearance appearance,
java.awt.Rectangle space)
- Builds a Shape3D with the specified appearance covering the specified rectangle. The shape is created as a rectangle in the X,Y plane.
- Parameters:
appearance
- The appearance to use for the shape
texture
- The texture used for the buffer
space
- The coordinates of the shape to create
- Returns:
- A shape3D object representing the given information