QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCasterEine abstrakte Basisklasse für Ray Casting in 3D-Szenen. Mehr...
Kopfzeile: | #include <QAbstractRayCaster> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | AbstractRayCaster |
Vererbt: | Qt3DCore::QComponent |
Geerbt von: | |
Status: | Veraltet |
Öffentliche Typen
enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
enum | RunMode { Continuous, SingleShot } |
Eigenschaften
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : const 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) |
Detaillierte Beschreibung
Qt3DRender::QAbstractRayCaster QAbstractRayCaster ist eine abstrakte Basisklasse für das Casting 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 z.B. Run-Mode und Layer-Handling, während die eigentlichen Details des Ray-Castings den Unterklassen überlassen werden.
Ray Casting unterscheidet sich vom Picking (mit Qt3DRender::QObjectPicker) dadurch, dass es keine Mausereignisse zum Auslösen benötigt.
In der Voreinstellung sind die Instanzen von Qt3DRender::QAbstractRayCaster deaktiviert. Wenn sie aktiviert sind, wird der angegebene Strahl bei jedem Frame auf sich schneidende Objekte getestet. Die Eigenschaft QAbstractRayCaster::hits wird mit den Ergebnissen des Strahlenwurfs aktualisiert, auch wenn keine Objekte gefunden werden.
Mit Qt3DRender::QPickingSettings kann das Ray-Casting gesteuert werden, z. B. welche Primitive getestet werden und wie die Ergebnisse zurückgegeben werden.
Darüber hinaus können die Komponenten von Qt3DRender::QLayer verwendet werden, um zu steuern, wie Entitäten oder Untergraphen von Entitäten auf das Ray-Casting reagieren.
Hinweis: Von QAbstractRayCaster abgeleitete Komponenten sollten nicht von mehreren Entitäten gemeinsam genutzt werden.
Siehe auch Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker, Qt3DRender::QPickingSettings, und Qt3DRender::QNoPicking.
Dokumentation der Mitgliedstypen
enum QAbstractRayCaster::FilterMode
Legt die Regeln für die Auswahl von Objekten fest, die auf Raycasting getestet werden sollen.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | Akzeptiert Entitäten, die auf ein oder mehrere QLayer Objekte verweisen, die zu diesem QAbstractRayCaster hinzugefügt wurden. Dies ist der Standardwert |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | Akzeptiere Entitäten, die auf alle QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | Entitäten verwerfen, die auf ein oder mehrere QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | Verwirft Entitäten, die auf alle QLayer Objekte verweisen, die zu dieser Seite hinzugefügt wurden. QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
Diese Aufzählung gibt an, wie oft der Strahlenwurf durchgeführt wird
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | Das Ray-Casting wird bei jedem Frame durchgeführt, solange die Komponente aktiviert ist. |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | Das Ray-Casting wird einmal durchgeführt, dann deaktiviert sich die Komponente selbst. Dies ist die Standardeinstellung |
Dokumentation der Eigenschaft
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
Enthält den Filtermodus, der angibt, welche Objekte für die Raycasting-Tests ausgewählt werden sollen.
Der Standardwert ist AcceptMatchingLayers.
Zugriffsfunktionen:
Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
Melder-Signal:
void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only]
hits : const Qt3DRender::QAbstractRayCaster::Hits
Enthält die Ergebnisse des letzten Ray-Casting-Tests als einen Vektor von Qt3DRender::QRayCasterHit -Instanzen.
Beachten Sie, dass selbst wenn aufeinanderfolgende Tests genau die gleichen Ergebnisse (oder leere Ergebnisse) liefern, bei jedem Test eine Änderungsmeldung ausgegeben wird.
Zugriffsfunktionen:
Qt3DRender::QAbstractRayCaster::Hits | hits() const |
Notifier Signal:
void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
Enthält den Ausführungsmodus, der bestimmt, wie oft Ray-Casting-Tests durchgeführt werden.
Bei der Einstellung SingleShot (Standard) wird bei Aktivierung der Komponente ein einziger Ray-Casting-Test durchgeführt und die Komponente deaktiviert sich automatisch.
Bei der Einstellung Kontinuierlich werden bei jedem Bild Strahlenwurf-Tests 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) |
Member Function Dokumentation
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
layer zur aktuellen Liste der Ebenen hinzufügen
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
© 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.