Класс Q3DCamera
Представление камеры в 3D-пространстве. Подробнее...
| Заголовок: | #include <Q3DCamera> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Camera3D |
| Наследует: | Q3DObject |
Общедоступные типы
| перечисление | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, ..., 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) |
Сигналы
| 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) |
Дополнительные унаследованные члены
- 1 public slot inherited from QObject
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 2 protected functions inherited from Q3DObject
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Подробное описание
Представление камеры в 3D пространстве.
Q3DCamera представляет собой базовый тип орбитальной камеры, используемый при визуализации данных. Класс предлагает простые методы вращения камеры вокруг начала координат и задания уровня масштабирования.
Документация по типам членов
enum 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
Это свойство содержит целевую точку камеры в 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()
Удаляет объект камеры.
[virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)
Переопределяет метод Q3DObject::copyValuesFrom().
Копирует свойства 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/archives/qt-5.11/q3dcamera.html