|
j3d.org Aviatrix3D | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.j3d.aviatrix3d.SceneGraphObject
org.j3d.aviatrix3d.Node
org.j3d.aviatrix3d.Leaf
org.j3d.aviatrix3d.Light
Base representation of a light source that corresponds to the base set of capabilities that all lights in OpenGL have.
By default a light is not enabled and the colour is set to black. Lights also have a secondary specular value that can be provided. By default it is black (ie has no effect). An ambient component can also be provided with this light source in addition to it's derived effects.
Field Summary | |
protected static int |
AMBIENT_TYPE
Internal type to describe that this is a pure ambient light type |
protected float[] |
ambientColor
The colour of the light |
protected float[] |
diffuseColor
The colour of the light |
protected static int |
DIRECTIONAL_TYPE
Internal type to describe that this is a directional light type |
protected boolean |
enabled
The enabled state |
protected static int |
POINT_TYPE
Internal type to describe that this is a point light type |
protected float[] |
specularColor
The colour of the light |
protected static int |
SPOT_TYPE
Internal type to describe that this is a spotlight light type |
Fields inherited from class org.j3d.aviatrix3d.Node |
bounds, implicitBounds, INVALID_BOUNDS, parent |
Fields inherited from class org.j3d.aviatrix3d.SceneGraphObject |
alive, updateHandler, WRITE_TIMING_MSG |
Constructor Summary | |
protected |
Light(int type)
Creates a light with the colour and specular colour set to black. |
protected |
Light(int type,
float[] diffuse)
Create a light with the given base diffuse colour.Colour must be in the range [0, 1] otherwise an exception is generated. |
Method Summary | |
protected int |
compareColor3(float[] a,
float[] b)
Compare 2 color arrays of length 3 for equality |
int |
compareTo(Light l)
Compares this object with the specified object for order. |
int |
compareTo(java.lang.Object o)
Compares this object with the specified object for order. |
void |
getAmbientColor(float[] col)
Retrieve the current colour value from the light. |
void |
getDiffuseColor(float[] col)
Retrieve the current diffuse colour value from the light. |
void |
getSpecularColor(float[] col)
Retrieve the current colour value from the light. |
boolean |
isEnabled()
Get the current enabled state of the light. |
abstract void |
postRender(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu,
int lightId)
|
abstract void |
render(net.java.games.jogl.GL gl,
net.java.games.jogl.GLU glu,
int lightId)
Overloaded form of the render() method to render the light details given the specific Light ID used by OpenGL. |
void |
setAmbientColor(float[] col)
Set the ambient colour to the new value. |
void |
setDiffuseColor(float[] col)
Set the diffuse colour component to the new value. |
void |
setEnabled(boolean state)
Set the enabled state of the light. |
void |
setSpecularColor(float[] col)
Set the colour to the new value. |
Methods inherited from class org.j3d.aviatrix3d.Node |
boundsChanged, checkForCyclicParent, getBounds, getParent, markBoundsDirty, postRender, recomputeBounds, removeParent, render, setBounds, setLive, setParent, updateBounds |
Methods inherited from class org.j3d.aviatrix3d.SceneGraphObject |
checkForCyclicChild, dataChanged, getUserData, isLive, setUpdateHandler, setUserData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final int SPOT_TYPE
protected static final int POINT_TYPE
protected static final int DIRECTIONAL_TYPE
protected static final int AMBIENT_TYPE
protected float[] ambientColor
protected float[] diffuseColor
protected float[] specularColor
protected boolean enabled
Constructor Detail |
protected Light(int type)
type
- The type of light that this one isprotected Light(int type, float[] diffuse) throws java.lang.IllegalArgumentException
type
- The type of light that this one is
java.lang.IllegalArgumentException
- The colour value is out of rangeMethod Detail |
public int compareTo(java.lang.Object o) throws java.lang.ClassCastException
Derived classes should extend this one to add the extra comparisons needed.
compareTo
in interface java.lang.Comparable
o
- The object to be compared
java.lang.ClassCastException
- The specified object's type prevents it from
being compared to this Objectpublic abstract void render(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu, int lightId)
gl
- The GL context to render withglu
- The GL utility context to render withlightId
- the ID of the light to make GL calls withpublic abstract void postRender(net.java.games.jogl.GL gl, net.java.games.jogl.GLU glu, int lightId)
public void setEnabled(boolean state) throws InvalidWriteTimingException
state
- The new state of the light
InvalidWriteTimingException
public boolean isEnabled()
public void setAmbientColor(float[] col) throws java.lang.IllegalArgumentException, InvalidWriteTimingException
col
- The new colour value to use
java.lang.IllegalArgumentException
- The colour value is out of range
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback method
InvalidWriteTimingException
- An attempt was made to write outside
of the NodeUpdateListener callback methodpublic void getAmbientColor(float[] col)
col
- An array to copy the colour value intopublic void setDiffuseColor(float[] col) throws java.lang.IllegalArgumentException, InvalidWriteTimingException
col
- The new colour value to use
java.lang.IllegalArgumentException
- The colour value is out of range
InvalidWriteTimingException
public void getDiffuseColor(float[] col)
col
- An array to copy the colour value intopublic void setSpecularColor(float[] col) throws java.lang.IllegalArgumentException, InvalidWriteTimingException
col
- The new colour value to use
java.lang.IllegalArgumentException
- The colour value is out of range
InvalidWriteTimingException
public void getSpecularColor(float[] col)
col
- An array to copy the colour value intopublic int compareTo(Light l)
l
- The light instance to be compared
protected int compareColor3(float[] a, float[] b)
a
- The first colour array to checkb
- The first colour array to check
|
j3d.org Aviatrix3D | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |