Класс Q3DCamera
Представление камеры в 3D пространстве. Подробнее...
| Заголовок: | #include <Q3DCamera> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Camera3D |
| Наследует: | Q3DObject |
Типы Public
| перечисление | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, ..., CameraPresetDirectlyBelow } |
Свойства
|
|
Открытые функции
| Q3DCamera(QObject *parent = Q_NULLPTR) | |
| virtual | ~Q3DCamera() |
| CameraPreset | cameraPreset() const |
| float | maxZoomLevel() const |
| float | minZoomLevel() const |
| void | setCameraPosition(float horizontal, float vertical, float zoom = 100.0f) |
| void | setCameraPreset(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 открытый слот, унаследованный от QObject
- 11 статические открытые члены, унаследованные от QObject
- 2 защищенные функции, унаследованные от Q3DObject
- 9 защищенных функций, унаследованных от QObject
Подробное описание
Представление камеры в 3D пространстве.
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.
Функции доступа:
| CameraPreset | cameraPreset() const |
| void | setCameraPreset(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 выходит за пределы новых границ, оно также корректируется. Минимальный уровень масштабирования не может быть установлен ниже 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 = Q_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/qt-5.9/q3dcamera.html