Класс QBoundingVolume
класс Qt3DCore::QBoundingVolumeможет быть использован для переопределения области соприкосновения сущности. Подробнее...
| Заголовок: | #include <Qt3DCore/QBoundingVolume> |
| CMake: | find_package(Qt6 COMPONENTS 3dcore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dcore) |
| qmake: | QT += 3dcore |
| С тех пор: | Qt 6.0 |
| Инициализируется: | BoundingVolume |
| Наследует: | Qt3DCore::QComponent |
| Наследуется: |
Свойства
|
Открытые функции
| QBoundingVolume(Qt3DCore::QNode *parent = nullptr) | |
| bool | areImplicitPointsValid() const |
| QVector3D | implicitMaxPoint() const |
| QVector3D | implicitMinPoint() const |
| QVector3D | maxPoint() const |
| QVector3D | minPoint() const |
| Qt3DCore::QGeometryView * | view() const |
Открытые слоты
| void | setMaxPoint(const QVector3D &maxPoint) |
| void | setMinPoint(const QVector3D &minPoint) |
| void | setView(Qt3DCore::QGeometryView *view) |
| bool | updateImplicitBounds() |
Сигналы
| void | implicitMaxPointChanged(const QVector3D &implicitMaxPoint) |
| void | implicitMinPointChanged(const QVector3D &implicitMinPoint) |
| void | implicitPointsValidChanged(bool implicitPointsValid) |
| void | maxPointChanged(QVector3D maxPoint) |
| void | minPointChanged(QVector3D minPoint) |
| void | viewChanged(Qt3DCore::QGeometryView *view) |
Подробное описание
Область соприкосновения сущности используется для многих операций, таких как выбор или обрезка по конусу обзора. Обычно она вычисляется путем обхода рендеруемой геометрии.
QBoundingVolume может быть использован, когда приложение знает границы геометрии, чтобы Qt 3D не приходилось её вычислять.
Область соприкосновения может быть предоставлена как минимальные и максимальные координаты или отдельная, обычно более простая, геометрия, приближающая рендеруемую сетку.
При использовании минимальных и максимальных пределов, они рассматриваются как противоположные углы прямоугольного параллелепипеда, в локальной системе координат геометрии.
QBoundingVolume также может использоваться для запроса вычисленной области соприкосновения GeometryView. Свойства implicitMinPoint и implicitMaxPoint будут обновлены, если геометрия изменится. Обратите внимание, что это делается асинхронно в фоновом потоке, поэтому перед чтением их необходимо проверить значение implicitPointsValid.
Вы можете принудительно обновить неявные пределы, вызвав updateImplicitBounds. Это заблокирует поток вызова, пока результаты не станут доступны.
Примечание: GeometryRenderer наследует BoundingVolume и поэтому также поддерживает чтение неявных границ или установку явных границ.
Документация свойств
[read-only] implicitMaxPoint : const QVector3D
* * * Содержит максимальное значение ограничивающей области, вычисленной из указанного вида.
Функции доступа:
| QVector3D | implicitMaxPoint() const |
Сигнал уведомления:
| void | implicitMaxPointChanged(const QVector3D &implicitMaxPoint) |
[read-only] implicitMinPoint : const QVector3D
* * * Содержит минимальное значение ограничивающей области, вычисленной из указанного вида.
Функции доступа:
| QVector3D | implicitMinPoint() const |
Сигнал уведомления:
| void | implicitMinPointChanged(const QVector3D &implicitMinPoint) |
[read-only] implicitPointsValid : const bool
* * * True, если задан вид, и свойства неявного размера актуальны. * *
Функции доступа:
| bool | areImplicitPointsValid() const |
Сигнал уведомления:
| void | implicitPointsValidChanged(bool implicitPointsValid) |
См. также updateImplicitBounds.
maxPoint : QVector3D
* * * Пользовательское максимальное значение ограничивающей области. При установке (вместе с минимальным * значением) оно будет использоваться для предотвращения вычисления объема по * геометрии.
Функции доступа:
| QVector3D | maxPoint() const |
| void | setMaxPoint(const QVector3D &maxPoint) |
Сигнал уведомления:
| void | maxPointChanged(QVector3D maxPoint) |
minPoint : QVector3D
* * * Пользовательское минимальное значение ограничивающей области. При установке (вместе с максимальным * значением) оно будет использоваться для предотвращения вычисления объема по * геометрии.
Функции доступа:
| QVector3D | minPoint() const |
| void | setMinPoint(const QVector3D &minPoint) |
Сигнал уведомления:
| void | minPointChanged(QVector3D minPoint) |
view : QGeometryView*
* * * Содержит указатель на экземпляр QGeometryView, который будет использоваться, если установлен, * для вычисления ограничивающей области.
Функции доступа:
| Qt3DCore::QGeometryView * | view() const |
| void | setView(Qt3DCore::QGeometryView *view) |
Сигнал уведомления:
| void | viewChanged(Qt3DCore::QGeometryView *view) |
Документация функций-членов
QBoundingVolume::QBoundingVolume(Qt3DCore::QNode *parent = nullptr)
Создает новый QBoundingVolume с parent.
[slot] bool QBoundingVolume::updateImplicitBounds()
* Обновляет неявные границы указанного вида. Возвращает * true если вычисление прошло успешно, и false в противном случае. * *
Примечание: Вычисления выполняются в потоке вызовов, это * может занять значительное время для больших мешей.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt3dcore-qboundingvolume.html