Класс 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 если вычисление прошло успешно, и ложь в противном случае. * *
Примечание: Вычисления выполняются в потоке вызова, это может занять значительное время для больших мешей.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3dcore-qboundingvolume.html