: Class PointLight

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 PointLight

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

Direct Known Subclasses:
  SpotLight

public class PointLight
extends Light

The PointLight object specifies an attenuated light source at a fixed point in space that radiates light equally in all directions away from the light source.

Field Summary
`static int` | `ALLOW_ATTENUATION_READ` Specifies that this PointLight node allows reading its attenuation information.
`static int` | `ALLOW_ATTENUATION_WRITE` Specifies that this PointLight node allows writing its attenuation information.
`static int` | `ALLOW_POSITION_READ` Specifies that this PointLight node allows reading its position information.
`static int` | `ALLOW_POSITION_WRITE` Specifies that this PointLight node allows writing its position information.

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
`PointLight()` Constructs a PointLight node with default parameters.
`PointLight(boolean lightOn, Color3f color, Point3f position, Point3f attenuation)` Constructs and initializes a point light.
`PointLight(Color3f color, Point3f position, Point3f attenuation)` Constructs and initializes a point light.

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.
`void` | `getAttenuation(Point3f attenuation)` Gets this Light's current attenuation values and places it in the parameter specified.
`void` | `getPosition(Point3f position)` Gets this Light's current position and places it in the parameter specified.
`void` | `setAttenuation(float constant, float linear, float quadratic)` Sets this Light's current attenuation values and places it in the parameter specified.
`void` | `setAttenuation(Point3f attenuation)` Sets this Light's current attenuation values and places it in the parameter specified.
`void` | `setPosition(float x, float y, float z)` Set light position.
`void` | `setPosition(Point3f position)` Set light position.

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_POSITION_READ

    public static final int ALLOW_POSITION_READ

  Specifies that this PointLight node allows reading its position information.

### ALLOW_POSITION_WRITE

    public static final int ALLOW_POSITION_WRITE

  Specifies that this PointLight node allows writing its position information.

### ALLOW_ATTENUATION_READ

    public static final int ALLOW_ATTENUATION_READ

  Specifies that this PointLight node allows reading its attenuation information.

### ALLOW_ATTENUATION_WRITE

    public static final int ALLOW_ATTENUATION_WRITE

  Specifies that this PointLight node allows writing its attenuation information.

Constructor Detail

### PointLight

    public PointLight()

  Constructs a PointLight node with default parameters. The default values are as follows:
  position : (0,0,0)
  attenuation : (1,0,0)

### PointLight

    public PointLight(Color3f color,
                      Point3f position,
                      Point3f attenuation)

  Constructs and initializes a point light.
  Parameters:
    `color` - the color of the light source
    `position` - the position of the light in three-space
    `attenuation` - the attenutation (constant, linear, quadratic) of the light

### PointLight

    public PointLight(boolean lightOn,
                      Color3f color,
                      Point3f position,
                      Point3f attenuation)

  Constructs and initializes a point light.
  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

Method Detail

### setPosition

    public final void setPosition(Point3f position)

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

### setPosition

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

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

### getPosition

    public final void getPosition(Point3f position)

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

### setAttenuation

    public final void setAttenuation(Point3f attenuation)

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

### setAttenuation

    public final void setAttenuation(float constant,
                                     float linear,
                                     float quadratic)

  Sets this Light's current attenuation values and places it in the parameter specified.
  Parameters:
    `constant` - the light's constant attenuation
    `linear` - the light's linear attenuation
    `quadratic` - the light's quadratic attenuation
  Throws:
    CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph

### getAttenuation

    public final void getAttenuation(Point3f attenuation)

  Gets this Light's current attenuation values and places it in the parameter specified.
  Parameters:
    `attenuation` - the vector that will receive the attenuation values
  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 Node
  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 Node
  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