QCameraLens Class
class Qt3DRender::QCameraLensQt3DRender::QCameraLens specifies the projection matrix that will be used to define a Camera for a 3D scene. More...
Header: | #include <Qt3DRender/QCameraLens> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
Instantiated By: | CameraLens |
Inherits: | Qt3DCore::QComponent |
Public Types
enum | ProjectionType { OrthographicProjection, PerspectiveProjection, FrustumProjection, CustomProjection } |
Properties
|
|
Public Functions
QCameraLens(Qt3DCore::QNode *parent = nullptr) | |
float | aspectRatio() const |
float | bottom() const |
float | exposure() const |
float | farPlane() const |
float | fieldOfView() const |
float | left() const |
float | nearPlane() const |
QMatrix4x4 | projectionMatrix() const |
Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
float | right() const |
void | setFrustumProjection(float left, float right, float bottom, float top, float nearPlane, float farPlane) |
void | setOrthographicProjection(float left, float right, float bottom, float top, float nearPlane, float farPlane) |
void | setPerspectiveProjection(float fieldOfView, float aspectRatio, float nearPlane, float farPlane) |
float | top() const |
Public Slots
void | setAspectRatio(float aspectRatio) |
void | setBottom(float bottom) |
void | setExposure(float exposure) |
void | setFarPlane(float farPlane) |
void | setFieldOfView(float fieldOfView) |
void | setLeft(float left) |
void | setNearPlane(float nearPlane) |
void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType projectionType) |
void | setRight(float right) |
void | setTop(float top) |
Signals
void | aspectRatioChanged(float aspectRatio) |
void | bottomChanged(float bottom) |
void | exposureChanged(float exposure) |
void | farPlaneChanged(float farPlane) |
void | fieldOfViewChanged(float fieldOfView) |
void | leftChanged(float left) |
void | nearPlaneChanged(float nearPlane) |
void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
void | rightChanged(float right) |
void | topChanged(float top) |
Member Type Documentation
enum QCameraLens::ProjectionType
Specifies which parameters of Qt3DRender::QCameraLens are used to compute the projection matrix.
Constant | Value | Description |
---|---|---|
Qt3DRender::QCameraLens::OrthographicProjection | 0 | Orthogonal projection |
Qt3DRender::QCameraLens::PerspectiveProjection | 1 | Perspective projection |
Qt3DRender::QCameraLens::FrustumProjection | 2 | Frustum projection |
Qt3DRender::QCameraLens::CustomProjection | 3 | Custom user-defined projection |
Property Documentation
aspectRatio : float
Holds the current aspect ratio of the camera lens.
Note: : The return value may be undefined if the projection type is not Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | aspectRatio() const |
void | setAspectRatio(float aspectRatio) |
Notifier signal:
void | aspectRatioChanged(float aspectRatio) |
bottom : float
Holds the current bottom plane of the camera lens.
Note: The return value may be undefined if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | bottom() const |
void | setBottom(float bottom) |
Notifier signal:
void | bottomChanged(float bottom) |
exposure : float
Holds the current exposure of the camera lens.
Access functions:
float | exposure() const |
void | setExposure(float exposure) |
Notifier signal:
void | exposureChanged(float exposure) |
farPlane : float
Holds the current near plane of the camera lens.
Access functions:
float | farPlane() const |
void | setFarPlane(float farPlane) |
Notifier signal:
void | farPlaneChanged(float farPlane) |
fieldOfView : float
Holds the current field of view of the camera lens.
Note: : The return value may be undefined if the projection type is not Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | fieldOfView() const |
void | setFieldOfView(float fieldOfView) |
Notifier signal:
void | fieldOfViewChanged(float fieldOfView) |
left : float
Holds the current left plane of the camera lens.
Note: The return value may be undefined if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | left() const |
void | setLeft(float left) |
Notifier signal:
void | leftChanged(float left) |
nearPlane : float
Holds the current near plane of the camera lens.
Access functions:
float | nearPlane() const |
void | setNearPlane(float nearPlane) |
Notifier signal:
void | nearPlaneChanged(float nearPlane) |
projectionMatrix : QMatrix4x4
Holds the current projection matrix of the camera lens.
Access functions:
QMatrix4x4 | projectionMatrix() const |
void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
Notifier signal:
void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
projectionType : ProjectionType
Holds the type of the camera projection.
Access functions:
Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType projectionType) |
Notifier signal:
void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
See also Qt3DRender::QCameraLens::ProjectionType.
right : float
Holds the current right plane of the camera lens.
Note: The return value may be undefined if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | right() const |
void | setRight(float right) |
Notifier signal:
void | rightChanged(float right) |
top : float
Holds the current top plane of the camera lens.
Note: The return value may be undefined if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Access functions:
float | top() const |
void | setTop(float top) |
Notifier signal:
void | topChanged(float top) |
Member Function Documentation
[explicit]
QCameraLens::QCameraLens(Qt3DCore::QNode *parent = nullptr)
Constructs a QCameraLens with given parent
[slot]
void QCameraLens::setAspectRatio(float aspectRatio)
Sets the projection's aspect ratio to aspectRatio. This triggers a projection matrix update.
Note: this has no effect if the projection type is not Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property aspectRatio.
See also aspectRatio().
[slot]
void QCameraLens::setBottom(float bottom)
Sets the projection's bottom window coordinate to bottom. This triggers a projection matrix update.
Note: this has no effect if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property bottom.
See also bottom().
[slot]
void QCameraLens::setExposure(float exposure)
Sets the camera lens' exposure
Note: Setter function for property exposure.
See also exposure().
[slot]
void QCameraLens::setFarPlane(float farPlane)
Sets the projection's far plane to farPlane. This triggers a projection matrix update.
Note: Setter function for property farPlane.
See also farPlane().
[slot]
void QCameraLens::setFieldOfView(float fieldOfView)
Sets the projection's field of view to fieldOfView degrees. This triggers a projection matrix update.
Note: this has no effect if the projection type is not Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property fieldOfView.
See also fieldOfView().
void QCameraLens::setFrustumProjection(float left, float right, float bottom, float top, float nearPlane, float farPlane)
Defines an orthographic projection based on left, right, bottom, top, nearPlane, farPlane.
[slot]
void QCameraLens::setLeft(float left)
Sets the projection's lower left window coordinate to left. This triggers a projection matrix update.
Note: this has no effect if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property left.
See also left().
[slot]
void QCameraLens::setNearPlane(float nearPlane)
Sets the projection's near plane to nearPlane. This triggers a projection matrix update.
Note: Setter function for property nearPlane.
See also nearPlane().
void QCameraLens::setOrthographicProjection(float left, float right, float bottom, float top, float nearPlane, float farPlane)
Defines an orthographic projection based on left, right, bottom, top, nearPlane, farPlane.
void QCameraLens::setPerspectiveProjection(float fieldOfView, float aspectRatio, float nearPlane, float farPlane)
Defines a perspective projection based on fieldOfView, aspectRatio, nearPlane, farPlane.
[slot]
void QCameraLens::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
Sets the project matrix to projectionMatrix.
Note: This will set the projection type to Qt3DRender::QCameraLens::CustomProjection and thus ignore all other camera parameters that might have been specified.
Note: Setter function for property projectionMatrix.
See also projectionMatrix().
[slot]
void QCameraLens::setProjectionType(Qt3DRender::QCameraLens::ProjectionType projectionType)
Sets the lens' projection type projectionType.
Note: Qt3DRender::QCameraLens::Frustum and Qt3DRender::QCameraLens::PerspectiveProjection are two different ways of specifying the same projection.
Note: Setter function for property projectionType.
See also projectionType().
[slot]
void QCameraLens::setRight(float right)
Sets the projection's upper right window coordinate to right. This triggers a projection matrix update.
Note: this has no effect if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property right.
See also right().
[slot]
void QCameraLens::setTop(float top)
Sets the projection's top window coordinate to top. This triggers a projection matrix update.
Note: this has no effect if the projection type is Qt3DRender::QCameraLens::PerspectiveProjection.
Note: Setter function for property top.
See also top().
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.