QPickingSettings Class

class Qt3DRender::QPickingSettings

Die Klasse QPickingSettings legt fest, wie die Auswahl von Entitäten gehandhabt wird. Mehr...

Kopfzeile: #include <QPickingSettings>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: PickingSettings
Vererbt: Qt3DCore::QNode
Status: Veraltet

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

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

Signale

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

Detaillierte Beschreibung

Die Kommissionierungseinstellungen legen fest, wie die Kommissionierung von Entitäten gehandhabt wird. Weitere Einzelheiten zur Entitätsauswahl finden Sie in der Dokumentation der Komponenten QObjectPicker und QRayCaster.

Bei der Verwendung von QObjectPicker Komponenten wird die Entnahme durch Mausereignisse ausgelöst.

Bei der Verwendung von QRayCaster oder QScreenRayCaster Komponenten kann die Auswahl explizit durch die Anwendung ausgelöst werden.

In beiden Fällen wird ein Strahl durch die Szene geworfen, um Geometrie zu finden, die den Strahl schneidet.

Siehe auch QObjectPicker, QPickEvent, QPickTriangleEvent, QRayCaster, und QScreenRayCaster.

Dokumentation der Mitgliedstypen

enum QPickingSettings::FaceOrientationPickingMode

Gibt an, wie sich die Gesichtsausrichtung auf die Dreieckswahl auswirkt

KonstanteWertBeschreibung
Qt3DRender::QPickingSettings::FrontFace0x01Es werden nur nach vorne gerichtete Dreiecke ausgewählt (Voreinstellung).
Qt3DRender::QPickingSettings::BackFace0x02Es werden nur nach hinten gerichtete Dreiecke ausgewählt.
Qt3DRender::QPickingSettings::FrontAndBackFace0x03Es werden sowohl nach vorne als auch nach hinten gerichtete Dreiecke ausgewählt.

enum QPickingSettings::PickMethod

Gibt die Kommissioniermethode an.

KonstanteWertBeschreibung
Qt3DRender::QPickingSettings::BoundingVolumePicking0x00Ein Entity gilt als gepickt, wenn der Picking-Strahl das Bounding-Volumen des Entitys schneidet (Standard).
Qt3DRender::QPickingSettings::TrianglePicking0x01Ein Entity gilt als gepickt, wenn der Picking-Strahl ein beliebiges Dreieck der Mesh-Komponente des Entitys schneidet.
Qt3DRender::QPickingSettings::LinePicking0x02Ein Entity gilt als gepickt, wenn der Picking-Strahl eine beliebige Kante der Mesh-Komponente des Entitys schneidet.
Qt3DRender::QPickingSettings::PointPicking0x04Ein Entity gilt als gepickt, wenn sich der Picking-Strahl mit einem beliebigen Punkt der Mesh-Komponente des Entitys kreuzt.
Qt3DRender::QPickingSettings::PrimitivePickingTrianglePicking | LinePicking | PointPickingEin Entity gilt als gepickt, wenn sich der Picking-Strahl mit einem beliebigen Punkt, einer beliebigen Kante oder einem beliebigen Dreieck der Mesh-Komponente des Entitys schneidet.

enum QPickingSettings::PickResultMode

Gibt an, was in die Kommissionierungsergebnisse aufgenommen wird.

KonstanteWertBeschreibung
Qt3DRender::QPickingSettings::NearestPick0Nur das dem Ursprung des Picking-Strahls am nächsten liegende Objekt, das vom Picking-Strahl geschnitten wird, wird ausgewählt (Voreinstellung).
Qt3DRender::QPickingSettings::AllPicks1Alle Objekte, die den Auswahlstrahl schneiden, werden ausgewählt.
Qt3DRender::QPickingSettings::NearestPriorityPick2Wählt das Objekt aus, dessen Objektpicker den höchsten Wert hat. Wenn mehrere Objektpicker die gleiche Priorität haben, wird der nächstgelegene auf dem Strahl ausgewählt.

Siehe auch Qt3DRender::QPickEvent.

Dokumentation der Eigenschaft

faceOrientationPickingMode : FaceOrientationPickingMode

Legt fest, wie sich die Gesichtsausrichtung auf die Auswahl von Dreiecken auswirkt

Zugriffsfunktionen:

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

Melder-Signal:

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

pickMethod : PickMethod

Enthält die aktuelle Pick-Methode.

Standardmäßig wird beim Ray-Casting aus Leistungsgründen das Bounding-Volume-Picking verwendet. Dies kann jedoch zu unerwarteten Ergebnissen führen, wenn ein kleines Objekt in die Bounding-Sphäre eines großen Objekts dahinter eingebettet ist.

Triangle Picking liefert exakte Ergebnisse, ist aber rechenaufwändiger.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

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

pickResultMode : PickResultMode

Enthält den aktuellen Modus für die Auswahl der Ergebnisse.

Standardmäßig werden Pick-Ergebnisse nur für das Objekt erzeugt, das sich am nächsten zur Kamera befindet.

Wenn die Pick-Methode auf AllPicks eingestellt ist, werden Ereignisse für alle Objekte mit QObjectPicker entlang des Strahls ausgelöst.

Wenn Sie die Pick-Methode auf NearestPriorityPick setzen, werden Ereignisse für den nächstgelegenen Picker mit der höchsten Priorität ausgelöst. Dies kann verwendet werden, wenn ein bestimmtes Element immer ausgewählt werden soll, auch wenn sich andere vor ihm befinden.

Wenn ein QObjectPicker einem Element mit mehreren untergeordneten Elementen zugewiesen ist, wird für jedes untergeordnete Element, das den Strahl schneidet, ein Ereignis ausgelöst.

Zugriffsfunktionen:

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

Melder-Signal:

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

worldSpaceTolerance : float

Enthält den Schwellenwert in Modellraumkoordinaten, der für die Auswertung der Linien- und Punktauswahl verwendet wird.

Zugriffsfunktionen:

float worldSpaceTolerance() const
void setWorldSpaceTolerance(float worldSpaceTolerance)

Melder-Signal:

void worldSpaceToleranceChanged(float worldSpaceTolerance)

Member Function Dokumentation

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

Setzt den Schwellenwert für die Auswahl von Linien und Punkten auf worldSpaceTolerance.

Hinweis: Setter-Funktion für die Eigenschaft worldSpaceTolerance.

Siehe auch worldSpaceTolerance().

float QPickingSettings::worldSpaceTolerance() const

Liefert die Linien- und Punktgenauigkeit worldSpaceTolerance

Hinweis: Getter-Funktion für die Eigenschaft worldSpaceTolerance.

Siehe auch setWorldSpaceTolerance().

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