Class OGLPointLight
java.lang.Object
org.web3d.vrml.renderer.common.nodes.AbstractNode
org.web3d.vrml.renderer.common.nodes.BaseLightNode
org.web3d.vrml.renderer.common.nodes.lighting.BasePointLight
org.web3d.vrml.renderer.ogl.nodes.lighting.OGLPointLight
- All Implemented Interfaces:
org.j3d.aviatrix3d.NodeUpdateListener,VRMLNode,FrameStateListener,VRMLChildNodeType,VRMLLightNodeType,VRMLNodeType,VRMLWorldRootChildNodeType,OGLLightNodeType,OGLVRMLNode
public class OGLPointLight
extends BasePointLight
implements OGLLightNodeType, org.j3d.aviatrix3d.NodeUpdateListener
OpenGL implementation of a pointlight.
- Version:
- $Revision: 1.11 $
- Author:
- Justin Couch
-
Field Summary
Fields inherited from class org.web3d.vrml.renderer.common.nodes.lighting.BasePointLight
FIELD_ATTENUATION, FIELD_LOCATION, FIELD_RADIUS, LAST_POINTLIGHT_INDEX, vfAttenuation, vfLocation, vfRadiusFields inherited from class org.web3d.vrml.renderer.common.nodes.BaseLightNode
FIELD_AMBIENT_INTENSITY, FIELD_COLOR, FIELD_GLOBAL, FIELD_INTENSITY, FIELD_ON, GLOBAL_VERSION_ERR, LAST_LIGHT_INDEX, vfAmbientIntensity, vfColor, vfGlobal, vfIntensity, vfOnFields inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
errorReporter, FIELD_METADATA, fieldLocalData, hasChanged, inSetup, isDEF, isStatic, LAST_NODE_INDEX, layerIds, nodeName, pMetadata, refCounts, removedLayerIds, stateManager, STATIC_SCENE_GRAPH, vfMetadata, vrmlMajorVersion, vrmlMinorVersion -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new default instance of this class.OGLPointLight(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Modifier and TypeMethodDescriptionorg.j3d.aviatrix3d.LightgetLight()Get the light making up this LightNode.org.j3d.aviatrix3d.SceneGraphObjectGet the Java3D scene graph object representation of this node.voidsetAmbientIntensity(float intensity) Accessor method to get current value of field ambientIntensity.protected voidsetAttenuation(float[] factor) Set the attenuation factor of the light.voidsetColor(float[] newColor) Accessor method to get current value of field color.voidsetGlobal(boolean global) Set the current value of the global field.voidsetIntensity(float intensity) Accessor method to get current value of field Intensity.protected voidsetLocation(float[] loc) Set the location ofthe point light.voidsetOn(boolean state) Turn the light on or off.protected voidsetRadius(float radius) Set the radius of the light.voidNotification that the construction phase of this node has finished.voidNotification that its safe to update the node now with any operations that could potentially effect the node's bounds.voidNotification that its safe to update the node now with any operations that only change the node's properties, but do not change the bounds.Methods inherited from class org.web3d.vrml.renderer.common.nodes.lighting.BasePointLight
getFieldDeclaration, getFieldIndex, getFieldValue, getNodeFieldIndices, getNumFields, sendRoute, setValue, setValueMethods inherited from class org.web3d.vrml.renderer.common.nodes.BaseLightNode
copy, getAmbientIntensity, getColor, getGlobal, getIntensity, getOn, getPrimaryType, setValueMethods inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
addNodeListener, allEventsComplete, checkNodeType, checkSecondaryType, checkSecondaryType, clearRemovedLayerIds, fireFieldChanged, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, getSecondaryType, getUserData, getVRMLNodeName, hasFieldChanged, isDEF, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, setDEF, setErrorReporter, setFrameStateManager, setMetadataObject, setUserData, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setVersion, throwInitOnlyWriteException, throwInputOnlyWriteException, throwInvalidNodeException, throwInvalidProtoException, throwOutputOnlyWriteException, updateRefCount, updateRefsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.web3d.vrml.nodes.FrameStateListener
allEventsCompleteMethods inherited from interface org.web3d.vrml.nodes.VRMLLightNodeType
getAmbientIntensity, getColor, getGlobal, getIntensity, getOnMethods inherited from interface org.web3d.vrml.lang.VRMLNode
getFieldDeclaration, getFieldIndex, getNodeFieldIndices, getNumFields, getPrimaryType, getSecondaryType, getUserData, getVRMLNodeName, isDEF, setErrorReporter, setUserData, setVersionMethods inherited from interface org.web3d.vrml.nodes.VRMLNodeType
addNodeListener, clearRemovedLayerIds, getFieldValue, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, hasFieldChanged, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, sendRoute, setDEF, setFrameStateManager, setMetadataObject, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, updateRefCount
-
Constructor Details
-
OGLPointLight
public OGLPointLight()Construct a new default instance of this class. -
OGLPointLight
Construct a new instance of this node based on the details from the given node. If the node is not a light node, an exception will be thrown.- Parameters:
node- The node to copy- Throws:
IllegalArgumentException- Incorrect Node Type
-
-
Method Details
-
getLight
public org.j3d.aviatrix3d.Light getLight()Get the light making up this LightNode.- Specified by:
getLightin interfaceOGLLightNodeType- Returns:
- The OGL light instance
-
updateNodeBoundsChanges
Notification that its safe to update the node now with any operations that could potentially effect the node's bounds.- Specified by:
updateNodeBoundsChangesin interfaceorg.j3d.aviatrix3d.NodeUpdateListener- Parameters:
src- The node or Node Component that is to be updated.
-
updateNodeDataChanges
Notification that its safe to update the node now with any operations that only change the node's properties, but do not change the bounds.- Specified by:
updateNodeDataChangesin interfaceorg.j3d.aviatrix3d.NodeUpdateListener- Parameters:
src- The node or Node Component that is to be updated.
-
setAmbientIntensity
Accessor method to get current value of field ambientIntensity.- Specified by:
setAmbientIntensityin interfaceVRMLLightNodeType- Overrides:
setAmbientIntensityin classBaseLightNode- Parameters:
intensity- The new value- Throws:
InvalidFieldValueException- The value was out of the valid range
-
setColor
Accessor method to get current value of field color.- Specified by:
setColorin interfaceVRMLLightNodeType- Overrides:
setColorin classBaseLightNode- Parameters:
newColor- The new value- Throws:
InvalidFieldValueException- The value was out of the valid range
-
setIntensity
Accessor method to get current value of field Intensity.- Specified by:
setIntensityin interfaceVRMLLightNodeType- Overrides:
setIntensityin classBaseLightNode- Parameters:
intensity- The new value- Throws:
InvalidFieldValueException- The value was out of the valid range
-
setOn
public void setOn(boolean state) Turn the light on or off.- Specified by:
setOnin interfaceVRMLLightNodeType- Overrides:
setOnin classBaseLightNode- Parameters:
state- The new value
-
setGlobal
Set the current value of the global field.- Specified by:
setGlobalin interfaceVRMLLightNodeType- Overrides:
setGlobalin classBaseLightNode- Parameters:
global- true if this should have global effect, false for scoped- Throws:
InvalidFieldException- Called on a node that belongs to VRML or X3D 3.0.
-
getSceneGraphObject
public org.j3d.aviatrix3d.SceneGraphObject getSceneGraphObject()Get the Java3D scene graph object representation of this node. This will need to be cast to the appropriate parent type when being used.- Specified by:
getSceneGraphObjectin interfaceOGLVRMLNode- Returns:
- The J3D representation.
-
setupFinished
public void setupFinished()Notification that the construction phase of this node has finished. If the node would like to do any internal processing, such as setting up geometry, then go for it now.- Specified by:
setupFinishedin interfaceVRMLNodeType- Overrides:
setupFinishedin classAbstractNode
-
setLocation
protected void setLocation(float[] loc) Set the location ofthe point light. Should be overridden by derived classes for implementation-specific additions.- Overrides:
setLocationin classBasePointLight- Parameters:
loc- The new location to use
-
setRadius
Set the radius of the light. Should be overridden by derived classes for implementation-specific additions.- Overrides:
setRadiusin classBasePointLight- Parameters:
radius- The new radius to use- Throws:
InvalidFieldValueException- Radius value was negative
-
setAttenuation
protected void setAttenuation(float[] factor) Set the attenuation factor of the light. Should be overridden by derived classes for implementation-specific additions.- Overrides:
setAttenuationin classBasePointLight- Parameters:
factor- The new attenuation factor to use- Throws:
InvalidFieldValueException- Radius value was negative
-