Класс Q3DScene
Q3DScene класс предоставляет описание 3D сцены, подлежащей визуализации. Подробнее...
| Заголовок: | #include <Q3DScene> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Scene3D |
| Наследует: | QObject |
Свойства
|
|
- 1 свойство унаследовано от 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 |
- 34 открытых функции унаследованы от 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() |
- 10 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 1 открытая переменная унаследована от QObject
- 9 защищенные функции унаследованы от QObject
- 2 защищенные переменные унаследованы от 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().
Примечание: Установка primarySubViewport, превышающего или выходящего за пределы viewport, приводит к соответствующему изменению размеров viewport.
Функции доступа:
| QRect | primarySubViewport() const |
| void | setPrimarySubViewport(const QRect &primarySubViewport) |
Сигнал уведомления:
| void | primarySubViewportChanged(const QRect &subViewport) |
secondarySubViewport : QRect
Это свойство содержит прямоугольник вторичного окна просмотра внутри окна просмотра.
Вторичное окно просмотра используется для отрисовки 2D-срезов в некоторых визуализациях. Если оно не было явно установлено, оно будет равно QRect. Если isSlicingActive() true, оно будет равно viewport.
Примечание: Если вторичное подокно просмотра больше или выходит за пределы viewport, 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 = 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/archives/qt-5.11/q3dscene.html