Sur cette page

Qt3DCore::QBoundingVolume Class

class Qt3DCore::QBoundingVolume

peut être utilisé pour remplacer le volume englobant d'une entité. En savoir plus...

En-tête : #include <Qt3DCore/QBoundingVolume>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake : QT += 3dcore
Depuis : Qt 6.0
En QML : BoundingVolume
Hérite de : Qt3DCore::QComponent
Hérité par :

Qt3DRender::QGeometryRenderer et Qt3DRender::QPickingProxy

Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Propriétés

Fonctions publiques

QBoundingVolume(Qt3DCore::QNode *parent = nullptr)
bool areImplicitPointsValid() const
QVector3D implicitMaxPoint() const
QVector3D implicitMinPoint() const
QVector3D maxPoint() const
QVector3D minPoint() const
Qt3DCore::QGeometryView *view() const

Emplacements publics

void setMaxPoint(const QVector3D &maxPoint)
void setMinPoint(const QVector3D &minPoint)
void setView(Qt3DCore::QGeometryView *view)
bool updateImplicitBounds()

Signaux

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)

Description détaillée

Le volume englobant d'une entité est utilisé pour de nombreuses opérations, telles que la sélection ou le culling du cône de vision. Il est normalement calculé en parcourant la géométrie rendue.

QBoundingVolume peut être utilisé lorsque l'application connaît l'étendue de la géométrie, ce qui évite à l'Qt 3D e de devoir la calculer.

Un volume englobant peut être fourni soit sous forme de coordonnées d'étendue minimale et maximale, soit sous la forme d'une géométrie distincte, généralement plus simple, qui se rapproche du maillage rendu.

Lorsque l’on utilise des étendues minimale et maximale, celles-ci sont considérées comme les coins opposés d’un parallélépipède rectangulaire aligné sur les axes, dans le système de coordonnées local de la géométrie.

QBoundingVolume peut également être utilisé pour interroger le volume englobant calculé d’un ` GeometryView`. Les propriétés ` implicitMinPoint ` et ` implicitMaxPoint ` seront mises à jour si la géométrie change. Notez que cette opération s’effectue de manière asynchrone sur un thread d’arrière-plan ; vous devez donc vérifier la valeur de ` implicitPointsValid ` avant de les lire.

Vous pouvez forcer la mise à jour des limites implicites en appelant updateImplicitBounds. Cela bloquera le thread appelant jusqu’à ce que les résultats soient disponibles.

Remarque : la méthode ` GeometryRenderer ` hérite de ` BoundingVolume ` et prend donc en charge la lecture des limites implicites ainsi que la définition de limites explicites.

Documentation des propriétés

[read-only] implicitMaxPoint : QVector3D

* * * Contient l'étendue maximale du volume englobant calculée à partir de la vue spécifiée.

Fonctions d'accès :

QVector3D implicitMaxPoint() const

Signal de notification :

void implicitMaxPointChanged(const QVector3D &implicitMaxPoint)

[read-only] implicitMinPoint : QVector3D

* * * Contient l'étendue minimale du volume englobant calculée à partir de la vue spécifiée.

Fonctions d'accès :

QVector3D implicitMinPoint() const

Signal de notification :

void implicitMinPointChanged(const QVector3D &implicitMinPoint)

[read-only] implicitPointsValid : bool

* * * Vrai si une vue a été attribuée et si les propriétés d'étendue implicites sont à jour. * *

Fonctions d'accès :

bool areImplicitPointsValid() const

Signal de notification :

void implicitPointsValidChanged(bool implicitPointsValid)

Voir également updateImplicitBounds.

maxPoint : QVector3D

* * * Étendue maximale du volume englobant spécifiée par l'utilisateur. Lorsqu'elle est définie (en même temps que l'*étendue minimale), cette valeur sera utilisée en interne pour éviter de calculer le volume à partir de la *géométrie.

Fonctions d'accès :

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

Signal de notification :

void maxPointChanged(QVector3D maxPoint)

minPoint : QVector3D

* * * Étendue minimale du volume englobant spécifiée par l'utilisateur. Lorsqu'elle est définie (en même temps que l'étendue maximale), cette valeur sera utilisée en interne pour éviter de calculer le volume à partir de la géométrie.

Fonctions d'accès :

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

Signal de notification :

void minPointChanged(QVector3D minPoint)

view : QGeometryView*

* * * Contient un pointeur vers l'instance de QGeometryView qui sera utilisée, si elle est définie, * pour calculer le volume englobant.

Fonctions d'accès :

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

Signal de notification :

void viewChanged(Qt3DCore::QGeometryView *view)

Documentation des fonctions membres

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

Crée un nouvel objet QBoundingVolume à l'aide de ` parent`.

[slot] bool QBoundingVolume::updateImplicitBounds()

* Met à jour les limites implicites de la vue spécifiée. Renvoie * true si le calcul a abouti et false dans le cas contraire. * *

Remarque : les calculs sont effectués dans le thread d’appel, ce qui * peut prendre un temps considérable pour les maillages volumineux.

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