Spec-Zone.ru › OpenJavaFX 21

Class PerspectiveCamera

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 fieldOfView value 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 a PerspectiveCamera node 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 fieldOfView will 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 fieldOfView and 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.SCENE3D for more information.

Since:
JavaFX 2.0

Property Summary

Type Property Description
final DoubleProperty fieldOfView
Specifies the field of view angle of the camera's projection, measured in degrees.
final BooleanProperty verticalFieldOfView
Defines whether the fieldOfView property will apply to the vertical dimension of the projection.

Properties declared in class javafx.scene.Camera

farClip, nearClip

Properties declared in class javafx.scene.Node

accessibleHelp, 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 Summary

Fields declared in class javafx.scene.Node

BASELINE_OFFSET_SAME_AS_HEIGHT

Constructor Summary

Constructor Description
PerspectiveCamera()
Creates an empty instance of PerspectiveCamera.
PerspectiveCamera(boolean fixedEyeAtCameraZero)
Constructs a PerspectiveCamera with the specified fixedEyeAtCameraZero flag.

Method Summary

Modifier and Type Method Description
final DoubleProperty fieldOfViewProperty()
Specifies the field of view angle of the camera's projection, measured in degrees.
final double getFieldOfView()
Gets the value of the fieldOfView property.
final boolean isFixedEyeAtCameraZero()
Returns a flag indicating whether this camera uses a fixed eye position at the origin of the camera.
final boolean isVerticalFieldOfView()
Gets the value of the verticalFieldOfView property.
final void setFieldOfView(double value)
Sets the value of the fieldOfView property.
final void setVerticalFieldOfView(boolean value)
Sets the value of the verticalFieldOfView property.
final BooleanProperty verticalFieldOfViewProperty()
Defines whether the fieldOfView property will apply to the vertical dimension of the projection.

Methods declared in class javafx.scene.Camera

farClipProperty, getFarClip, getNearClip, nearClipProperty, setFarClip, setNearClip

Methods declared in class javafx.scene.Node

accessibleHelpProperty, 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, 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 declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Methods declared in interface javafx.css.Styleable

getStyleableNode

Property Details

fieldOfView

public 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)
  • fieldOfViewProperty()

verticalFieldOfView

public final BooleanProperty verticalFieldOfViewProperty
Defines whether the fieldOfView property will apply to the vertical dimension of the projection. If it is false, fieldOfView will apply to the horizontal dimension of the projection.
Default value:
true
Since:
JavaFX 8.0
See Also:
  • isVerticalFieldOfView()
  • setVerticalFieldOfView(boolean)
  • verticalFieldOfViewProperty()

Constructor Details

PerspectiveCamera

public PerspectiveCamera()
Creates an empty instance of PerspectiveCamera.

PerspectiveCamera

public 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 fieldOfView will 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 fieldOfView and 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 Details

setFieldOfView

public final void setFieldOfView(double value)
Sets the value of the fieldOfView property.
Property description:
Specifies the field of view angle of the camera's projection, measured in degrees.
Default value:
30.0
Parameters:
value - the value for the fieldOfView property
See Also:
  • getFieldOfView()
  • fieldOfViewProperty()

getFieldOfView

public final double getFieldOfView()
Gets the value of the fieldOfView property.
Property description:
Specifies the field of view angle of the camera's projection, measured in degrees.
Default value:
30.0
Returns:
the value of the fieldOfView property
See Also:
  • setFieldOfView(double)
  • fieldOfViewProperty()

fieldOfViewProperty

public final DoubleProperty fieldOfViewProperty()
Specifies the field of view angle of the camera's projection, measured in degrees.
Default value:
30.0
Returns:
the fieldOfView property
See Also:
  • getFieldOfView()
  • setFieldOfView(double)

setVerticalFieldOfView

public final void setVerticalFieldOfView(boolean value)
Sets the value of the verticalFieldOfView property.
Property description:
Defines whether the fieldOfView property will apply to the vertical dimension of the projection. If it is false, fieldOfView will apply to the horizontal dimension of the projection.
Default value:
true
Parameters:
value - the value for the verticalFieldOfView property
Since:
JavaFX 8.0
See Also:
  • isVerticalFieldOfView()
  • verticalFieldOfViewProperty()

isVerticalFieldOfView

public final boolean isVerticalFieldOfView()
Gets the value of the verticalFieldOfView property.
Property description:
Defines whether the fieldOfView property will apply to the vertical dimension of the projection. If it is false, fieldOfView will apply to the horizontal dimension of the projection.
Default value:
true
Returns:
the value of the verticalFieldOfView property
Since:
JavaFX 8.0
See Also:
  • setVerticalFieldOfView(boolean)
  • verticalFieldOfViewProperty()

verticalFieldOfViewProperty

public final BooleanProperty verticalFieldOfViewProperty()
Defines whether the fieldOfView property will apply to the vertical dimension of the projection. If it is false, fieldOfView will apply to the horizontal dimension of the projection.
Default value:
true
Returns:
the verticalFieldOfView property
Since:
JavaFX 8.0
See Also:
  • isVerticalFieldOfView()
  • setVerticalFieldOfView(boolean)

isFixedEyeAtCameraZero

public final boolean isFixedEyeAtCameraZero()
Returns a flag indicating whether this camera uses a fixed eye position at the origin of the camera. If fixedEyeAtCameraZero is true, 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

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API