Класс 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
Это свойство содержит целевую точку камеры как вектор или вершину в трёхмерном пространстве.
Значение по умолчанию 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.2/q3dcamera.html