Spec-Zone.ru › Qt 6.0

Класс QCamera

class Qt3DRender::QCamera

Класс QCamera определяет точку обзора, через которую будет рендериться сцена. Подробнее...

Заголовок: #include <Qt3DRender/QCamera>
CMake: find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
С версии: Qt 5.5
Создаётся из: Camera
Наследуется от: Qt3DCore::QEntity
  • Список всех членов, включая наследуемые
  • Устаревшие члены

Открытые типы

Перечисление CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter }

Свойства

  • aspectRatio : float
  • bottom : float
  • exposure : float
  • farPlane : float
  • fieldOfView : float
  • left : float
  • lens : Qt3DRender::QCameraLens* const
  • nearPlane : float
  • position : QVector3D
  • projectionMatrix : QMatrix4x4
  • projectionType : Qt3DRender::QCameraLens::ProjectionType
  • right : float
  • top : float
  • transform : Qt3DCore::QTransform* const
  • upVector : QVector3D
  • viewCenter : QVector3D
  • viewVector : const QVector3D

Открытые функции

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 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 &center, float radius)

Сигналы

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)

Подробное описание

Документация по типам членов

перечисление QCamera::CameraTranslationOption

Это перечисление определяет, как переводится центральная точка обзора камеры

Постоянная Значение Описание
Qt3DRender::QCamera::TranslateViewCenter 0 Переместить центральную точку обзора, сохраняя при этом направление обзора неизменным
Qt3DRender::QCamera::DontTranslateViewCenter 1 Не перемещать центральную точку обзора, что приведет к изменению направления обзора

Документация свойств

aspectRatio : float

Содержит текущее соотношение сторон.

Функции доступа:

float aspectRatio() const
void setAspectRatio(float aspectRatio)

Сигнал уведомления:

void aspectRatioChanged(float aspectRatio)

bottom : float

Содержит текущее значение нижней границы камеры.

Это свойство актуально только при projectionType равном QCameraLens::OrthographicProjection.

Функции доступа:

float bottom() const
void setBottom(float bottom)

Сигнал уведомления:

void bottomChanged(float bottom)

exposure : float

Содержит текущее значение экспозиции камеры.

Значение по умолчанию равно 0.0.

В настоящее время MetalRoughMaterial в Qt 3D Extras — единственный предоставленный материал, использующий экспозицию камеры. Отрицательные значения сделают материал темнее, а положительные — светлее.

Пользовательские материалы могут интерпретировать это значение иначе.

Функции доступа:

float exposure() const
void setExposure(float exposure)

Сигнал уведомления:

void exposureChanged(float exposure)

farPlane : float

Содержит текущую дальнюю плоскость камеры. Объекты, находящиеся дальше от камеры, чем farPlane, не будут отображаться.

Функции доступа:

float farPlane() const
void setFarPlane(float farPlane)

Сигнал уведомления:

void farPlaneChanged(float farPlane)

fieldOfView : float

Содержит текущий вертикальный угол обзора в градусах.

Вместе со свойством aspectRatio это свойство определяет, какая часть сцены видна камере. В этом смысле его можно сравнить с выбором широкоугольного (широкий горизонтальный угол обзора) или телеобъектива (узкий горизонтальный угол обзора) в зависимости от того, какую часть сцены вы хотите запечатлеть.

fieldOfView актуально только при projectionType равном QCameraLens::PerspectiveProjection.

Функции доступа:

float fieldOfView() const
void setFieldOfView(float fieldOfView)

Сигнал уведомления:

void fieldOfViewChanged(float fieldOfView)

left : float

Содержит текущее значение левой границы камеры.

Это свойство актуально только при projectionType равном QCameraLens::OrthographicProjection.

Функции доступа:

float left() const
void setLeft(float left)

Сигнал уведомления:

void leftChanged(float left)

[read-only, since 5.14] lens : Qt3DRender::QCameraLens* const

Содержит компонент Qt3DRender::QCameraLens камеры.

Это свойство было добавлено в Qt 5.14.

Функции доступа:

Qt3DRender::QCameraLens * lens() const

nearPlane : float

Содержит текущую ближнюю плоскость камеры. Объекты, находящиеся ближе к камере, чем nearPlane, не будут отображаться.

Функции доступа:

float nearPlane() const
void setNearPlane(float nearPlane)

Сигнал уведомления:

void nearPlaneChanged(float nearPlane)

position : QVector3D

Содержит положение камеры в координатах, относительных к родительскому элементу.

Функции доступа:

QVector3D position() const
void setPosition(const QVector3D &position)

Сигнал уведомления:

void positionChanged(const QVector3D &position)

projectionMatrix : QMatrix4x4

Содержит текущую проекционную матрицу камеры.

Функции доступа:

QMatrix4x4 projectionMatrix() const
void setProjectionMatrix(const QMatrix4x4 &projectionMatrix)

Сигнал уведомления:

void projectionMatrixChanged(const QMatrix4x4 &projectionMatrix)

projectionType : Qt3DRender::QCameraLens::ProjectionType

Содержит тип проекции камеры. Значение по умолчанию — QCameraLens::PerspectiveProjection.

  • QCameraLens::OrthographicProjection — Параллельные линии остаются параллельными. Объекты имеют одинаковый размер независимо от расстояния.
  • QCameraLens::PerspectiveProjection — Параллельные линии кажутся сходящимися вдали. Объекты кажутся уменьшающимися по мере удаления от камеры.
  • QCameraLens::FrustumProjection
  • QCameraLens::CustomProjection

Функции доступа:

QCameraLens::ProjectionType projectionType() const
void setProjectionType(QCameraLens::ProjectionType type)

Сигнал уведомления:

void projectionTypeChanged(QCameraLens::ProjectionType projectionType)

См. такжеQt3DRender::QCameraLens::ProjectionType.

right : float

Содержит текущее правое значение камеры.

Это свойство актуально только при projectionType = QCameraLens::OrthographicProjection.

Функции доступа:

float right() const
void setRight(float right)

Сигнал уведомления:

void rightChanged(float right)

top : float

Содержит текущее верхнее значение камеры.

Это свойство актуально только при projectionType = QCameraLens::OrthographicProjection.

Функции доступа:

float top() const
void setTop(float top)

Сигнал уведомления:

void topChanged(float top)

[read-only, since 5.14] transform : Qt3DCore::QTransform* const

Содержит компонент Qt3DCore::QTransform камеры.

Это свойство было добавлено в Qt 5.14.

Функции доступа:

Qt3DCore::QTransform * transform() const

upVector : QVector3D

Содержит вектор «вверх» камеры в координатах, относительных к родительскому элементу.

Вектор «вверх» указывает направление верхней части камеры. Представьте, что вы делаете фотографию: после позиционирования и наведения камеры на цель, вы можете повернуть камеру влево или вправо, получив портретную или ландшафтную (или наклонную!) съемку. upVector позволяет управлять этим типом перемещения.

Функции доступа:

QVector3D upVector() const
void setUpVector(const QVector3D &upVector)

Сигнал уведомления:

void upVectorChanged(const QVector3D &upVector)

[read-only] viewCenter : QVector3D

Содержит центр обзора камеры в координатах, относительных к родительскому элементу.

Интуитивно, viewCenter — это место, на которое нацелена камера.

Функции доступа:

QVector3D viewCenter() const
void setViewCenter(const QVector3D &viewCenter)

Сигнал уведомления:

void viewCenterChanged(const QVector3D &viewCenter)

[read-only] viewVector : const QVector3D

Содержит вектор направления взгляда камеры в координатах, относительных к родительскому элементу.

Этот вектор описывает смещение от камеры (position) до ее целевой точки (viewCenter).

Функции доступа:

QVector3D viewVector() const

Сигнал уведомления:

void viewVectorChanged(const QVector3D &viewVector)

Документация по функциям-членам

QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)

Создаёт новый экземпляр QCamera с указанным parent.

[slot] void QCamera::setAspectRatio(float aspectRatio)

Устанавливает коэффициент пропорциональности камеры в значение aspectRatio.

Примечание: Функция-установщик свойства aspectRatio.

См. такжеaspectRatio().

[slot] void QCamera::setBottom(float bottom)

Устанавливает нижнее значение камеры в bottom.

Примечание: Функция-установщик свойства bottom.

См. такжеbottom().

[slot] void QCamera::setExposure(float exposure)

Устанавливает экспозицию камеры в значение exposure.

Примечание: Функция-установщик свойства exposure.

См. такжеexposure().

[slot] void QCamera::setFarPlane(float farPlane)

Устанавливает дальнюю плоскость камеры в значение farPlane

Примечание: Функция-установщик свойства farPlane.

См. такжеfarPlane().

[slot] void QCamera::setFieldOfView(float fieldOfView)

Устанавливает поле зрения камеры в значение fieldOfView в градусах.

Примечание: Функция-установщик свойства fieldOfView.

См. такжеfieldOfView().

[slot] void QCamera::setLeft(float left)

Устанавливает левое значение камеры в left.

Примечание: Функция-установщик свойства left.

См. такжеleft().

[slot] void QCamera::setNearPlane(float nearPlane)

Устанавливает ближнюю плоскость камеры в значение nearPlane.

Примечание: Функция-установщик свойства nearPlane.

См. такжеnearPlane().

[slot] void QCamera::setPosition(const QVector3D &position)

Устанавливает позицию камеры в 3D пространстве в значение position.

Примечание: Функция-установщик свойства position.

См. такжеposition().

[slot] void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)

Устанавливает матрицу проекции камеры в значение projectionMatrix.

Примечание: Функция-установщик свойства projectionMatrix.

См. такжеprojectionMatrix().

[slot] void QCamera::setProjectionType(QCameraLens::ProjectionType type)

Устанавливает тип проекции камеры в значение type.

Примечание: Функция-установщик свойства projectionType.

См. такжеprojectionType().

[slot] void QCamera::setRight(float right)

Устанавливает правое значение камеры в right.

Примечание: Функция-установщик свойства right.

См. такжеright().

[slot] void QCamera::setTop(float top)

Устанавливает верхнее значение камеры в top.

Примечание: Функция-установщик свойства top.

См. также top().

[slot] void QCamera::setUpVector(const QVector3D &upVector)

Устанавливает вектор вверх камеры на upVector.

Примечание: Функция-сеттер для свойства upVector.

См. также upVector().

[slot] void QCamera::setViewCenter(const QVector3D &viewCenter)

Устанавливает центр обзора камеры на viewCenter.

Примечание: Функция-сеттер для свойства viewCenter.

См. также viewCenter().

[slot] void QCamera::viewAll()

Поворачивает и перемещает камеру так, чтобы её viewCenter был центром ограничивающего объёма сцены, а вся сцена помещалась в порт отображения.

Примечание: Работает только в режиме перспективной или ортогональной проекции объектива.

См. также Qt3D.Render::Camera::projectionType.

[slot] void QCamera::viewEntity(Qt3DCore::QEntity *entity)

Поворачивает и перемещает камеру так, чтобы её viewCenter был центром ограничивающего объёма сущности entity, а вся сущность помещалась в порт отображения.

Примечание: Работает только в режиме перспективной или ортогональной проекции объектива.

См. также Camera.projectionType.

[slot] void QCamera::viewSphere(const QVector3D &center, float radius)

Поворачивает и перемещает камеру так, чтобы её viewCenter был center, и сфера радиусом radius помещалась в порт отображения.

Примечание: Работает только в режиме перспективной или ортогональной проекции объектива.

См. также Qt3D.Render::Camera::projectionType.

Qt3DRender::QCameraLens *QCamera::lens() const

Возвращает текущий объектив.

Примечание: Функция-геттер для свойства lens.

void QCamera::pan(float angle)

Корректирует угол обзора камеры на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::pan(float angle, const QVector3D &axis)

Корректирует угол панорамирования камеры на angle градусов вдоль заданной axis.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::panAboutViewCenter(float angle)

Корректирует панорамирование камеры вокруг центра обзора на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)

Корректирует панорамирование камеры вокруг центра обзора на angle градусов вдоль axis.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

QQuaternion QCamera::panRotation(float angle) const

Возвращает вычисленное вращение панорамирования относительно angle в градусах, используемого для корректировки панорамирования камеры или вращения влево/вправо вокруг оси Y.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::roll(float angle)

Корректирует крен камеры на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::rollAboutViewCenter(float angle)

Корректирует крен камеры вокруг центра обзора на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

QQuaternion QCamera::rollRotation(float angle) const

Возвращает вычисленное вращение крена относительно angle в градусах, используемого для корректировки крена камеры или вращения влево/вправо вокруг оси Z.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::rotate(const QQuaternion &q)

Поворачивает камеру с использованием кватерниона q.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::rotateAboutViewCenter(const QQuaternion &q)

Поворачивает камеру вокруг центра обзора с использованием кватерниона q.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const

Возвращает вычисленное вращение относительно angle в градусах и выбранной axis.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::tilt(float angle)

Корректирует угол наклона камеры на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::tiltAboutViewCenter(float angle)

Корректирует наклон камеры вокруг центра обзора на angle градусов.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

QQuaternion QCamera::tiltRotation(float angle) const

Возвращает вычисленное вращение наклона относительно angle в градусах, используемого для корректировки наклона камеры или вращения вверх/вниз вокруг оси X.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Qt3DCore::QTransform *QCamera::transform() const

Возвращает положение камеры через преобразование.

Примечание: Функция-геттер для свойства transform.

void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)

Перемещает положение камеры и вектор обзора на vLocal в локальных координатах. Параметр option позволяет переключать перевод центра обзора.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)

Перемещает положение камеры и вектор обзора на vWorld в мировых координатах. Параметр option позволяет переключать перевод центра обзора.

Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qcamera.html

Spec-Zone.ru

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