Sur cette page

Qt3DCore::QBoundingVolume Class

class Qt3DCore::QBoundingVolume

peut être utilisée pour modifier le volume de délimitation d'une entité. 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
Dans QML : BoundingVolume
Hérite : Qt3DCore::QComponent
Hérité par :

Qt3DRender::QGeometryRenderer et Qt3DRender::QPickingProxy

Statut : Déclassé

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 de délimitation d'une entité est utilisé pour de nombreuses opérations telles que la sélection ou l'abattage du frustum de la vue. Il est normalement calculé en parcourant la géométrie rendue.

QBoundingVolume peut être utilisé lorsque l'étendue de la géométrie est connue de l'application, de sorte que Qt 3D n'ait pas à la calculer.

Un volume de délimitation peut être fourni soit sous la 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.

Lors de l'utilisation des étendues minimale et maximale, celles-ci sont considérées comme les coins opposés d'une boîte de délimitation alignée sur l'axe, dans le système de coordonnées local de la géométrie.

QBoundingVolume peut également être utilisé pour demander le volume de délimitation calculé d'un GeometryView. Les propriétés implicitMinPoint et implicitMaxPoint seront mises à jour en cas de modification de la géométrie. Notez que cette opération est effectuée de manière asynchrone sur un fil d'exécution en arrière-plan ; vous devez donc vérifier la valeur de implicitPointsValid avant de les lire.

Vous pouvez forcer la mise à jour des extensions implicites en appelant updateImplicitBounds. Cette opération bloquera le fil d'exécution de l'appelant jusqu'à ce que les résultats soient disponibles.

Remarque : GeometryRenderer hérite de BoundingVolume et prend donc également en charge la lecture des limites implicites ou la définition des limites explicites.

Documentation sur les propriétés

[read-only] implicitMaxPoint : QVector3D

* * * Détient l'étendue maximale du volume de délimitation calculé à 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

* * * Détient l'étendue minimale du volume de délimitation calculé à 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 que les propriétés implicites de l'étendue sont à jour. * *

Fonctions d'accès :

bool areImplicitPointsValid() const

Signal Notifier :

void implicitPointsValidChanged(bool implicitPointsValid)

Voir aussi updateImplicitBounds.

maxPoint : QVector3D

* * * L'étendue maximale du volume délimité est spécifiée par l'utilisateur. Lorsqu'elle est définie (en même temps que l'étendue * minimale), elle 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

* * * L'étendue minimale du volume délimité est spécifiée par l'utilisateur. Lorsqu'elle est définie (en même temps que l'étendue maximale), elle 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*

* * * Possède un pointeur sur l'instance de QGeometryView qui sera utilisée, si elle est définie, * pour calculer le volume de délimitation.

Fonctions d'accès :

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

Signal du notificateur :

void viewChanged(Qt3DCore::QGeometryView *view)

Fonction membre Documentation

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

Construit un nouveau QBoundingVolume avec parent.

[slot] bool QBoundingVolume::updateImplicitBounds()

* Met à jour les limites implicites de la vue spécifiée. Retourne * true si le calcul a réussi et false sinon. * *

Note : Les calculs sont effectués dans le thread d'appel, ce qui * peut prendre beaucoup de temps pour les grands maillages.

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