Spec-Zone.ru › Qt 6.1

Класс Q3DScene

Класс Q3DScene предоставляет описание 3D сцены, подлежащей визуализации. Подробнее...

Заголовок: #include <Q3DScene>
С тех пор: QtDataVisualization 1.0
Инициализируется: Scene3D
Наследует: QObject
  • Список всех членов, включая унаследованные

Свойства

  • activeCamera : Q3DCamera*
  • activeLight : Q3DLight*
  • devicePixelRatio : float
  • graphPositionQuery : QPoint
  • primarySubViewport : QRect
  • secondarySubViewport : QRect
  • secondarySubviewOnTop : bool
  • selectionQueryPosition : QPoint
  • slicingActive : bool
  • viewport : const QRect

Открытые функции

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API