Aviatrix3D
2.1.0

org.j3d.aviatrix3d
Class BoxBackground

java.lang.Object
  extended by org.j3d.aviatrix3d.SceneGraphObject
      extended by org.j3d.aviatrix3d.Node
          extended by org.j3d.aviatrix3d.Leaf
              extended by org.j3d.aviatrix3d.Background
                  extended by org.j3d.aviatrix3d.BoxBackground
All Implemented Interfaces:
java.lang.Comparable, BackgroundRenderable, Cullable, DeletableRenderable, EnvironmentCullable, ObjectRenderable, Renderable

public class BoxBackground
extends Background
implements DeletableRenderable

Background node that renders a sky box using any or all of the 6 textures.

Note that this will take any 2D texture component as the source. However, if that image defines mipmapping, the background ignores it. Only the first (primary) image is used to render the texture. The size of the box is 2x2x2 centered at the local origin.

This will set the background colour to a single colour for the entire viewport. If used, this will override the setClearColor() on GraphicsOutputDevice.

Version:
$Revision: 1.15 $
Author:
Justin Couch

Field Summary
static int NEGATIVE_X
          The texture belongs to the negative X axis
static int NEGATIVE_Y
          The texture belongs to the negative Y axis
static int NEGATIVE_Z
          The texture belongs to the negative Z axis
static int POSITIVE_X
          The texture belongs to the positive X axis
static int POSITIVE_Y
          The texture belongs to the positive Y axis
static int POSITIVE_Z
          The texture belongs to the positive Z axis
 
Fields inherited from class org.j3d.aviatrix3d.Background
color, dispListMap, INVALID_ALPHA_PROP, INVALID_BLUE_PROP, INVALID_GREEN_PROP, INVALID_RED_PROP, useClearColor
 
Fields inherited from class org.j3d.aviatrix3d.Node
bounds, implicitBounds, INVALID_BOUNDS, parent
 
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject
alive, LISTENER_SET_TIMING_ERR_PROP, updateHandler
 
Constructor Summary
BoxBackground()
          Constructs a background node for a base colour of black.
BoxBackground(float[] c)
          Construct a background node for a user-provided colour.
 
Method Summary
 void cleanup(javax.media.opengl.GL gl)
          Cleanup the object now for the given GL context.
 int compareTo(BoxBackground bg)
          Compares this object with the specified object for order.
 int compareTo(java.lang.Object o)
          Compares this object with the specified object for order.
 boolean equals(BoxBackground bg)
          Compares this object with the specified object to check for equivalence.
 boolean equals(java.lang.Object o)
          Compare this object for equality to the given object.
 TextureComponent2D getTexture(int side)
          Get the current image that is being used on the background.
 boolean is2D()
          Check to see whether this shape is something that represents 2D or 3D renderable background.
 void postRender(javax.media.opengl.GL gl)
          Restore all openGL state to the given drawable.
 void render(javax.media.opengl.GL gl)
          Issue ogl commands needed for this component
 void setTexture(int side, TextureComponent2D srcImage)
          Set the image source to be used for the background.
 
Methods inherited from class org.j3d.aviatrix3d.Background
compareColor4, equalsColor4, getColor, getCullableParent, getRenderable, isColorClearEnabled, markBoundsDirty, setColor, setColor, setColorClearEnabled
 
Methods inherited from class org.j3d.aviatrix3d.Node
boundsChanged, checkForCyclicParent, getBounds, getParent, recomputeBounds, removeParent, requestBoundsUpdate, setBounds, setParent, updateBounds, updateParentBounds
 
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject
checkForCyclicChild, dataChanged, getAppUpdateWriteTimingMessage, getBoundsWriteTimingMessage, getDataWriteTimingMessage, getUserData, isLive, setLive, setUpdateHandler, setUserData
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

POSITIVE_X

public static final int POSITIVE_X
The texture belongs to the positive X axis

See Also:
Constant Field Values

NEGATIVE_X

public static final int NEGATIVE_X
The texture belongs to the negative X axis

See Also:
Constant Field Values

POSITIVE_Y

public static final int POSITIVE_Y
The texture belongs to the positive Y axis

See Also:
Constant Field Values

NEGATIVE_Y

public static final int NEGATIVE_Y
The texture belongs to the negative Y axis

See Also:
Constant Field Values

POSITIVE_Z

public static final int POSITIVE_Z
The texture belongs to the positive Z axis

See Also:
Constant Field Values

NEGATIVE_Z

public static final int NEGATIVE_Z
The texture belongs to the negative Z axis

See Also:
Constant Field Values
Constructor Detail

BoxBackground

public BoxBackground()
Constructs a background node for a base colour of black.


BoxBackground

public BoxBackground(float[] c)
Construct a background node for a user-provided colour. The colour provided should have 3 or 4 elements. If 3 are provided, a fully opaque background is assumed. If less than 3 elements are provided, an exception is generated. If the array is null, this assumes the a default black background.

Parameters:
c - The array of colours to use, or null
Throws:
java.lang.IllegalArgumentException - The colour array is not long enough
Method Detail

cleanup

public void cleanup(javax.media.opengl.GL gl)
Cleanup the object now for the given GL context.

Specified by:
cleanup in interface DeletableRenderable
Parameters:
gl - The gl context to draw with

is2D

public boolean is2D()
Check to see whether this shape is something that represents 2D or 3D renderable background. Pure 2D backgrounds do not need transformation stacks or frustums set up to render - they can blit straight to the screen as needed.

Specified by:
is2D in interface BackgroundRenderable
Returns:
True if this is 2D background, false if this is 3D

render

public void render(javax.media.opengl.GL gl)
Issue ogl commands needed for this component

Specified by:
render in interface ObjectRenderable
Parameters:
gl - The gl context to draw with

postRender

public void postRender(javax.media.opengl.GL gl)
Restore all openGL state to the given drawable.

Specified by:
postRender in interface ObjectRenderable
Parameters:
gl - The gl context to draw with

compareTo

public int compareTo(java.lang.Object o)
              throws java.lang.ClassCastException
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - The objec to be compared
Returns:
-1, 0 or 1 depending on order
Throws:
java.lang.ClassCastException - The specified object's type prevents it from being compared to this Object

equals

public boolean equals(java.lang.Object o)
Compare this object for equality to the given object.

Specified by:
equals in interface Renderable
Overrides:
equals in class java.lang.Object
Parameters:
o - The object to be compared
Returns:
True if these represent the same values

setTexture

public void setTexture(int side,
                       TextureComponent2D srcImage)
                throws InvalidWriteTimingException
Set the image source to be used for the background.

Parameters:
side - Which side of the box to get the texture for
srcImage - The image data to use
Throws:
InvalidWriteTimingException - An attempt was made to write outside of the NodeUpdateListener data changed callback method

getTexture

public TextureComponent2D getTexture(int side)
Get the current image that is being used on the background. If none is defined, return null.

Parameters:
side - Which side of the box to get the texture for
Returns:
The current texture source or null

compareTo

public int compareTo(BoxBackground bg)
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Parameters:
bg - The argument instance to be compared
Returns:
-1, 0 or 1 depending on order

equals

public boolean equals(BoxBackground bg)
Compares this object with the specified object to check for equivalence.

Parameters:
bg - The background instance to be compared
Returns:
true if the objects represent identical values

Aviatrix3D
2.1.0

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2009 j3d.org