: Class SpotLight

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.media.j3d
Class SpotLight

    java.lang.Object
      |
      +--javax.media.j3d.SceneGraphObject
            |
            +--javax.media.j3d.Node
                  |
                  +--javax.media.j3d.Leaf
                        |
                        +--javax.media.j3d.Light
                              |
                              +--javax.media.j3d.PointLight
                                    |
                                    +--javax.media.j3d.SpotLight

public class SpotLight
extends PointLight

The SpotLight object specifies an attenuated light source at a fixed point in space that radiates light in a specified direction from the light source. A spread angle limits the effect of the spot light, and a concentration exponent attenuates the light based on anglular deviation from the light direction.

Field Summary
`static int` | `ALLOW_CONCENTRATION_READ` Specifies that the Node allows reading to its spot lights concentration information.
`static int` | `ALLOW_CONCENTRATION_WRITE` Specifies that the Node allows writing to its spot lights concentration information.
`static int` | `ALLOW_DIRECTION_READ` Specifies that the Node allows reading to its spot lights direction information.
`static int` | `ALLOW_DIRECTION_WRITE` Specifies that the Node allows writing to its spot lights direction information.
`static int` | `ALLOW_SPREAD_ANGLE_READ` Specifies that the Node allows reading to its spot lights spread angle information.
`static int` | `ALLOW_SPREAD_ANGLE_WRITE` Specifies that the Node allows writing to its spot lights spread angle information.

Fields inherited from class javax.media.j3d.PointLight
`ALLOW_ATTENUATION_READ, ALLOW_ATTENUATION_WRITE, ALLOW_POSITION_READ, ALLOW_POSITION_WRITE`

Fields inherited from class javax.media.j3d.Light
`ALLOW_COLOR_READ, ALLOW_COLOR_WRITE, ALLOW_INFLUENCING_BOUNDS_READ, ALLOW_INFLUENCING_BOUNDS_WRITE, ALLOW_SCOPE_READ, ALLOW_SCOPE_WRITE, ALLOW_STATE_READ, ALLOW_STATE_WRITE`

Fields inherited from class javax.media.j3d.Node
`ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_PICK, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

Constructor Summary
`SpotLight()` Constructs a SpotLight node with default parameters.
`SpotLight(boolean lightOn, Color3f color, Point3f position, Point3f attenuation, Vector3f direction, float spreadAngle, float concentration)` Constructs and initializes a SpotLight node using the specified parameters.
`SpotLight(Color3f color, Point3f position, Point3f attenuation, Vector3f direction, float spreadAngle, float concentration)` Constructs and initializes a SpotLight node using the specified parameters.

Method Summary
`Node` | `cloneNode(boolean forceDuplicate)` Used to create a new instance of the node.
`void` | `duplicateNode(Node originalNode, boolean forceDuplicate)` Copies all node information from `originalNode` into the current node.
`float` | `getConcentration()` Get spot light concentration.
`void` | `getDirection(Vector3f direction)` Gets this Light's current direction and places it in the parameter specified.
`float` | `getSpreadAngle()` Get spot light spread angle.
`void` | `setConcentration(float concentration)` Set spot light concentration.
`void` | `setDirection(float x, float y, float z)` Set light direction.
`void` | `setDirection(Vector3f direction)` Sets this Light's current direction and places it in the parameter specified.
`void` | `setSpreadAngle(float spreadAngle)` Set spot light spread angle.

Methods inherited from class javax.media.j3d.PointLight
`getAttenuation, getPosition, setAttenuation, setAttenuation, setPosition, setPosition`

Methods inherited from class javax.media.j3d.Light
`addScope, getAllScopes, getColor, getEnable, getInfluencingBoundingLeaf, getInfluencingBounds, getScope, insertScope, numScopes, removeScope, setColor, setEnable, setInfluencingBoundingLeaf, setInfluencingBounds, setScope, updateNodeReferences`

Methods inherited from class javax.media.j3d.Node
`cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

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

### ALLOW_SPREAD_ANGLE_WRITE

    public static final int ALLOW_SPREAD_ANGLE_WRITE

  Specifies that the Node allows writing to its spot lights spread angle information.

### ALLOW_SPREAD_ANGLE_READ

    public static final int ALLOW_SPREAD_ANGLE_READ

  Specifies that the Node allows reading to its spot lights spread angle information.

### ALLOW_CONCENTRATION_WRITE

    public static final int ALLOW_CONCENTRATION_WRITE

  Specifies that the Node allows writing to its spot lights concentration information.

### ALLOW_CONCENTRATION_READ

    public static final int ALLOW_CONCENTRATION_READ

  Specifies that the Node allows reading to its spot lights concentration information.

### ALLOW_DIRECTION_WRITE

    public static final int ALLOW_DIRECTION_WRITE

  Specifies that the Node allows writing to its spot lights direction information.

### ALLOW_DIRECTION_READ

    public static final int ALLOW_DIRECTION_READ

  Specifies that the Node allows reading to its spot lights direction information.

Constructor Detail

### SpotLight

    public SpotLight()

  Constructs a SpotLight node with default parameters. The default values are as follows:
  direction : (0,0,-1)
  spread angle : PI
  concentration : 0.0

### SpotLight

    public SpotLight(Color3f color,
                     Point3f position,
                     Point3f attenuation,
                     Vector3f direction,
                     float spreadAngle,
                     float concentration)

  Constructs and initializes a SpotLight node using the specified parameters.
  Parameters:
    `color` - the color of the light source
    `position` - the position of the light in three-space
    `attenuation` - (constant, linear, quadratic)
    `direction` - the direction of the light
    `spreadAngle` - the spread angle of the light
    `concentration` - the concentration of the light

### SpotLight

    public SpotLight(boolean lightOn,
                     Color3f color,
                     Point3f position,
                     Point3f attenuation,
                     Vector3f direction,
                     float spreadAngle,
                     float concentration)

  Constructs and initializes a SpotLight node using the specified parameters.
  Parameters:
    `lightOn` - flag indicating whether this light is on or off
    `color` - the color of the light source
    `position` - the position of the light in three-space
    `attenuation` - the attenuation (constant, linear, quadratic) of the light
    `direction` - the direction of the light
    `spreadAngle` - the spread angle of the light
    `concentration` - the concentration of the light

Method Detail

### setSpreadAngle

    public final void setSpreadAngle(float spreadAngle)

  Set spot light spread angle.
  Parameters:
    `spreadAngle` - the new spread angle for spot light
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### getSpreadAngle

    public final float getSpreadAngle()

  Get spot light spread angle.
  Returns:
    the new spread angle for spot light
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### setConcentration

    public final void setConcentration(float concentration)

  Set spot light concentration.
  Parameters:
    `concentration` - the new concentration for spot light
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### getConcentration

    public final float getConcentration()

  Get spot light concentration.
  Returns:
    the new concentration for spot light
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### setDirection

    public final void setDirection(float x,
                                   float y,
                                   float z)

  Set light direction.
  Parameters:
    `x` - the new X direction
    `y` - the new Y direction
    `z` - the new Z direction
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### setDirection

    public final void setDirection(Vector3f direction)

  Sets this Light's current direction and places it in the parameter specified.
  Parameters:
    `position` - the vector that will receive this node's direction
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### getDirection

    public final void getDirection(Vector3f direction)

  Gets this Light's current direction and places it in the parameter specified.
  Parameters:
    `position` - the vector that will receive this node's direction
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### cloneNode

    public Node cloneNode(boolean forceDuplicate)

  Used to create a new instance of the node. This routine is called by `cloneTree` to duplicate the current node.
  Overrides:
    cloneNode in class PointLight
  Parameters:
    `forceDuplicate` - when set to `true`, causes the `duplicateOnCloneTree` flag to be ignored. When `false`, the value of each node's `duplicateOnCloneTree` variable determines whether NodeComponent data is duplicated or copied.
  See Also:
    `Node.cloneTree()`, `Node.cloneNode(boolean)`, `Node.duplicateNode(javax.media.j3d.Node, boolean)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`

### duplicateNode

    public void duplicateNode(Node originalNode,
                              boolean forceDuplicate)

  Copies all node information from `originalNode` into the current node. This method is called from the `cloneNode` method which is, in turn, called by the `cloneTree` method.

  For any NodeComponent objects contained by the object being duplicated, each NodeComponent object's `duplicateOnCloneTree` value is used to determine whether the NodeComponent should be duplicated in the new node or if just a reference to the current node should be placed in the new node. This flag can be overridden by setting the `forceDuplicate` parameter in the `cloneTree` method to `true`.

  Overrides:
    duplicateNode in class PointLight
  Parameters:
    `originalNode` - the original node to duplicate.
    `forceDuplicate` - when set to `true`, causes the `duplicateOnCloneTree` flag to be ignored. When `false`, the value of each node's `duplicateOnCloneTree` variable determines whether NodeComponent data is duplicated or copied.
  See Also:
    `Node.cloneTree()`, `Node.cloneNode(boolean)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD