Class SpotLight
- All Implemented Interfaces:
- Styleable,- EventTarget
direction vector
 property.
 
 In addition to the attenuation factors that control the light intensity over
 distance, a SpotLight has a light-cone attenuation factor, spot, that is determined by 3 properties:
 
-  innerAngle: the angle of the inner cone (see image below)
-  outerAngle: the angle of the outer cone (see image below)
-  falloff: the factor that controls the light's intensity drop inside the outer cone
0 <= innerAngle <= outerAngle <= 180 and falloff >= 0;
 values outside either of these ranges can produce unexpected results.
 
 The angle of a point to the light is defined as the angle between its vector to the light's position and the
 direction of the light. For such an angle theta, if
 
- theta < innerAnglethen- spot = 1
- theta > outerAnglethen- spot = 0
- innerAngle <= theta <= outerAnglethen- spot = pow((cos(theta) - cos(outer)) / (cos(inner) - cos(outer)), falloff) which represents a drop in intensity from the inner angle to the outer angle.
0 <= spot <= 1. The overall intensity of the light is I = lambert * atten * spot.
 
 SpotLights can represent point-like light sources with directionality. Flashlights and floodlights are
 common light sources that can be simulated with this light type.
 
 
- Since:
- 17
- See Also:
- 
Property SummaryPropertiesTypePropertyDescriptionfinal ObjectProperty<Point3D> The direction vector of the spotlight.final DoublePropertyThe intensity falloff factor of the spotlight's outer cone.final DoublePropertyThe angle of the spotlight's inner cone, in degrees.final DoublePropertyThe angle of the spotlight's outer cone, in degrees (as shown in the class doc image).Properties declared in class javafx.scene.PointLightconstantAttenuation, linearAttenuation, maxRange, quadraticAttenuationProperties declared in class javafx.scene.NodeaccessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
- 
Field SummaryFields declared in class javafx.scene.NodeBASELINE_OFFSET_SAME_AS_HEIGHT
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionfinal ObjectProperty<Point3D> The direction vector of the spotlight.final DoublePropertyThe intensity falloff factor of the spotlight's outer cone.final Point3DGets the value of thedirectionproperty.final doubleGets the value of thefalloffproperty.final doubleGets the value of theinnerAngleproperty.final doubleGets the value of theouterAngleproperty.final DoublePropertyThe angle of the spotlight's inner cone, in degrees.final DoublePropertyThe angle of the spotlight's outer cone, in degrees (as shown in the class doc image).final voidsetDirection(Point3D value) Sets the value of thedirectionproperty.final voidsetFalloff(double value) Sets the value of thefalloffproperty.final voidsetInnerAngle(double value) Sets the value of theinnerAngleproperty.final voidsetOuterAngle(double value) Sets the value of theouterAngleproperty.Methods declared in class javafx.scene.PointLightconstantAttenuationProperty, getConstantAttenuation, getLinearAttenuation, getMaxRange, getQuadraticAttenuation, linearAttenuationProperty, maxRangeProperty, quadraticAttenuationProperty, setConstantAttenuation, setLinearAttenuation, setMaxRange, setQuadraticAttenuationMethods declared in class javafx.scene.LightBasecolorProperty, getColor, getExclusionScope, getScope, isLightOn, lightOnProperty, setColor, setLightOnMethods declared in class javafx.scene.NodeaccessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visiblePropertyMethods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods declared in interface javafx.css.StyleablegetStyleableNode
- 
Property Details- 
directionThe direction vector of the spotlight. It can be rotated by setting a rotation transform on theSpotLight. The vector need not be normalized.- Default value:
- Point3D(0, 0, 1)
- See Also:
 
- 
innerAngleThe angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is not attenuated by the spotlight factor (spot = 1). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is 0 <= innerAngle <= outerAngle; values outside of this range can produce unexpected results.- Default value:
- 0
- See Also:
 
- 
outerAngleThe angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the light is greater than this angle receives no light (spot = 0). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is innerAngle <= outerAngle <= 180; values outside of this range can produce unexpected results.- Default value:
- 30
- See Also:
 
- 
falloffThe intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is greater than the inner angle but less than the outer angle receives partial intensity governed by this factor. The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave drop. See the class doc for more information.The valid range is 0 <= falloff; values outside of this range can produce unexpected results.- Default value:
- 1
- See Also:
 
 
- 
- 
Constructor Details- 
SpotLightpublic SpotLight()Creates a new instance ofSpotLightclass with a defaultColor.WHITElight source.
- 
SpotLightCreates a new instance ofSpotLightclass using the specified color.- Parameters:
- color- the color of the light source
 
 
- 
- 
Method Details- 
setDirectionSets the value of thedirectionproperty.- Property description:
- The direction vector of the spotlight. It can be rotated by setting a rotation transform on the
 SpotLight. The vector need not be normalized.
- Default value:
- Point3D(0, 0, 1)
- Parameters:
- value- the value for the- directionproperty
- See Also:
 
- 
getDirectionGets the value of thedirectionproperty.- Property description:
- The direction vector of the spotlight. It can be rotated by setting a rotation transform on the
 SpotLight. The vector need not be normalized.
- Default value:
- Point3D(0, 0, 1)
- Returns:
- the value of the directionproperty
- See Also:
 
- 
directionPropertyThe direction vector of the spotlight. It can be rotated by setting a rotation transform on theSpotLight. The vector need not be normalized.- Default value:
- Point3D(0, 0, 1)
- Returns:
- the directionproperty
- See Also:
 
- 
setInnerAnglepublic final void setInnerAngle(double value) Sets the value of theinnerAngleproperty.- Property description:
- The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is
 not attenuated by the spotlight factor (spot = 1). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is 0 <= innerAngle <= outerAngle; values outside of this range can produce unexpected results.
- Default value:
- 0
- Parameters:
- value- the value for the- innerAngleproperty
- See Also:
 
- 
getInnerAnglepublic final double getInnerAngle()Gets the value of theinnerAngleproperty.- Property description:
- The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is
 not attenuated by the spotlight factor (spot = 1). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is 0 <= innerAngle <= outerAngle; values outside of this range can produce unexpected results.
- Default value:
- 0
- Returns:
- the value of the innerAngleproperty
- See Also:
 
- 
innerAnglePropertyThe angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is not attenuated by the spotlight factor (spot = 1). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is 0 <= innerAngle <= outerAngle; values outside of this range can produce unexpected results.- Default value:
- 0
- Returns:
- the innerAngleproperty
- See Also:
 
- 
setOuterAnglepublic final void setOuterAngle(double value) Sets the value of theouterAngleproperty.- Property description:
- The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the
 light is greater than this angle receives no light (spot = 0). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is innerAngle <= outerAngle <= 180; values outside of this range can produce unexpected results.
- Default value:
- 30
- Parameters:
- value- the value for the- outerAngleproperty
- See Also:
 
- 
getOuterAnglepublic final double getOuterAngle()Gets the value of theouterAngleproperty.- Property description:
- The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the
 light is greater than this angle receives no light (spot = 0). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is innerAngle <= outerAngle <= 180; values outside of this range can produce unexpected results.
- Default value:
- 30
- Returns:
- the value of the outerAngleproperty
- See Also:
 
- 
outerAnglePropertyThe angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the light is greater than this angle receives no light (spot = 0). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is innerAngle <= outerAngle <= 180; values outside of this range can produce unexpected results.- Default value:
- 30
- Returns:
- the outerAngleproperty
- See Also:
 
- 
setFalloffpublic final void setFalloff(double value) Sets the value of thefalloffproperty.- Property description:
- The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is
 greater than the inner angle but less than the outer angle receives partial intensity governed by this factor.
 The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a
 linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave
 drop. See the class doc for more information.
 The valid range is 0 <= falloff; values outside of this range can produce unexpected results.
- Default value:
- 1
- Parameters:
- value- the value for the- falloffproperty
- See Also:
 
- 
getFalloffpublic final double getFalloff()Gets the value of thefalloffproperty.- Property description:
- The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is
 greater than the inner angle but less than the outer angle receives partial intensity governed by this factor.
 The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a
 linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave
 drop. See the class doc for more information.
 The valid range is 0 <= falloff; values outside of this range can produce unexpected results.
- Default value:
- 1
- Returns:
- the value of the falloffproperty
- See Also:
 
- 
falloffPropertyThe intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is greater than the inner angle but less than the outer angle receives partial intensity governed by this factor. The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave drop. See the class doc for more information.The valid range is 0 <= falloff; values outside of this range can produce unexpected results.- Default value:
- 1
- Returns:
- the falloffproperty
- See Also:
 
 
-