Spec-Zone.ru › Qt 5.15

Класс Q3DScene

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

Заголовок: #include <Q3DScene>
С момента: QtDataVisualization 1.0
Инициализируется: Scene3D
Наследует: QObject

Этот класс был представлен в QtDataVisualization 1.0.

  • Список всех членов, включая наследуемые члены

Свойства

  • 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().

Примечание: Установка primarySubViewport большего размера или за пределами видового окна приводит к соответствующему изменению размера видового окна.

Функции доступа:

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 = 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.15/q3dscene.html

Spec-Zone.ru

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