QBoundingVolume Class

class Qt3DCore::QBoundingVolume

kann 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:

Qt3DRender::QGeometryRenderer und Qt3DRender::QPickingProxy

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.