Auf dieser Seite

Qt3DCore::QBoundingVolume Class

class Qt3DCore::QBoundingVolume

kann verwendet werden, um das Begrenzungsvolumen eines Objekts zu überschreiben. Mehr...

Überschrift: #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
Erbt von: Qt3DCore::QComponent
Vererbt an:

Qt3DRender::QGeometryRenderer und Qt3DRender::QPickingProxy

Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

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)

Ausführliche Beschreibung

Das Begrenzungsvolumen einer Entität wird für viele Operationen verwendet, beispielsweise für die Auswahl (Picking) oder die Ausschnittfilterung (View Frustum Culling). Es wird normalerweise durch Durchlaufen der gerenderten Geometrie berechnet.

QBoundingVolume kann verwendet werden, wenn der Umfang der Geometrie der Anwendung bekannt ist, sodass „ Qt 3D “ diesen nicht berechnen muss.

Ein Begrenzungsvolumen kann entweder als Koordinaten der minimalen und maximalen Ausdehnung oder als separate, in der Regel einfachere Geometrie bereitgestellt werden, die das gerenderte Mesh approximiert.

Bei Verwendung von Minimal- und Maximalausdehnungen werden diese als die gegenüberliegenden Ecken eines achsenausgerichteten Begrenzungsrahmens im lokalen Koordinatensystem der Geometrie betrachtet.

Mit „QBoundingVolume“ kann auch das berechnete Begrenzungsvolumen eines „ GeometryView “ abgefragt werden. Die Eigenschaften „ implicitMinPoint “ und „ implicitMaxPoint “ werden aktualisiert, wenn sich die Geometrie ändert. Beachten Sie, dass dies asynchron in einem Hintergrundthread erfolgt; daher sollten Sie den Wert von „ implicitPointsValid “ überprüfen, bevor Sie diese Eigenschaften auslesen.

Sie können die Aktualisierung der impliziten Ausdehnungen erzwingen, indem Sie ` updateImplicitBounds` aufrufen. Dies blockiert den aufrufenden Thread, bis die Ergebnisse verfügbar sind.

Hinweis: ` GeometryRenderer ` erbt von ` BoundingVolume ` und unterstützt daher sowohl das Auslesen impliziter Begrenzungen als auch das Festlegen expliziter Begrenzungen.

Dokumentation zu den Eigenschaften

[read-only] implicitMaxPoint : 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 : QVector3D

* * * Enthält die minimale Ausdehnung des aus der angegebenen Ansicht berechneten Begrenzungsvolumens.

Zugriffsfunktionen:

QVector3D implicitMinPoint() const

Benachrichtigungssignal:

void implicitMinPointChanged(const QVector3D &implicitMinPoint)

[read-only] implicitPointsValid : bool

* * * True, 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

* * * Vom Benutzer festgelegte maximale Ausdehnung des Begrenzungsvolumens. Wenn dieser Wert (zusammen mit der minimalen * Ausdehnung) festgelegt wird, wird er intern verwendet, um die Berechnung des Volumens anhand der * Geometrie zu vermeiden.

Zugriffsfunktionen:

QVector3D maxPoint() const
void setMaxPoint(const QVector3D &maxPoint)

Benachrichtigungssignal:

void maxPointChanged(QVector3D maxPoint)

minPoint : QVector3D

* * * Vom Benutzer festgelegte Mindestausdehnung des Begrenzungsvolumens. Wenn dieser Wert (zusammen mit der maximalen * Ausdehnung) festgelegt wird, wird er intern verwendet, um die Berechnung des Volumens aus der * Geometrie zu vermeiden.

Zugriffsfunktionen:

QVector3D minPoint() const
void setMinPoint(const QVector3D &minPoint)

Benachrichtigungssignal:

void minPointChanged(QVector3D minPoint)

view : QGeometryView*

* * * Enthält einen Zeiger auf die Instanz von QGeometryView, die – sofern festgelegt – * zur Berechnung des Begrenzungsvolumens verwendet wird.

Zugriffsfunktionen:

Qt3DCore::QGeometryView *view() const
void setView(Qt3DCore::QGeometryView *view)

Notifier-Signal:

void viewChanged(Qt3DCore::QGeometryView *view)

Dokumentation der Mitgliedsfunktionen

[explicit] QBoundingVolume::QBoundingVolume(Qt3DCore::QNode *parent = nullptr)

Erstellt 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 Netzwerken erheblich Zeit in Anspruch nehmen.

© 2026 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.