Класс Q3DScene
Q3DScene класс предоставляет описание 3D сцены, которая визуализируется. Подробнее...
| Заголовок: | #include <Q3DScene> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Scene3D |
| Наследует от: | QObject |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| Q3DScene(QObject *parent = Q_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 |
- 32 открытые функции унаследованы от QObject
Сигналы
| 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) |
- 2 сигнала унаследованы от QObject
Статические открытые члены
| QPoint | invalidSelectionPoint() |
- 11 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
Подробное описание
Q3DScene класс предоставляет описание 3D сцены, которая визуализируется.
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) |
viewport : const QRect
Это свойство содержит только для чтения прямоугольник текущего представления, на котором нацелена вся 3D-отрисовка.
Функции доступа:
| QRect | viewport() const |
Сигнал уведомления:
| void | viewportChanged(const QRect &viewport) |
Документация по членам-функциям
Q3DScene::Q3DScene(QObject *parent = Q_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-5.9/q3dscene.html