QCamera Class
(Qt3DRender::QCamera)The QCamera class defines a view point through which the scene will be rendered. More...
| Header: | #include <Qt3DRender/QCamera> |
| qmake: | QT += 3drender |
| Since: | Qt 5.5 |
| Instantiated By: | Camera |
| Inherits: | Qt3DCore::QEntity |
Public Types
| enum | CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter } |
Properties
|
|
- 3 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
Public Functions
| QCamera(Qt3DCore::QNode *parent = nullptr) | |
| float | aspectRatio() const |
| float | bottom() const |
| float | exposure() const |
| float | farPlane() const |
| float | fieldOfView() const |
| float | left() const |
| Qt3DRender::QCameraLens * | lens() const |
| float | nearPlane() const |
| void | pan(float angle) |
| void | pan(float angle, const QVector3D &axis) |
| void | panAboutViewCenter(float angle) |
| void | panAboutViewCenter(float angle, const QVector3D &axis) |
| QQuaternion | panRotation(float angle) const |
| QVector3D | position() const |
| QMatrix4x4 | projectionMatrix() const |
| QCameraLens::ProjectionType | projectionType() const |
| float | right() const |
| void | roll(float angle) |
| void | rollAboutViewCenter(float angle) |
| QQuaternion | rollRotation(float angle) const |
| void | rotate(const QQuaternion &q) |
| void | rotateAboutViewCenter(const QQuaternion &q) |
| QQuaternion | rotation(float angle, const QVector3D &axis) const |
| void | tilt(float angle) |
| void | tiltAboutViewCenter(float angle) |
| QQuaternion | tiltRotation(float angle) const |
| float | top() const |
| Qt3DCore::QTransform * | transform() const |
| void | translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
| void | translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
| QVector3D | upVector() const |
| QVector3D | viewCenter() const |
| QVector3D | viewVector() const |
- 4 public functions inherited from Qt3DCore::QEntity
- 13 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
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 | setPosition(const QVector3D &position) |
| void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
| void | setProjectionType(QCameraLens::ProjectionType type) |
| void | setRight(float right) |
| void | setTop(float top) |
| void | setUpVector(const QVector3D &upVector) |
| void | setViewCenter(const QVector3D &viewCenter) |
| void | viewAll() |
| void | viewEntity(Qt3DCore::QEntity *entity) |
| void | viewSphere(const QVector3D ¢er, float radius) |
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
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 | positionChanged(const QVector3D &position) |
| void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
| void | projectionTypeChanged(QCameraLens::ProjectionType projectionType) |
| void | rightChanged(float right) |
| void | topChanged(float top) |
| void | upVectorChanged(const QVector3D &upVector) |
| void | viewCenterChanged(const QVector3D &viewCenter) |
| void | viewVectorChanged(const QVector3D &viewVector) |
- 4 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Static Public Members
| const QMetaObject | staticMetaObject |
- 1 static public member inherited from Qt3DCore::QEntity
- 1 static public member inherited from Qt3DCore::QNode
- 9 static public members inherited from QObject
Additional Inherited Members
- 1 public variable inherited from QObject
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
The QCamera class defines a view point through which the scene will be rendered.
Member Type Documentation
enum QCamera::CameraTranslationOption
This enum specifies how camera view center is translated
| Constant | Value | Description |
|---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | Translate the view center causing the view direction to remain the same |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | Don't translate the view center causing the view direction to change |
Property Documentation
aspectRatio : float
Holds the current aspect ratio.
Access functions:
| float | aspectRatio() const |
| void | setAspectRatio(float aspectRatio) |
Notifier signal:
| void | aspectRatioChanged(float aspectRatio) |
bottom : float
Holds the current bottom of the camera.
Access functions:
| float | bottom() const |
| void | setBottom(float bottom) |
Notifier signal:
| void | bottomChanged(float bottom) |
exposure : float
Holds the current exposure of the camera.
Access functions:
| float | exposure() const |
| void | setExposure(float exposure) |
Notifier signal:
| void | exposureChanged(float exposure) |
farPlane : float
Holds the current camera far plane.
Access functions:
| float | farPlane() const |
| void | setFarPlane(float farPlane) |
Notifier signal:
| void | farPlaneChanged(float farPlane) |
fieldOfView : float
Holds the current field of view in degrees.
Access functions:
| float | fieldOfView() const |
| void | setFieldOfView(float fieldOfView) |
Notifier signal:
| void | fieldOfViewChanged(float fieldOfView) |
left : float
Holds the current left of the camera.
Access functions:
| float | left() const |
| void | setLeft(float left) |
Notifier signal:
| void | leftChanged(float left) |
nearPlane : float
Holds the current camera near plane.
Access functions:
| float | nearPlane() const |
| void | setNearPlane(float nearPlane) |
Notifier signal:
| void | nearPlaneChanged(float nearPlane) |
position : QVector3D
Holds the camera's position in coordinates relative to the parent entity.
Access functions:
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Notifier signal:
| void | positionChanged(const QVector3D &position) |
projectionMatrix : QMatrix4x4
Holds the current projection matrix of the camera.
Access functions:
| QMatrix4x4 | projectionMatrix() const |
| void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
Notifier signal:
| void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
projectionType : Qt3DRender::QCameraLens::ProjectionType
Holds the type of the camera projection.
- CameraLens.OrthographicProjection
- CameraLens.PerspectiveProjection
- CameraLens.FrustumProjection
- CameraLens.CustomProjection
Access functions:
| QCameraLens::ProjectionType | projectionType() const |
| void | setProjectionType(QCameraLens::ProjectionType type) |
Notifier signal:
| void | projectionTypeChanged(QCameraLens::ProjectionType projectionType) |
See also Qt3DRender::QCameraLens::ProjectionType.
right : float
Holds the current right of the camera.
Access functions:
| float | right() const |
| void | setRight(float right) |
Notifier signal:
| void | rightChanged(float right) |
top : float
Holds the current top of the camera.
Access functions:
| float | top() const |
| void | setTop(float top) |
Notifier signal:
| void | topChanged(float top) |
upVector : QVector3D
Holds the camera's up vector in coordinates relative to the parent entity.
Access functions:
| QVector3D | upVector() const |
| void | setUpVector(const QVector3D &upVector) |
Notifier signal:
| void | upVectorChanged(const QVector3D &upVector) |
viewCenter : QVector3D
Holds the camera's view center in coordinates relative to the parent entity.
Access functions:
| QVector3D | viewCenter() const |
| void | setViewCenter(const QVector3D &viewCenter) |
Notifier signal:
| void | viewCenterChanged(const QVector3D &viewCenter) |
viewVector : const QVector3D
Holds the camera's view vector in coordinates relative to the parent entity.
Access functions:
| QVector3D | viewVector() const |
Notifier signal:
| void | viewVectorChanged(const QVector3D &viewVector) |
Member Function Documentation
QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)
Creates a new QCamera instance with the specified parent.
Qt3DRender::QCameraLens *QCamera::lens() const
Returns the current lens.
void QCamera::pan(float angle)
Adjusts the pan angle of the camera by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::pan(float angle, const QVector3D &axis)
Adjusts the pan angle of the camera by angle in degrees on a chosen axis.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::panAboutViewCenter(float angle)
Adjusts the camera pan about view center by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)
Adjusts the camera pan about view center by angle in degrees on axis.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
QQuaternion QCamera::panRotation(float angle) const
Returns the calculated pan rotation in relation to the angle in degrees taken in to adjust the camera's pan or left/right rotation on the Y axis.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::roll(float angle)
Adjusts the camera roll by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::rollAboutViewCenter(float angle)
Adjusts the camera roll about view center by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
QQuaternion QCamera::rollRotation(float angle) const
Returns the calculated roll rotation in relation to the angle in degrees taken in to adjust the camera's roll or lean left/right rotation on the Z axis.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::rotate(const QQuaternion &q)
Rotates the camera with the use of a Quaternion in q.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::rotateAboutViewCenter(const QQuaternion &q)
Rotates the camera about the view center with the use of a Quaternion in q.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const
Returns the calculated rotation in relation to the angle in degrees and chosen axis taken in.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[slot] void QCamera::setAspectRatio(float aspectRatio)
Sets the camera's aspect ratio to aspectRatio.
Note: Setter function for property aspectRatio.
See also aspectRatio().
[slot] void QCamera::setBottom(float bottom)
Sets the bottom of the camera to bottom.
Note: Setter function for property bottom.
See also bottom().
[slot] void QCamera::setExposure(float exposure)
Sets the camera's exposure to exposure.
Note: Setter function for property exposure.
See also exposure().
[slot] void QCamera::setFarPlane(float farPlane)
Sets the camera's far plane to farPlane
Note: Setter function for property farPlane.
See also farPlane().
[slot] void QCamera::setFieldOfView(float fieldOfView)
Sets the camera's field of view to fieldOfView in degrees.
Note: Setter function for property fieldOfView.
See also fieldOfView().
[slot] void QCamera::setLeft(float left)
Sets the left of the camera to left.
Note: Setter function for property left.
See also left().
[slot] void QCamera::setNearPlane(float nearPlane)
Sets the camera's near plane to nearPlane.
Note: Setter function for property nearPlane.
See also nearPlane().
[slot] void QCamera::setPosition(const QVector3D &position)
Sets the camera's position in 3D space to position.
Note: Setter function for property position.
See also position().
[slot] void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
Sets the camera's projection matrix to projectionMatrix.
Note: Setter function for property projectionMatrix.
See also projectionMatrix().
[slot] void QCamera::setProjectionType(QCameraLens::ProjectionType type)
Sets the camera's projection type to type.
Note: Setter function for property projectionType.
See also projectionType().
[slot] void QCamera::setRight(float right)
Sets the right of the camera to right.
Note: Setter function for property right.
See also right().
[slot] void QCamera::setTop(float top)
Sets the top of the camera to top.
Note: Setter function for property top.
See also top().
[slot] void QCamera::setUpVector(const QVector3D &upVector)
Sets the camera's up vector to upVector.
Note: Setter function for property upVector.
See also upVector().
[slot] void QCamera::setViewCenter(const QVector3D &viewCenter)
Sets the camera's view center to viewCenter.
Note: Setter function for property viewCenter.
See also viewCenter().
void QCamera::tilt(float angle)
Adjusts the tilt angle of the camera by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::tiltAboutViewCenter(float angle)
Adjusts the camera tilt about view center by angle in degrees.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
QQuaternion QCamera::tiltRotation(float angle) const
Returns the calculated tilt rotation in relation to the angle in degrees taken in to adjust the camera's tilt or up/down rotation on the X axis.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Qt3DCore::QTransform *QCamera::transform() const
Returns the camera's position via transform.
void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Translates the camera's position and its view vector by vLocal in local coordinates. The option allows for toggling whether the view center should be translated.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Translates the camera's position and its view vector by vWorld in world coordinates. The option allows for toggling whether the view center should be translated.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[slot] void QCamera::viewAll()
Rotates and moves the camera so that it's viewCenter is the center of the scene's bounding volume and the entire scene fits in the view port.
Note: Only works if the lens is in perspective projection mode.
See also Qt3D.Render::Camera::projectionType.
[slot] void QCamera::viewEntity(Qt3DCore::QEntity *entity)
Rotates and moves the camera so that it's viewCenter is the center of the entity's bounding volume and the entire entity fits in the view port.
Note: Only works if the lens is in perspective projection mode.
See also Camera.projectionType.
[slot] void QCamera::viewSphere(const QVector3D ¢er, float radius)
Rotates and moves the camera so that it's viewCenter is center and a sphere of radius fits in the view port.
Note: Only works if the lens is in perspective projection mode.
See also Qt3D.Render::Camera::projectionType.