Класс 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 представляет собой базовая камера с орбитальным вращением вокруг центральной точки, используемая при визуализации данных. Класс предлагает простые методы для вращения камеры вокруг начала координат и установки уровня масштабирования.
Документация по типам членов
перечисление 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.
target : QVector3D
Это свойство содержит целевую точку камеры как вектор или вершину в трёхмерном пространстве.
Значение по умолчанию 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.15/q3dcamera.html