Sur cette page

Qt3DRender::QPickingSettings Class

class Qt3DRender::QPickingSettings

La classe QPickingSettings spécifie la manière dont la sélection des entités est gérée. Plus d'informations...

En-tête : #include <QPickingSettings>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : PickingSettings
Hérite : Qt3DCore::QNode
Statut : Déclassé

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 prélèvement déterminent la manière dont le prélèvement de l'entité est géré. Pour plus de détails sur le prélèvement d'entités, voir la documentation des composants QObjectPicker et QRayCaster.

Lorsque vous utilisez les composants QObjectPicker, le prélèvement est déclenché par les événements de la souris.

Lorsque vous utilisez les composants QRayCaster ou QScreenRayCaster, le prélèvement peut être explicitement déclenché par l'application.

Dans les deux cas, un rayon sera projeté à travers la scène pour trouver la géométrie qui croise le rayon.

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

Documentation sur les types de membres

enum QPickingSettings::FaceOrientationPickingMode

Spécifie comment l'orientation du visage affecte le choix du triangle

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 sont 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élèvement.

ConstanteValeurDescription de la méthode
Qt3DRender::QPickingSettings::BoundingVolumePicking0x00Une entité est considérée comme prélevée si le rayon de prélèvement coupe le volume délimité de l'entité (par défaut).
Qt3DRender::QPickingSettings::TrianglePicking0x01Une entité est considérée comme prélevée si le rayon de prélèvement croise un triangle du maillage de l'entité.
Qt3DRender::QPickingSettings::LinePicking0x02Une entité est considérée comme prélevée si le rayon de prélèvement croise une arête quelconque du composant de maillage de l'entité.
Qt3DRender::QPickingSettings::PointPicking0x04Une entité est considérée comme prélevée si le rayon de prélèvement croise un point quelconque de la composante de maillage de l'entité.
Qt3DRender::QPickingSettings::PrimitivePickingTrianglePicking | LinePicking | PointPickingUne entité est considérée comme prélevée si le rayon de prélèvement croise un point, une arête ou un triangle de la composante de maillage de l'entité.

enum QPickingSettings::PickResultMode

Spécifie ce qui est inclus dans les résultats de la sélection.

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

Voir également Qt3DRender::QPickEvent.

Documentation sur les propriétés

faceOrientationPickingMode : FaceOrientationPickingMode

Spécifie comment l'orientation de la face affecte le prélèvement 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

Indique la méthode de sélection actuelle.

Par défaut, pour des raisons de performance, le lancer de rayon utilisera la méthode de prélèvement du volume délimité. Cela peut cependant conduire à des résultats inattendus si un petit objet est englobé dans la sphère de délimitation d'un grand objet situé derrière lui.

La méthode du triangle permet d'obtenir des résultats exacts, mais elle est plus coûteuse en termes 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

Indique le mode actuel des résultats de la sélection.

Par défaut, les résultats de la sélection ne seront produits que pour l'entité la plus proche de la caméra.

Lorsque la méthode de prélèvement est définie sur AllPicks, des événements sont déclenchés pour toutes les entités ayant une adresse QObjectPicker le long du rayon.

Si la méthode de sélection est définie sur NearestPriorityPick, des événements seront déclenchés pour l'entité la plus proche ayant la priorité la plus élevée. Cette méthode peut être utilisée lorsqu'un élément donné doit toujours être sélectionné, même si d'autres éléments se trouvent devant lui.

Si un site QObjectPicker est assigné à une entité ayant 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, en coordonnées de l'espace modèle, utilisé pour évaluer le prélèvement de lignes et de points.

Fonctions d'accès :

float worldSpaceTolerance() const
void setWorldSpaceTolerance(float worldSpaceTolerance)

Signal de notification :

void worldSpaceToleranceChanged(float worldSpaceTolerance)

Member Function Documentation

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

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

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

Voir également worldSpaceTolerance().

float QPickingSettings::worldSpaceTolerance() const

Renvoie la précision de la ligne et du point worldSpaceTolerance

Note : Fonction d'obtention pour la propriété worldSpaceTolerance.

Voir également 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.