Package org.web3d.x3d.sai.Lighting
Interface SpotLight
- All Superinterfaces:
X3DChildNode
,X3DLightNode
,X3DNode
- All Known Implementing Classes:
SpotLightObject
public interface SpotLight extends X3DLightNode
Linear attenuation may occur at level 2, full support at level 3.
X3D node tooltip: [X3DLightNode] SpotLight is a light source that illuminates geometry within a conical beam. Lighting illuminates all geometry except lines and points. By default, light scope only illuminates peer geometry and children nodes within the scene graph hierarchy. Lights have no visible shape themselves and lighting effects continue through any intermediate geometry.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
X3D node tooltip: [X3DLightNode] SpotLight is a light source that illuminates geometry within a conical beam. Lighting illuminates all geometry except lines and points. By default, light scope only illuminates peer geometry and children nodes within the scene graph hierarchy. Lights have no visible shape themselves and lighting effects continue through any intermediate geometry.
- Hint: the bound NavigationInfo controls whether headlight is enabled on/off.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
-
Method Summary
Modifier and Type Method Description float
getAmbientIntensity()
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.float[]
getAttenuation()
Provide array of 3-tuple float results within allowed range of [0,infinity) from inputOutput SFVec3f field named attenuation.float
getBeamWidth()
Provide float value within allowed range of (0,1.570796] from inputOutput SFFloat field named beamWidth.float[]
getColor()
Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named color.float
getCutOffAngle()
Provide float value unit axis, angle (in radians) within allowed range of (0,1.570796] from inputOutput SFFloat field named cutOffAngle.float[]
getDirection()
Provide array of 3-tuple float results from inputOutput SFVec3f field named direction.boolean
getGlobal()
Provide boolean value from inputOutput SFBool field named global.float
getIntensity()
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named intensity.float[]
getLocation()
Provide array of 3-tuple float results from inputOutput SFVec3f field named location.X3DMetadataObject
getMetadata()
Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.boolean
getOn()
Provide boolean value from inputOutput SFBool field named on.float
getRadius()
Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named radius.SpotLight
setAmbientIntensity(float newValue)
Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.SpotLight
setAttenuation(float[] newValue)
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named attenuation.SpotLight
setBeamWidth(float newValue)
Accessor method to assign float value to inputOutput SFFloat field named beamWidth.SpotLight
setColor(float[] newValue)
Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named color.SpotLight
setCutOffAngle(float newValue)
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named cutOffAngle.SpotLight
setDirection(float[] newValue)
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named direction.SpotLight
setGlobal(boolean newValue)
Accessor method to assign boolean value to inputOutput SFBool field named global.SpotLight
setIntensity(float newValue)
Accessor method to assign float value to inputOutput SFFloat field named intensity.SpotLight
setLocation(float[] newValue)
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named location.SpotLight
setMetadata(X3DMetadataObject newValue)
Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.SpotLight
setOn(boolean newValue)
Accessor method to assign boolean value to inputOutput SFBool field named on.SpotLight
setRadius(float newValue)
Accessor method to assign float value to initializeOnly SFFloat field named radius.
-
Method Details
-
getAmbientIntensity
float getAmbientIntensity()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.
Tooltip: [0,1] Brightness of ambient (nondirectional background) emission from the light. *- Specified by:
getAmbientIntensity
in interfaceX3DLightNode
- Returns:
- value of ambientIntensity field
-
setAmbientIntensity
Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.
Tooltip: [0,1] Brightness of ambient (nondirectional background) emission from the light. *- Specified by:
setAmbientIntensity
in interfaceX3DLightNode
- Parameters:
newValue
- is new value for the ambientIntensity field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAttenuation
float[] getAttenuation()Provide array of 3-tuple float results within allowed range of [0,infinity) from inputOutput SFVec3f field named attenuation.
Tooltip: Constant, linear-distance and squared-distance dropoff factors as radial distance increases from the source.- Hint: attenuation = 1/max(attenuation[0] + attenuation[1] ⨯ r + attenuation[2] ⨯ r2 , 1).
- Returns:
- value of attenuation field
-
setAttenuation
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named attenuation.
Tooltip: Constant, linear-distance and squared-distance dropoff factors as radial distance increases from the source.- Hint: attenuation = 1/max(attenuation[0] + attenuation[1] ⨯ r + attenuation[2] ⨯ r2 , 1).
- Parameters:
newValue
- is new value for the attenuation field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBeamWidth
float getBeamWidth()Provide float value within allowed range of (0,1.570796] from inputOutput SFFloat field named beamWidth.
Tooltip: [0,1.570796] Inner conical solid angle (in radians) where light source has uniform full intensity.- Hint: beamWidth is inner angle of full intensity, cutOffAngle is outer angle of zero intensity. Therefore set beamWidth <= cutOffAngle.
- Warning: if beamWidth > cutOffAngle, then beamWidth reset to equal cutOffAngle.
- Hint: https://en.wikipedia.org/wiki/Radian
- Returns:
- value of beamWidth field
-
setBeamWidth
Accessor method to assign float value to inputOutput SFFloat field named beamWidth.
Tooltip: [0,1.570796] Inner conical solid angle (in radians) where light source has uniform full intensity.- Hint: beamWidth is inner angle of full intensity, cutOffAngle is outer angle of zero intensity. Therefore set beamWidth <= cutOffAngle.
- Warning: if beamWidth > cutOffAngle, then beamWidth reset to equal cutOffAngle.
- Hint: https://en.wikipedia.org/wiki/Radian
- Parameters:
newValue
- is new value for the beamWidth field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getColor
float[] getColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named color.
Tooltip: [0,1] color of light, applied to colors of objects.- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Specified by:
getColor
in interfaceX3DLightNode
- Returns:
- value of color field
-
setColor
Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named color.
Tooltip: [0,1] color of light, applied to colors of objects.- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Specified by:
setColor
in interfaceX3DLightNode
- Parameters:
newValue
- is new value for the color field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getCutOffAngle
float getCutOffAngle()Provide float value unit axis, angle (in radians) within allowed range of (0,1.570796] from inputOutput SFFloat field named cutOffAngle.
Tooltip: [0,1.570796] Outer conical solid angle (in radians) where light source intensity becomes zero.- Hint: beamWidth is inner angle of full intensity, cutOffAngle is outer angle of zero intensity. Therefore set beamWidth <= cutOffAngle.
- Warning: if beamWidth > cutOffAngle, then beamWidth reset to equal cutOffAngle.
- Hint: https://en.wikipedia.org/wiki/Radian
- Returns:
- value of cutOffAngle field
-
setCutOffAngle
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named cutOffAngle.
Tooltip: [0,1.570796] Outer conical solid angle (in radians) where light source intensity becomes zero.- Hint: beamWidth is inner angle of full intensity, cutOffAngle is outer angle of zero intensity. Therefore set beamWidth <= cutOffAngle.
- Warning: if beamWidth > cutOffAngle, then beamWidth reset to equal cutOffAngle.
- Hint: https://en.wikipedia.org/wiki/Radian
- Parameters:
newValue
- is new value for the cutOffAngle field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDirection
float[] getDirection()Provide array of 3-tuple float results from inputOutput SFVec3f field named direction.
Tooltip: Orientation vector of light relative to local coordinate system. *- Returns:
- value of direction field
-
setDirection
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named direction.
Tooltip: Orientation vector of light relative to local coordinate system. *- Parameters:
newValue
- is new value for the direction field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getGlobal
boolean getGlobal()Provide boolean value from inputOutput SFBool field named global.
Tooltip: Global lights illuminate all objects within their volume of lighting influence. Scoped lights only illuminate objects within the same transformation hierarchy.- Warning: DirectionalLight default global=false to limit scope and avoid inadvertently illuminating every object in a large scene. PointLight and SpotLight default global=true since their effects are each limited by maximum radius value.
- Returns:
- value of global field
-
setGlobal
Accessor method to assign boolean value to inputOutput SFBool field named global.
Tooltip: Global lights illuminate all objects within their volume of lighting influence. Scoped lights only illuminate objects within the same transformation hierarchy.- Warning: DirectionalLight default global=false to limit scope and avoid inadvertently illuminating every object in a large scene. PointLight and SpotLight default global=true since their effects are each limited by maximum radius value.
- Parameters:
newValue
- is new value for the global field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getIntensity
float getIntensity()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named intensity.
Tooltip: [0,1] Brightness of direct emission from the light. *- Specified by:
getIntensity
in interfaceX3DLightNode
- Returns:
- value of intensity field
-
setIntensity
Accessor method to assign float value to inputOutput SFFloat field named intensity.
Tooltip: [0,1] Brightness of direct emission from the light. *- Specified by:
setIntensity
in interfaceX3DLightNode
- Parameters:
newValue
- is new value for the intensity field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getLocation
float[] getLocation()Provide array of 3-tuple float results from inputOutput SFVec3f field named location.
Tooltip: Position of light relative to local coordinate system. *- Returns:
- value of location field
-
setLocation
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named location.
Tooltip: Position of light relative to local coordinate system. *- Parameters:
newValue
- is new value for the location field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.- Specified by:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DLightNode
- Specified by:
getMetadata
in interfaceX3DNode
- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.- Specified by:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DLightNode
- Specified by:
setMetadata
in interfaceX3DNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
getOn
boolean getOn()Provide boolean value from inputOutput SFBool field named on.
Tooltip: Enables/disables this light source. *- Specified by:
getOn
in interfaceX3DLightNode
- Returns:
- value of on field
-
setOn
Accessor method to assign boolean value to inputOutput SFBool field named on.
Tooltip: Enables/disables this light source. *- Specified by:
setOn
in interfaceX3DLightNode
- Parameters:
newValue
- is new value for the on field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getRadius
float getRadius()Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named radius.
Tooltip: Maximum effective distance of light relative to local light position, affected by ancestor scaling. *- Returns:
- value of radius field
-
setRadius
Accessor method to assign float value to initializeOnly SFFloat field named radius.
Tooltip: Maximum effective distance of light relative to local light position, affected by ancestor scaling. *- Parameters:
newValue
- is new value for the radius field.- Returns:
SpotLight
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-