QPickingSettings Class
class Qt3DRender::QPickingSettingsDie 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
- faceOrientationPickingMode : FaceOrientationPickingMode
- pickMethod : PickMethod
- pickResultMode : PickResultMode
- worldSpaceTolerance : float
Ö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
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QPickingSettings::FrontFace | 0x01 | Es werden nur nach vorne gerichtete Dreiecke ausgewählt (Voreinstellung). |
Qt3DRender::QPickingSettings::BackFace | 0x02 | Es werden nur nach hinten gerichtete Dreiecke ausgewählt. |
Qt3DRender::QPickingSettings::FrontAndBackFace | 0x03 | Es werden sowohl nach vorne als auch nach hinten gerichtete Dreiecke ausgewählt. |
enum QPickingSettings::PickMethod
Gibt die Kommissioniermethode an.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QPickingSettings::BoundingVolumePicking | 0x00 | Ein Entity gilt als gepickt, wenn der Picking-Strahl das Bounding-Volumen des Entitys schneidet (Standard). |
Qt3DRender::QPickingSettings::TrianglePicking | 0x01 | Ein Entity gilt als gepickt, wenn der Picking-Strahl ein beliebiges Dreieck der Mesh-Komponente des Entitys schneidet. |
Qt3DRender::QPickingSettings::LinePicking | 0x02 | Ein Entity gilt als gepickt, wenn der Picking-Strahl eine beliebige Kante der Mesh-Komponente des Entitys schneidet. |
Qt3DRender::QPickingSettings::PointPicking | 0x04 | Ein Entity gilt als gepickt, wenn sich der Picking-Strahl mit einem beliebigen Punkt der Mesh-Komponente des Entitys kreuzt. |
Qt3DRender::QPickingSettings::PrimitivePicking | TrianglePicking | LinePicking | PointPicking | Ein 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.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QPickingSettings::NearestPick | 0 | Nur das dem Ursprung des Picking-Strahls am nächsten liegende Objekt, das vom Picking-Strahl geschnitten wird, wird ausgewählt (Voreinstellung). |
Qt3DRender::QPickingSettings::AllPicks | 1 | Alle Objekte, die den Auswahlstrahl schneiden, werden ausgewählt. |
Qt3DRender::QPickingSettings::NearestPriorityPick | 2 | Wä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.