QBoundingVolume Class
class Qt3DCore::QBoundingVolumekann verwendet werden, um das Begrenzungsvolumen eines Objekts zu überschreiben. Mehr...
Kopfzeile: | #include <Qt3DCore/QBoundingVolume> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake: | QT += 3dcore |
Seit: | Qt 6.0 |
In QML: | BoundingVolume |
Vererbt: | Qt3DCore::QComponent |
Geerbt von: | |
Status: | Veraltet |
Eigenschaften
|
Öffentliche Funktionen
QBoundingVolume(Qt3DCore::QNode *parent = nullptr) | |
bool | areImplicitPointsValid() const |
QVector3D | implicitMaxPoint() const |
QVector3D | implicitMinPoint() const |
QVector3D | maxPoint() const |
QVector3D | minPoint() const |
Qt3DCore::QGeometryView * | view() const |
Öffentliche Slots
void | setMaxPoint(const QVector3D &maxPoint) |
void | setMinPoint(const QVector3D &minPoint) |
void | setView(Qt3DCore::QGeometryView *view) |
bool | updateImplicitBounds() |
Signale
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) |
Detaillierte Beschreibung
Das Begrenzungsvolumen eines Objekts wird für viele Operationen wie Picking oder View Frustum Culling verwendet. Normalerweise wird es durch Traversieren der gerenderten Geometrie berechnet.
QBoundingVolume kann verwendet werden, wenn die Ausdehnung der Geometrie der Anwendung bekannt ist, so dass Qt 3D sie nicht berechnen muss.
Ein Bounding-Volume kann entweder als minimale und maximale Ausdehnungskoordinaten oder als separate, in der Regel einfachere Geometrie, die sich dem gerenderten Netz annähert, angegeben werden.
Bei Verwendung der minimalen und maximalen Ausdehnung werden diese als die gegenüberliegenden Ecken eines achsenausgerichteten Begrenzungsrahmens im lokalen Koordinatensystem der Geometrie betrachtet.
QBoundingVolume kann auch verwendet werden, um das berechnete Begrenzungsvolumen eines GeometryView abzufragen. Die Eigenschaften implicitMinPoint und implicitMaxPoint werden aktualisiert, wenn sich die Geometrie ändert. Beachten Sie, dass dies asynchron in einem Hintergrund-Thread geschieht, so dass Sie den Wert von implicitPointsValid überprüfen sollten, bevor Sie sie lesen.
Sie können die Aktualisierung der impliziten Ausmaße erzwingen, indem Sie updateImplicitBounds aufrufen. Dies blockiert im aufrufenden Thread, bis die Ergebnisse verfügbar sind.
Hinweis: GeometryRenderer erbt BoundingVolume und unterstützt daher auch das Lesen impliziter Grenzen oder das Setzen expliziter Grenzen.
Dokumentation der Eigenschaft
[read-only]
implicitMaxPoint : const QVector3D
* * * Enthält die maximale Ausdehnung des aus der angegebenen Ansicht berechneten Begrenzungsvolumens.
Zugriffsfunktionen:
QVector3D | implicitMaxPoint() const |
Benachrichtigungssignal:
void | implicitMaxPointChanged(const QVector3D &implicitMaxPoint) |
[read-only]
implicitMinPoint : const QVector3D
* * * Enthält die minimale Ausdehnung des Bounding-Volumens, das aus der angegebenen Ansicht berechnet wird.
Zugriffsfunktionen:
QVector3D | implicitMinPoint() const |
Benachrichtigungssignal:
void | implicitMinPointChanged(const QVector3D &implicitMinPoint) |
[read-only]
implicitPointsValid : const bool
* * * Wahr, wenn eine Ansicht zugewiesen wurde und die impliziten Ausdehnungseigenschaften auf dem neuesten Stand sind. * *
Zugriffsfunktionen:
bool | areImplicitPointsValid() const |
Notifier-Signal:
void | implicitPointsValidChanged(bool implicitPointsValid) |
Siehe auch updateImplicitBounds.
maxPoint : QVector3D
* * * Benutzerdefinierte maximale Ausdehnung des Bounding-Volumens. Wenn dies (zusammen mit der minimalen * Ausdehnung) festgelegt ist, wird dies intern verwendet, um die Berechnung des Volumens aus der * Geometrie zu vermeiden.
Zugriffsfunktionen:
QVector3D | maxPoint() const |
void | setMaxPoint(const QVector3D &maxPoint) |
Melder-Signal:
void | maxPointChanged(QVector3D maxPoint) |
minPoint : QVector3D
* * * Benutzerdefinierte Mindestausdehnung des Begrenzungsvolumens. Wenn dies (zusammen mit der maximalen * Ausdehnung) festgelegt ist, wird dies intern verwendet, um die Berechnung des Volumens aus der * Geometrie zu vermeiden.
Zugriffsfunktionen:
QVector3D | minPoint() const |
void | setMinPoint(const QVector3D &minPoint) |
Melder-Signal:
void | minPointChanged(QVector3D minPoint) |
view : QGeometryView*
* * * Enthält einen Zeiger auf die Instanz von QGeometryView, die verwendet wird, wenn sie gesetzt ist, * um das begrenzende Volumen zu berechnen.
Zugriffsfunktionen:
Qt3DCore::QGeometryView * | view() const |
void | setView(Qt3DCore::QGeometryView *view) |
Notifier-Signal:
void | viewChanged(Qt3DCore::QGeometryView *view) |
Member Function Dokumentation
[explicit]
QBoundingVolume::QBoundingVolume(Qt3DCore::QNode *parent = nullptr)
Konstruiert ein neues QBoundingVolume mit parent.
[slot]
bool QBoundingVolume::updateImplicitBounds()
* Aktualisiert die impliziten Grenzen der angegebenen Ansicht. Gibt * true
zurück, wenn die Berechnung erfolgreich war, andernfalls false. * *
Hinweis: Die Berechnungen werden im Aufruf-Thread durchgeführt, dies * kann bei großen Meshes erhebliche Zeit in Anspruch nehmen.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.