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) |
Detailed Description
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().