Sur cette page

Qt3DRender::QPickingSettings Class

class Qt3DRender::QPickingSettings

La classe QPickingSettings définit la manière dont la sélection des entités est gérée. En savoir plus...

En-tête : #include <qpickingsettings.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : PickingSettings
Hérite de : Qt3DCore::QNode
Statut : Obsolète

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

Types publics

enum FaceOrientationPickingMode { FrontFace, BackFace, FrontAndBackFace }
enum PickMethod { BoundingVolumePicking, TrianglePicking, LinePicking, PointPicking, PrimitivePicking }
enum PickResultMode { NearestPick, AllPicks, NearestPriorityPick }

Propriétés

Fonctions publiques

Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode() const
Qt3DRender::QPickingSettings::PickMethod pickMethod() const
Qt3DRender::QPickingSettings::PickResultMode pickResultMode() const
float worldSpaceTolerance() const

Emplacements publics

void setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)
void setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod)
void setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode)
void setWorldSpaceTolerance(float worldSpaceTolerance)

Signaux

void faceOrientationPickingModeChanged(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)
void pickMethodChanged(Qt3DRender::QPickingSettings::PickMethod pickMethod)
void pickResultModeChanged(Qt3DRender::QPickingSettings::PickResultMode pickResult)
void worldSpaceToleranceChanged(float worldSpaceTolerance)

Description détaillée

Les paramètres de sélection déterminent la manière dont la sélection des entités est gérée. Pour plus de détails sur la sélection des entités, consultez la documentation relative aux composants QObjectPicker et QRayCaster.

Lors de l’utilisation des composants QObjectPicker, la sélection est déclenchée par des événements de souris.

Lorsque vous utilisez les composants QRayCaster ou QScreenRayCaster, la sélection peut être déclenchée explicitement par l'application.

Dans les deux cas, un rayon est projeté à travers la scène afin de détecter les géométries qui le coupent.

Voir également QObjectPicker, QPickEvent, QPickTriangleEvent, QRayCaster et QScreenRayCaster.

Documentation sur les types de membres

enum QPickingSettings::FaceOrientationPickingMode

Définit l'influence de l'orientation des faces sur la sélection des triangles

ConstanteValeurDescription
Qt3DRender::QPickingSettings::FrontFace0x01Seuls les triangles orientés vers l'avant seront sélectionnés (par défaut).
Qt3DRender::QPickingSettings::BackFace0x02Seuls les triangles orientés vers l'arrière seront sélectionnés.
Qt3DRender::QPickingSettings::FrontAndBackFace0x03Les triangles orientés vers l'avant et vers l'arrière seront sélectionnés.

enum QPickingSettings::PickMethod

Spécifie la méthode de préparation des commandes.

ConstanteValeurDescription
Qt3DRender::QPickingSettings::BoundingVolumePicking0x00Une entité est considérée comme sélectionnée si le rayon de sélection coupe le volume englobant de l’entité (par défaut).
Qt3DRender::QPickingSettings::TrianglePicking0x01Une entité est considérée comme sélectionnée si le rayon de sélection coupe un triangle quelconque du composant maillage de l’entité.
Qt3DRender::QPickingSettings::LinePicking0x02Une entité est considérée comme sélectionnée si le rayon de sélection coupe n'importe quelle arête de la composante maillée de l'entité.
Qt3DRender::QPickingSettings::PointPicking0x04Une entité est considérée comme sélectionnée si le rayon de sélection coupe un point quelconque de la composante maillage de l’entité.
Qt3DRender::QPickingSettings::PrimitivePickingTrianglePicking | LinePicking | PointPickingUne entité est considérée comme sélectionnée si le rayon de sélection coupe un point, une arête ou un triangle quelconque de la composante maillage de l'entité.

enum QPickingSettings::PickResultMode

Définit les éléments inclus dans les résultats de préparation des commandes.

ConstanteValeurDescription
Qt3DRender::QPickingSettings::NearestPick0Seule l'entité la plus proche de l'origine du rayon de sélection et coupée par celui-ci est sélectionnée (par défaut).
Qt3DRender::QPickingSettings::AllPicks1Toutes les entités coupées par le rayon de sélection sont sélectionnées.
Qt3DRender::QPickingSettings::NearestPriorityPick2Sélectionne l'entité dont le sélecteur d'objet a la valeur la plus élevée. Si plusieurs sélecteurs d'objet ont la même priorité, celui qui est le plus proche sur le rayon est sélectionné.

Voir aussi Qt3DRender::QPickEvent.

Documentation des propriétés

faceOrientationPickingMode : FaceOrientationPickingMode

Définit l'influence de l'orientation des faces sur la sélection des triangles

Fonctions d'accès :

Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode() const
void setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)

Signal de notification :

void faceOrientationPickingModeChanged(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)

pickMethod : PickMethod

Contient la méthode de sélection actuelle.

Par défaut, pour des raisons de performances, le ray casting utilise la sélection par volume englobant. Cela peut toutefois conduire à des résultats inattendus si un petit objet est englobé dans la sphère englobante d’un grand objet situé derrière lui.

La sélection par triangle produira des résultats exacts, mais est plus gourmande en ressources de calcul.

Fonctions d'accès :

Qt3DRender::QPickingSettings::PickMethod pickMethod() const
void setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod)

Signal de notification :

void pickMethodChanged(Qt3DRender::QPickingSettings::PickMethod pickMethod)

pickResultMode : PickResultMode

Conserve le mode actuel des résultats de sélection.

Par défaut, les résultats de sélection ne sont générés que pour l’entité la plus proche de la caméra.

Lorsque la méthode de sélection est définie sur « AllPicks », des événements sont déclenchés pour toutes les entités dotées d’un QObjectPicker situées le long du rayon.

Lorsque la méthode de sélection est définie sur « NearestPriorityPick », des événements seront déclenchés pour le sélecteur le plus proche ayant la priorité la plus élevée. Cela peut être utilisé lorsqu’un élément donné doit toujours être sélectionné, même si d’autres se trouvent devant lui.

Si un QObjectPicker est attribué à une entité comportant plusieurs enfants, un événement sera déclenché pour chaque entité enfant qui croise le rayon.

Fonctions d'accès :

Qt3DRender::QPickingSettings::PickResultMode pickResultMode() const
void setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode)

Signal de notification :

void pickResultModeChanged(Qt3DRender::QPickingSettings::PickResultMode pickResult)

worldSpaceTolerance : float

Contient le seuil, exprimé en coordonnées de l'espace du modèle, utilisé pour évaluer la sélection de lignes et de points.

Fonctions d'accès :

float worldSpaceTolerance() const
void setWorldSpaceTolerance(float worldSpaceTolerance)

Signal de notification :

void worldSpaceToleranceChanged(float worldSpaceTolerance)

Documentation des fonctions membres

[slot] void QPickingSettings::setWorldSpaceTolerance(float worldSpaceTolerance)

Définit le seuil utilisé pour la sélection des lignes et des points sur worldSpaceTolerance.

Remarque : fonctionde définition de la propriété worldSpaceTolerance.

Voir également ` worldSpaceTolerance()`.

float QPickingSettings::worldSpaceTolerance() const

Renvoie la précision des lignes et des points (worldSpaceTolerance)

Remarque : fonctiongetter pour la propriété worldSpaceTolerance.

Voir aussi ` setWorldSpaceTolerance()`.

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