Qt3DRender::QRayCaster Class
class Qt3DRender::QRayCasterQt3DRender::QRayCaster wird verwendet, um Ray-Casting-Tests in 3D-Weltkoordinaten durchzuführen. Mehr...
| Überschrift: | #include <qraycaster.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | RayCaster |
| Erbt von: | Qt3DRender::QAbstractRayCaster |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
Öffentliche Funktionen
Öffentliche Slots
| void | setDirection(const QVector3D &direction) |
| void | setLength(float length) |
| void | setOrigin(const QVector3D &origin) |
| void | trigger() |
| void | trigger(const QVector3D &origin, const QVector3D &direction, float length) |
Signale
| void | directionChanged(const QVector3D &direction) |
| void | lengthChanged(float length) |
| void | originChanged(const QVector3D &origin) |
Detaillierte Beschreibung
Der 3D-Strahl wird durch seinen Ursprung, seine Richtung und seine Länge definiert. Er wird von den Transformationen beeinflusst, die auf die Entität angewendet werden, zu der er gehört.
Ray-Casting-Tests werden in jedem Frame durchgeführt, solange die Komponente aktiviert ist. Die Eigenschaft „hits“ wird mit der Liste der Schnittpunkte aktualisiert.
Siehe auch QAbstractRayCaster, QScreenRayCaster und QNoPicking.
Dokumentation der Eigenschaft
direction : QVector3D
Enthält die Richtung des 3D-Strahls. Dies sollte ein Einheitsvektor sein.
Zugriffsfunktionen:
| QVector3D | direction() const |
| void | setDirection(const QVector3D &direction) |
Benachrichtigungssignal:
| void | directionChanged(const QVector3D &direction) |
length : float
Enthält die Länge des 3D-Strahls.
Zugriffsfunktionen:
| float | length() const |
| void | setLength(float length) |
Benachrichtigungssignal:
| void | lengthChanged(float length) |
origin : QVector3D
Enthält den Ursprung des 3D-Strahls in lokalen Koordinaten.
Zugriffsfunktionen:
| QVector3D | origin() const |
| void | setOrigin(const QVector3D &origin) |
Benachrichtigungssignal:
| void | originChanged(const QVector3D &origin) |
Dokumentation der Mitgliedsfunktionen
[slot] void QRayCaster::setLength(float length)
Legt die Länge des Strahls auf „ length “ fest.
Ist der Wert kleiner oder gleich Null, wird der Strahl als unendlich betrachtet.
Hinweis: Setter -Funktion für die Eigenschaft ` length`.
Siehe auch ` length()`.
[slot] void QRayCaster::trigger()
Eine praktische Methode, um die Komponente zu aktivieren und Tests unter Verwendung des aktuellen Strahls auszulösen.
Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
rayCaster, qOverload<>(&QRayCaster::trigger));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
rayCaster, [receiver = rayCaster]() { receiver->trigger(); });[slot] void QRayCaster::trigger(const QVector3D &origin, const QVector3D &direction, float length)
Praktische Methode zum Festlegen der Strahldetails origin, direction und length sowie zum Aktivieren der Komponente, um Tests auszulösen.
Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
rayCaster, qOverload(&QRayCaster::trigger));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
rayCaster, [receiver = rayCaster](const QVector3D &origin, const QVector3D &direction, float length) { receiver->trigger(origin, direction, length); }); © 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.