com.threed.jpct
Class Light

java.lang.Object
  extended by com.threed.jpct.Light

public class Light
extends java.lang.Object


Field Summary
static boolean LIGHT_INVISIBLE
          The light is not visible
static boolean LIGHT_VISIBLE
          The light is visible
 
Constructor Summary
Light(World world)
          Creates a new light in the world.
 
Method Summary
 void disable()
          Disables a light.
 void enable()
          Enables a light.
 float getDiscardDistance()
          Gets the discard distance of this light, if it has be set before.
 SimpleVector getIntensity()
          Sets the light's intensity.
 SimpleVector getPosition()
          Returns the position of this light in world space.
 SimpleVector getPosition(SimpleVector store)
          Returns the position of this light in world space.
 boolean isEnabled()
          Is the light enabled?
 void rotate(SimpleVector degrees, SimpleVector pivot)
          Rotates the light around a rotation pivot.
 void setDiscardDistance(float dist)
          Sets the light's discard distance.
 void setIntensity(float red, float green, float blue)
          Sets the light's intensity.
 void setIntensity(SimpleVector inty)
          Sets the light's intensity.
 void setPosition(SimpleVector pos)
          Sets the position of this light in world space.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LIGHT_VISIBLE

public static final boolean LIGHT_VISIBLE
The light is visible

See Also:
Constant Field Values

LIGHT_INVISIBLE

public static final boolean LIGHT_INVISIBLE
The light is not visible

See Also:
Constant Field Values
Constructor Detail

Light

public Light(World world)
Creates a new light in the world. The light will be placed at (0,0,0) and with an intensity of (255,255,255).

Parameters:
world - the instance of world
Method Detail

enable

public void enable()
Enables a light. Each new light is enabled by default.


disable

public void disable()
Disables a light. The light is still part of the world, just not visible.


isEnabled

public boolean isEnabled()
Is the light enabled?

Returns:
boolean yes...or no?

setIntensity

public void setIntensity(SimpleVector inty)
Sets the light's intensity.

Parameters:
inty - a SimpleVector that contains the intensities of r,g,b in its x,y,z-components.

setIntensity

public void setIntensity(float red,
                         float green,
                         float blue)
Sets the light's intensity.

Parameters:
red - the red intensity
green - the green intensity
blue - the blue intensity

getIntensity

public SimpleVector getIntensity()
Sets the light's intensity.

Returns:
SimpleVector a SimpleVector that contains the intensities of r,g,b in its x,y,z-components.

setDiscardDistance

public void setDiscardDistance(float dist)
Sets the light's discard distance. Overrides the setting from Config.discardDistance for this light.

Parameters:
dist - the discard distance, i.e. the distance where the light will be "cut off" at latest. -1 means never.

getDiscardDistance

public float getDiscardDistance()
Gets the discard distance of this light, if it has be set before. If it hasn't, the result of this call in undefined (but lower than -1).

Returns:
float the discard distance (is previously set, otherwise something below -1)

setPosition

public void setPosition(SimpleVector pos)
Sets the position of this light in world space.

Parameters:
pos - the position

getPosition

public SimpleVector getPosition()
Returns the position of this light in world space.

Returns:
SimpleVector the position

getPosition

public SimpleVector getPosition(SimpleVector store)
Returns the position of this light in world space.

Parameters:
store - an optional SimpleVector (may be null), in which the position will be stored. If given, this is the vector that will be returned too.
Returns:
SimpleVector the position

rotate

public void rotate(SimpleVector degrees,
                   SimpleVector pivot)
Rotates the light around a rotation pivot. Unlike the similar methods in World, this doesn't cause the light to execute this rotation every frame (which was stupid idea anyway...:-)). This is done, when you are calling the method. Not more, not less.

Parameters:
degrees - a SimpleVector that contains the rotation angles in its x,y,z-components
pivot - SimpleVector the rotation pivot