Класс 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
* * * Истинно, если представлению был назначен вид, и свойства неявного объема актуальны. * *
Функции доступа:
| 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.2/qt3dcore-qboundingvolume.html