Класс Q3DCamera
Представление камеры в 3D пространстве. Подробнее...
| Заголовок: | #include <Q3DCamera> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Camera3D |
| Наследует: | Q3DObject |
Этот класс был представлен в QtDataVisualization 1.0.
Общедоступные типы
| перечисление | 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
Предопределённые позиции камеры.
END_OF_DOCUMENT_MARKER| Постоянная | Значение | Описание |
|---|---|---|
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.
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-5.14/q3dcamera.html