Класс Q3DCamera
Представление камеры в 3D пространстве. Подробнее...
| Заголовок: | #include <Q3DCamera> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Camera3D |
| Наследует: | Q3DObject |
Типы публичного доступа
| перечисление | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow } |
Свойства
|
|
Публичные функции
| Q3DCamera(QObject *parent = nullptr) | |
| virtual | ~Q3DCamera() |
| Q3DCamera::CameraPreset | cameraPreset() const |
| float | maxZoomLevel() const |
| float | minZoomLevel() const |
| void | setCameraPosition(float horizontal, float vertical, float zoom = 100.0f) |
| void | setCameraPreset(Q3DCamera::CameraPreset preset) |
| void | setMaxZoomLevel(float zoomLevel) |
| void | setMinZoomLevel(float zoomLevel) |
| void | setTarget(const QVector3D &target) |
| void | setWrapXRotation(bool isEnabled) |
| void | setWrapYRotation(bool isEnabled) |
| void | setXRotation(float rotation) |
| void | setYRotation(float rotation) |
| void | setZoomLevel(float zoomLevel) |
| QVector3D | target() const |
| bool | wrapXRotation() const |
| bool | wrapYRotation() const |
| float | xRotation() const |
| float | yRotation() const |
| float | zoomLevel() const |
Переопределённые публичные функции
| virtual void | copyValuesFrom(const Q3DObject &source) override |
Сигналы
| void | cameraPresetChanged(Q3DCamera::CameraPreset preset) |
| void | maxZoomLevelChanged(float zoomLevel) |
| void | minZoomLevelChanged(float zoomLevel) |
| void | targetChanged(const QVector3D &target) |
| void | wrapXRotationChanged(bool isEnabled) |
| void | wrapYRotationChanged(bool isEnabled) |
| void | xRotationChanged(float rotation) |
| void | yRotationChanged(float rotation) |
| void | zoomLevelChanged(float zoomLevel) |
Подробное описание
Q3DCamera представляет собой базовую орбитальную 3D-камеру, используемую при визуализации данных. Класс предлагает простые методы для вращения камеры вокруг начала координат и задания уровня масштабирования.
Документация по типам членов
перечисление Q3DCamera::CameraPreset
Предварительно определённые позиции камеры.
| Постоянная | Значение | Описание |
|---|---|---|
Q3DCamera::CameraPresetNone |
-1 |
Используется для обозначения того, что предустановка не задана или сцена вращается свободно. |
Q3DCamera::CameraPresetFrontLow |
0 |
|
Q3DCamera::CameraPresetFront |
1 |
|
Q3DCamera::CameraPresetFrontHigh |
2 |
|
Q3DCamera::CameraPresetLeftLow |
3 |
|
Q3DCamera::CameraPresetLeft |
4 |
|
Q3DCamera::CameraPresetLeftHigh |
5 |
|
Q3DCamera::CameraPresetRightLow |
6 |
|
Q3DCamera::CameraPresetRight |
7 |
|
Q3DCamera::CameraPresetRightHigh |
8 |
|
Q3DCamera::CameraPresetBehindLow |
9 |
|
Q3DCamera::CameraPresetBehind |
10 |
|
Q3DCamera::CameraPresetBehindHigh |
11 |
|
Q3DCamera::CameraPresetIsometricLeft |
12 |
|
Q3DCamera::CameraPresetIsometricLeftHigh |
13 |
|
Q3DCamera::CameraPresetIsometricRight |
14 |
|
Q3DCamera::CameraPresetIsometricRightHigh |
15 |
|
Q3DCamera::CameraPresetDirectlyAbove |
16 |
|
Q3DCamera::CameraPresetDirectlyAboveCW45 |
17 |
|
Q3DCamera::CameraPresetDirectlyAboveCCW45 |
18 |
|
Q3DCamera::CameraPresetFrontBelow |
19 |
В Q3DBars от CameraPresetFrontBelow и далее они работают только для графиков, включающих отрицательные значения. Они действуют как Preset...Low для значений только с положительными значениями. |
Q3DCamera::CameraPresetLeftBelow |
20 |
|
Q3DCamera::CameraPresetRightBelow |
21 |
|
Q3DCamera::CameraPresetBehindBelow |
22 |
|
Q3DCamera::CameraPresetDirectlyBelow |
23 |
Действует как CameraPresetFrontLow для столбцов только с положительными значениями. |
Документация свойств
cameraPreset : CameraPreset
Это свойство хранит текущие активные настройки камеры.
Если значение CameraPreset не задано, по умолчанию используется CameraPresetNone.
Функции доступа:
| Q3DCamera::CameraPreset | cameraPreset() const |
| void | setCameraPreset(Q3DCamera::CameraPreset preset) |
Сигнал уведомления:
| void | cameraPresetChanged(Q3DCamera::CameraPreset preset) |
maxZoomLevel : float
Это свойство хранит максимальный разрешённый уровень масштабирования камеры.
Если максимальный уровень установлен на новое значение, меньшее существующего минимального уровня, минимальный уровень также корректируется до нового максимального значения. Если текущее значение zoomLevel выходит за новые пределы, оно также корректируется. По умолчанию 500.0f.
Функции доступа:
| float | maxZoomLevel() const |
| void | setMaxZoomLevel(float zoomLevel) |
Сигнал уведомления:
| void | maxZoomLevelChanged(float zoomLevel) |
См. также zoomLevel и minZoomLevel.
minZoomLevel : float
Это свойство хранит минимальный разрешённый уровень масштабирования камеры.
Если минимальный уровень установлен на новое значение, большее существующего максимального уровня, максимальный уровень также корректируется до нового минимального значения. Если текущее значение zoomLevel выходит за новые пределы, оно также корректируется. Минимальное значение minZoomLevel не может быть установлено ниже 1.0f. По умолчанию 10.0f.
Функции доступа:
| float | minZoomLevel() const |
| void | setMinZoomLevel(float zoomLevel) |
Сигнал уведомления:
| void | minZoomLevelChanged(float zoomLevel) |
См. также zoomLevel и maxZoomLevel.
[since QtDataVisualization 1.2] target : QVector3D
Это свойство хранит целевую точку камеры как вектор или вершину в 3D пространстве.
По умолчанию QVector3D(0.0, 0.0, 0.0).
Допустимые значения координат находятся в пределах -1.0...1.0, где крайние значения обозначают края соответствующего диапазона осей. Любые значения за пределами этого диапазона обрезаются до края.
Примечание: Для столбчатых диаграмм координата Y игнорируется, и камера всегда нацелена на точку на горизонтальном фоне.
Это свойство было добавлено в QtDataVisualization 1.2.
Функции доступа:
| QVector3D | target() const |
| void | setTarget(const QVector3D &target) |
Сигнал уведомления:
| void | targetChanged(const QVector3D &target) |
wrapXRotation : bool
Это свойство задает поведение минимальных и максимальных пределов поворота вокруг оси X.
Если установлено true, поворот камеры по оси X циклически переходит от минимального к максимальному и обратно. Если установлено false, поворот камеры по оси X ограничен сектором, определяемым минимальным и максимальным значениями. По умолчанию true.
Функции доступа:
| bool | wrapXRotation() const |
| void | setWrapXRotation(bool isEnabled) |
Сигнал уведомления:
| void | wrapXRotationChanged(bool isEnabled) |
wrapYRotation : bool
Это свойство задает поведение минимальных и максимальных пределов поворота вокруг оси Y.
Если true, поворот камеры по оси Y циклически переходит от минимального к максимальному и обратно. Если false, поворот камеры по оси Y ограничен сектором, определяемым минимальным и максимальным значениями. По умолчанию true.
Функции доступа:
| bool | wrapYRotation() const |
| void | setWrapYRotation(bool isEnabled) |
Сигнал уведомления:
| void | wrapYRotationChanged(bool isEnabled) |
xRotation : float
Это свойство хранит угол поворота камеры вокруг целевой точки по оси X в градусах.
Функции доступа:
| float | xRotation() const |
| void | setXRotation(float rotation) |
Сигнал уведомления:
| void | xRotationChanged(float rotation) |
yRotation : float
Это свойство хранит угол поворота камеры вокруг целевой точки по оси Y в градусах.
Функции доступа:
| float | yRotation() const |
| void | setYRotation(float rotation) |
Сигнал уведомления:
| void | yRotationChanged(float rotation) |
zoomLevel : float
Это свойство хранит уровень масштабирования камеры в процентах.
Значение по умолчанию 100.0f означает, что масштабирование камеры не применено. Значение ограничено свойствами minZoomLevel и maxZoomLevel.
Функции доступа:
| float | zoomLevel() const |
| void | setZoomLevel(float zoomLevel) |
Сигнал уведомления:
| void | zoomLevelChanged(float zoomLevel) |
См. также minZoomLevel и maxZoomLevel.
Документация по функциям-членам
Q3DCamera::Q3DCamera(QObject *parent = nullptr)
Создаёт новую 3D камеру с положением по умолчанию в начале координат, направлением вверх по оси Y и направлением взгляда на начало координат. Дополнительный параметр parent может быть указан и будет передан конструктору QObject.
[virtual] Q3DCamera::~Q3DCamera()
Уничтожает объект камеры.
[override virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)
Реализация: Q3DObject::copyValuesFrom(const Q3DObject &source).
Копирует свойства 3D камеры из заданной камеры-источника. Значения копируются из source в текущий объект.
void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
Функция-утилита, устанавливающая повороты и расстояние камеры. horizontal и vertical определяют используемые повороты камеры. Необязательный параметр zoom может быть задан для установки процента приближения/отдаления камеры в пределах, определенных свойствами minZoomLevel и maxZoomLevel.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/q3dcamera.html