Qt3DRender::QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCasterEine abstrakte Basisklasse für das Raycasting in 3D-Szenen. Mehr...
| Header: | #include <qabstractraycaster.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | AbstractRayCaster |
| Erbt von: | Qt3DCore::QComponent |
| Vererbt an: | |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Öffentliche Typen
| enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
| enum | RunMode { Continuous, SingleShot } |
Eigenschaften
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : Qt3DRender::QAbstractRayCaster::Hits
- runMode : Qt3DRender::QAbstractRayCaster::RunMode
Öffentliche Funktionen
| void | addLayer(Qt3DRender::QLayer *layer) |
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
| QList<Qt3DRender::QLayer *> | layers() const |
| void | removeLayer(Qt3DRender::QLayer *layer) |
| Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
Öffentliche Slots
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Signale
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Ausführliche Beschreibung
Qt3DRender::QAbstractRayCaster ist eine abstrakte Basisklasse zum Casten von Strahlen in eine 3D-Szene. „ Qt3DRender::QAbstractRayCaster “ kann nicht direkt instanziiert werden, sondern nur über seine Unterklassen. „QAbstractRayCaster“ legt gemeinsame Eigenschaften für alle Ray-Caster fest, wie beispielsweise den Ausführungsmodus und die Ebenenverwaltung, während die tatsächlichen Details des Ray-Castings den Unterklassen überlassen bleiben.
Das Raycasting unterscheidet sich vom Picking (unter Verwendung von ` Qt3DRender::QObjectPicker`) dadurch, dass es keine Mausereignisse zur Auslösung benötigt.
Standardmäßig sind die Instanzen von „ Qt3DRender::QAbstractRayCaster “ deaktiviert. Bei Aktivierung wird der angegebene Strahl in jedem Frame auf sich überschneidende Objekte geprüft. Die Eigenschaft „ QAbstractRayCaster::hits “ wird mit den Ergebnissen des Ray Castings aktualisiert, auch wenn keine Objekte gefunden werden.
Mit dem „ Qt3DRender::QPickingSettings “ lässt sich der Raycasting-Vorgang steuern, beispielsweise welche Primitive geprüft werden und wie die Ergebnisse zurückgegeben werden.
Darüber hinaus können „ Qt3DRender::QLayer “-Komponenten verwendet werden, um zu steuern, wie Entitäten oder Entitäts-Teilgraphen auf das Ray Casting reagieren.
Hinweis: Von `QAbstractRayCaster` abgeleiteteKomponenten sollten nicht von mehreren Entitäten gemeinsam genutzt werden.
Siehe auch „ Qt3DRender::QRayCaster“ , „ Qt3DRender::QScreenRayCaster “, „ Qt3DRender::QObjectPicker “, „ Qt3DRender::QPickingSettings “ und „ Qt3DRender::QNoPicking “.
Dokumentation zum Mitgliedstyp
enum QAbstractRayCaster::FilterMode
Legt die Regeln für die Auswahl der zu prüfenden Entitäten beim Raycasting fest.
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | Entitäten akzeptieren, die auf ein oder mehrere „ QLayer “-Objekte verweisen, die diesem „ QAbstractRayCaster “ hinzugefügt wurden. Dies ist die Standardeinstellung |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | Akzeptiert Entitäten, die auf alle „ QLayer “-Objekte verweisen, die diesem hinzugefügt wurden QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | Entitäten verwerfen, die auf ein oder mehrere „ QLayer “-Objekte verweisen, die zu diesem hinzugefügt wurden QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | Entitäten verwerfen, die auf alle QLayer -Objekte verweisen, die zu diesem hinzugefügt wurden QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
Diese Aufzählung gibt an, wie oft das Ray-Casting durchgeführt wird
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | Ray Casting wird bei jedem Frame durchgeführt, solange die Komponente aktiviert ist. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | Ray Casting wird einmalig ausgeführt, danach deaktiviert sich die Komponente. Dies ist die Standardeinstellung. |
Eigenschaftsdokumentation
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
Enthält den Filtermodus, der festlegt, welche Entitäten für Ray-Casting-Tests ausgewählt werden sollen.
Der Standardwert ist „AcceptMatchingLayers“.
Zugriffsfunktionen:
| Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
| void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
Notifier-Signal:
| void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only] hits : Qt3DRender::QAbstractRayCaster::Hits
Enthält die Ergebnisse des letzten Ray-Casting-Tests als Vektor von Qt3DRender::QRayCasterHit-Instanzen.
Beachten Sie, dass selbst wenn aufeinanderfolgende Tests genau dieselben Ergebnisse (oder leere Ergebnisse) zurückgeben, bei jedem Test eine Änderungsbenachrichtigung ausgegeben wird.
Zugriffsfunktionen:
| Qt3DRender::QAbstractRayCaster::Hits | hits() const |
Notifier-Signal:
| void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
Legt den Ausführungsmodus fest, der bestimmt, wie oft Ray-Casting-Tests durchgeführt werden.
Wenn „ SingleShot “ (Standard) eingestellt ist, wird bei Aktivierung der Komponente ein einzelner Ray-Casting-Test durchgeführt, woraufhin sich die Komponente automatisch deaktiviert.
Bei der Einstellung „Continuous“ werden Ray-Casting-Tests bei jedem Frame durchgeführt, solange die Komponente aktiviert ist.
Zugriffsfunktionen:
| Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
| void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Benachrichtigungssignal:
| void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Dokumentation der Mitgliedsfunktionen
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
Füge „ layer “ zur aktuellen Liste der Ebenen hinzu
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
Gibt die aktuelle Liste der Ebenen zurück
void QAbstractRayCaster::removeLayer(Qt3DRender::QLayer *layer)
„ layer “ aus der aktuellen Liste der Ebenen entfernen
© 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.