- java.lang.Object
- 
- javafx.scene.Node
- 
- javafx.scene.Camera
- 
- javafx.scene.PerspectiveCamera
 
 
 
- 
- All Implemented Interfaces:
- Styleable,- EventTarget
 
 
 public class PerspectiveCamera extends Camera Specifies a perspective camera for rendering a scene.This camera defines a viewing volume for a perspective projection; a truncated right pyramid. The fieldOfViewvalue can be used to change viewing volume. By default, this camera is located at center of the scene and looks along the positive z-axis. The coordinate system defined by this camera has its origin in the upper left corner of the panel with the Y-axis pointing down and the Z axis pointing away from the viewer (into the screen). If aPerspectiveCameranode is added to the scene graph, the transformed position and orientation of the camera will define the position of the camera and the direction that the camera is looking.In the default camera, where fixedEyeAtCameraZero is false, the Z value of the eye position is adjusted in Z such that the projection matrix generated using the specified fieldOfViewwill produce units at Z = 0 (the projection plane), in device-independent pixels, matches that of the ParallelCamera. When the Scene is resized, the objects in the scene at the projection plane (Z = 0) will stay the same size, but more or less content of the scene is viewable.If fixedEyeAtCameraZero is true, the eye position is fixed at (0, 0, 0) in the local coordinates of the camera. The projection matrix is generated using the specified fieldOfViewand the projection volume is mapped onto the viewport (window) such that it is stretched over more or fewer device-independent pixels at the projection plane. When the Scene is resized, the objects in the scene will shrink or grow proportionally, but the visible portion of the content is unchanged.We recommend setting fixedEyeAtCameraZero to true if you are going to transform (move) the camera. Transforming the camera when fixedEyeAtCameraZero is set to false may lead to results that are not intuitive. Note that this is a conditional feature. See ConditionalFeature.SCENE3Dfor more information.- Since:
- JavaFX 2.0
 
- 
- 
Property SummaryProperties Type Property Description DoublePropertyfieldOfViewSpecifies the field of view angle of the camera's projection, measured in degrees.BooleanPropertyverticalFieldOfViewDefines whether thefieldOfViewproperty will apply to the vertical dimension of the projection.- 
Properties inherited from class javafx.scene.NodeaccessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, 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 Summary- 
Fields inherited from class javafx.scene.NodeBASELINE_OFFSET_SAME_AS_HEIGHT
 
- 
 - 
Constructor SummaryConstructors Constructor Description PerspectiveCamera()Creates an empty instance of PerspectiveCamera.PerspectiveCamera(boolean fixedEyeAtCameraZero)Constructs a PerspectiveCamera with the specified fixedEyeAtCameraZero flag.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description DoublePropertyfieldOfViewProperty()Specifies the field of view angle of the camera's projection, measured in degrees.doublegetFieldOfView()Gets the value of the property fieldOfView.booleanisFixedEyeAtCameraZero()Returns a flag indicating whether this camera uses a fixed eye position at the origin of the camera.booleanisVerticalFieldOfView()Gets the value of the property verticalFieldOfView.voidsetFieldOfView(double value)Sets the value of the property fieldOfView.voidsetVerticalFieldOfView(boolean value)Sets the value of the property verticalFieldOfView.BooleanPropertyverticalFieldOfViewProperty()Defines whether thefieldOfViewproperty will apply to the vertical dimension of the projection.- 
Methods inherited from class javafx.scene.CamerafarClipProperty, getFarClip, getNearClip, nearClipProperty, setFarClip, setNearClip
 - 
Methods inherited from 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, 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, 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, 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, visibleProperty
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface javafx.css.StyleablegetStyleableNode
 
- 
 
- 
- 
- 
Property Detail- 
fieldOfViewpublic final DoubleProperty fieldOfViewProperty Specifies the field of view angle of the camera's projection, measured in degrees.- Default value:
- 30.0
- See Also:
- getFieldOfView(),- setFieldOfView(double)
 
 - 
verticalFieldOfViewpublic final BooleanProperty verticalFieldOfViewProperty Defines whether thefieldOfViewproperty will apply to the vertical dimension of the projection. If it is false,fieldOfViewwill apply to the horizontal dimension of the projection.- Default value:
- true
- Since:
- JavaFX 8.0
- See Also:
- isVerticalFieldOfView(),- setVerticalFieldOfView(boolean)
 
 
- 
 - 
Constructor Detail- 
PerspectiveCamerapublic PerspectiveCamera() Creates an empty instance of PerspectiveCamera.
 - 
PerspectiveCamerapublic PerspectiveCamera(boolean fixedEyeAtCameraZero) Constructs a PerspectiveCamera with the specified fixedEyeAtCameraZero flag.In the default camera, where fixedEyeAtCameraZero is false, the Z value of the eye position is adjusted in Z such that the projection matrix generated using the specified fieldOfViewwill produce units at Z = 0 (the projection plane), in device-independent pixels, matches that of the ParallelCamera. When the Scene is resized, the objects in the scene at the projection plane (Z = 0) will stay the same size, but more or less content of the scene is viewable.If fixedEyeAtCameraZero is true, the eye position is fixed at (0, 0, 0) in the local coordinates of the camera. The projection matrix is generated using the specified fieldOfViewand the projection volume is mapped onto the viewport (window) such that it is stretched over more or fewer device-independent pixels at the projection plane. When the Scene is resized, the objects in the scene will shrink or grow proportionally, but the visible portion of the content is unchanged.We recommend setting fixedEyeAtCameraZero to true if you are going to transform (move) the camera. Transforming the camera when fixedEyeAtCameraZero is set to false may lead to results that are not intuitive. - Parameters:
- fixedEyeAtCameraZero- true if the the eye position is fixed at (0, 0, 0) in the local coordinates of the camera.
- Since:
- JavaFX 8.0
 
 
- 
 - 
Method Detail- 
setFieldOfViewpublic final void setFieldOfView(double value) Sets the value of the property fieldOfView.- Property description:
- Specifies the field of view angle of the camera's projection, measured in degrees.
- Default value:
- 30.0
 
 - 
getFieldOfViewpublic final double getFieldOfView() Gets the value of the property fieldOfView.- Property description:
- Specifies the field of view angle of the camera's projection, measured in degrees.
- Default value:
- 30.0
 
 - 
fieldOfViewPropertypublic final DoubleProperty fieldOfViewProperty() Specifies the field of view angle of the camera's projection, measured in degrees.- Default value:
- 30.0
- See Also:
- getFieldOfView(),- setFieldOfView(double)
 
 - 
setVerticalFieldOfViewpublic final void setVerticalFieldOfView(boolean value) Sets the value of the property verticalFieldOfView.- Property description:
- Defines whether the fieldOfViewproperty will apply to the vertical dimension of the projection. If it is false,fieldOfViewwill apply to the horizontal dimension of the projection.
- Default value:
- true
- Since:
- JavaFX 8.0
 
 - 
isVerticalFieldOfViewpublic final boolean isVerticalFieldOfView() Gets the value of the property verticalFieldOfView.- Property description:
- Defines whether the fieldOfViewproperty will apply to the vertical dimension of the projection. If it is false,fieldOfViewwill apply to the horizontal dimension of the projection.
- Default value:
- true
- Since:
- JavaFX 8.0
 
 - 
verticalFieldOfViewPropertypublic final BooleanProperty verticalFieldOfViewProperty() Defines whether thefieldOfViewproperty will apply to the vertical dimension of the projection. If it is false,fieldOfViewwill apply to the horizontal dimension of the projection.- Default value:
- true
- Since:
- JavaFX 8.0
- See Also:
- isVerticalFieldOfView(),- setVerticalFieldOfView(boolean)
 
 - 
isFixedEyeAtCameraZeropublic final boolean isFixedEyeAtCameraZero() Returns a flag indicating whether this camera uses a fixed eye position at the origin of the camera. IffixedEyeAtCameraZeroistrue, the the eye position is fixed at (0, 0, 0) in the local coordinates of the camera. This attribute is immutable.- Returns:
- a flag indicating whether this camera uses a fixed eye position at the origin of the camera
- Since:
- JavaFX 8.0
 
 
- 
 
-