Класс Q3DScene
Класс Q3DScene предоставляет описание 3D сцены, подлежащей визуализации. Подробнее...
| Заголовок: | #include <Q3DScene> |
| С тех пор: | QtDataVisualization 1.0 |
| Инициализируется: | Scene3D |
| Наследует: | QObject |
Свойства
|
|
Открытые функции
| Q3DScene(QObject *parent = nullptr) | |
| virtual | ~Q3DScene() |
| Q3DCamera * | activeCamera() const |
| Q3DLight * | activeLight() const |
| float | devicePixelRatio() const |
| QPoint | graphPositionQuery() const |
| bool | isPointInPrimarySubView(const QPoint &point) |
| bool | isPointInSecondarySubView(const QPoint &point) |
| bool | isSecondarySubviewOnTop() const |
| bool | isSlicingActive() const |
| QRect | primarySubViewport() const |
| QRect | secondarySubViewport() const |
| QPoint | selectionQueryPosition() const |
| void | setActiveCamera(Q3DCamera *camera) |
| void | setActiveLight(Q3DLight *light) |
| void | setDevicePixelRatio(float pixelRatio) |
| void | setGraphPositionQuery(const QPoint &point) |
| void | setPrimarySubViewport(const QRect &primarySubViewport) |
| void | setSecondarySubViewport(const QRect &secondarySubViewport) |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
| void | setSelectionQueryPosition(const QPoint &point) |
| void | setSlicingActive(bool isSlicing) |
| QRect | viewport() const |
Сигналы
| void | activeCameraChanged(Q3DCamera *camera) |
| void | activeLightChanged(Q3DLight *light) |
| void | devicePixelRatioChanged(float pixelRatio) |
| void | graphPositionQueryChanged(const QPoint &position) |
| void | primarySubViewportChanged(const QRect &subViewport) |
| void | secondarySubViewportChanged(const QRect &subViewport) |
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
| void | selectionQueryPositionChanged(const QPoint &position) |
| void | slicingActiveChanged(bool isSlicingActive) |
| void | viewportChanged(const QRect &viewport) |
Статические открытые члены
| QPoint | invalidSelectionPoint() |
Подробное описание
3D сцена содержит одну активную камеру и один активный источник света. Предполагается, что визуализируемые данные находятся в фиксированном месте.
3D сцена также отслеживает область просмотра, в которой выполняется визуализация, основную подобласть просмотра внутри области просмотра, где находится основной просмотр данных 3D, и второстепенную подобласть просмотра, где находится 2D срез данных. Подобласти просмотра по умолчанию изменяют размер с помощью Q3DScene. Для переопределения поведения изменения размера необходимо прослушивать сигналы viewportChanged() и slicingActiveChanged() и соответственно пересчитывать подобласти просмотра.
Также сцена имеет флаг для отслеживания, активна ли в настоящее время вторичная 2D область просмотра срезов.
Примечание: Не все визуализации поддерживают вторичную 2D область просмотра срезов.
Документация свойств
activeCamera : Q3DCamera*
Это свойство хранит текущую активную камеру в 3D-сцене.
При установке нового объекта Q3DCamera, он автоматически добавляется в качестве дочернего элемента сцены.
Функции доступа:
| Q3DCamera * | activeCamera() const |
| void | setActiveCamera(Q3DCamera *camera) |
Сигнал уведомления:
| void | activeCameraChanged(Q3DCamera *camera) |
activeLight : Q3DLight*
Это свойство хранит текущий активный свет в 3D-сцене.
При установке нового объекта Q3DLight, он автоматически добавляется в качестве дочернего элемента сцены.
Функции доступа:
| Q3DLight * | activeLight() const |
| void | setActiveLight(Q3DLight *light) |
Сигнал уведомления:
| void | activeLightChanged(Q3DLight *light) |
devicePixelRatio : float
Это свойство хранит коэффициент пикселей устройства, используемый при отображении входных координат в пиксельные координаты.
Функции доступа:
| float | devicePixelRatio() const |
| void | setDevicePixelRatio(float pixelRatio) |
Сигнал уведомления:
| void | devicePixelRatioChanged(float pixelRatio) |
graphPositionQuery : QPoint
Это свойство хранит координаты входных данных пользователя, которые должны обрабатываться сценой как запрос позиции графика.
Если это свойство установлено в значение, отличное от invalidSelectionPoint(), график пытается сопоставить позицию графика с заданными координатами внутри основного виджета. После прохождения рендеринга это свойство возвращается к своему исходному состоянию invalidSelectionPoint(). Запрошенную позицию графика можно прочитать из свойства QAbstract3DGraph::queriedGraphPosition после следующего прохода рендеринга.
Нет единственной правильной 3D координаты для соответствия определённой позиции на экране. Поэтому для согласованности запросы всегда выполняются относительно внутренних границ невидимой рамки, окружающей график.
Примечание: Диаграмму столбцами допускаются запросы позиций графика только на уровне уровня графика.
Функции доступа:
| QPoint | graphPositionQuery() const |
| void | setGraphPositionQuery(const QPoint &point) |
Сигнал уведомления:
| void | graphPositionQueryChanged(const QPoint &position) |
См. также QAbstract3DGraph::queriedGraphPosition.
primarySubViewport : QRect
Это свойство хранит прямоугольник текущего подвиджета внутри виджета, на который нацелена основная область просмотра данных визуализации.
Если isSlicingActive() является false, первичный подвиджет равен viewport(). Если isSlicingActive() является true и первичный подвиджет не был явно задан, он будет составлять одну пятую часть от viewport().
Примечание: Установка первичного подвиджета, большего или выходящего за пределы виджета, приводит к соответствующему изменению размеров виджета.
Функции доступа:
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(const QRect &primarySubViewport) |
Сигнал уведомления:
| void | primarySubViewportChanged(const QRect &subViewport) |
secondarySubViewport : QRect
Это свойство хранит прямоугольник вторичного виджета внутри виджета.
Вторичный виджет используется для отрисовки 2D вида среза в некоторых визуализациях. Если он не задан явно, он будет равен QRect. Если isSlicingActive() является true, он будет равен viewport.
Примечание: Если вторичный подвиджет больше или выходит за пределы виджета, виджет масштабируется соответственно.
Функции доступа:
| QRect | secondarySubViewport() const |
| void | setSecondarySubViewport(const QRect &secondarySubViewport) |
Сигнал уведомления:
| void | secondarySubViewportChanged(const QRect &subViewport) |
secondarySubviewOnTop : bool
Это свойство хранит информацию о том, какой вид (2D срез или 3D) отображается поверх другого.
Функции доступа:
| bool | isSecondarySubviewOnTop() const |
| void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
Сигнал уведомления:
| void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
selectionQueryPosition : QPoint
Это свойство хранит координаты входных данных пользователя, которые должны обрабатываться сценой как запрос выбора.
Если это свойство установлено в значение, отличное от invalidSelectionPoint(), график пытается выбрать элемент данных, метку оси или пользовательский элемент по заданным координатам внутри основного виджета. После прохождения рендеринга свойство возвращается к своему исходному состоянию invalidSelectionPoint().
Функции доступа:
| QPoint | selectionQueryPosition() const |
| void | setSelectionQueryPosition(const QPoint &point) |
Сигнал уведомления:
| void | selectionQueryPositionChanged(const QPoint &position) |
См. также QAbstract3DGraph::selectedElement.
slicingActive : bool
Это свойство хранит информацию о том, активен ли 2D вид среза.
Если true, QAbstract3DGraph::selectionMode должен иметь либо QAbstract3DGraph::SelectionRow, либо QAbstract3DGraph::SelectionColumn, установленные для корректного выбора.
Примечание: Не все визуализации поддерживают 2D вид среза.
Функции доступа:
| bool | isSlicingActive() const |
| void | setSlicingActive(bool isSlicing) |
Сигнал уведомления:
| void | slicingActiveChanged(bool isSlicingActive) |
[read-only] viewport : const QRect
Это свойство хранит только для чтения прямоугольник области просмотра, на которую нацелена вся 3D отрисовка.
Функции доступа:
| QRect | viewport() const |
Сигнал уведомления:
| void | viewportChanged(const QRect &viewport) |
Документация по членам-функциям
Q3DScene::Q3DScene(QObject *parent = nullptr)
Создаёт базовую сцену с одним источником света и одной камерой. Дополнительный параметр parent может быть передан и затем будет передан конструктору QObject.
[virtual] Q3DScene::~Q3DScene()
Удаляет 3D-сцену и все объекты, содержащиеся в ней.
[static] QPoint Q3DScene::invalidSelectionPoint()
Возвращает QPoint, обозначающую недопустимую позицию выделения.
bool Q3DScene::isPointInPrimarySubView(const QPoint &point)
Возвращает значение, указывающее, находится ли заданная точка point внутри основного подпредставления. Возвращает true , если точка находится внутри основного подпредставления.
Примечание: Если подпредставления перекрываются, а заданная point находится внутри обоих, результат true только когда основное подпредставление расположено поверх остальных.
bool Q3DScene::isPointInSecondarySubView(const QPoint &point)
Возвращает значение, указывающее, находится ли заданная точка point внутри вторичного подпредставления. Возвращает true , если точка находится внутри вторичного подпредставления.
Примечание: Если подпредставления перекрываются, а заданная point находится внутри обоих, результат true только когда вторичное подпредставление расположено поверх остальных.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/q3dscene.html