Auf dieser Seite

Qt3DRender::QScreenRayCaster Class

class Qt3DRender::QScreenRayCaster

Führe einen Ray-Casting-Test auf Basis der Bildschirmkoordinaten durch. Mehr...

Überschrift: #include <qscreenraycaster.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: ScreenRayCaster
Erbt von: Qt3DRender::QAbstractRayCaster
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Eigenschaften

Öffentliche Funktionen

QPoint position() const

Öffentliche Slots

void setPosition(const QPoint &position)
void trigger()
void trigger(const QPoint &position)

Signale

void positionChanged(const QPoint &position)

Ausführliche Beschreibung

Mit QScreenRayCaster lassen sich Raycasting-Tests durchführen, indem Koordinaten im Bildschirmraum angegeben werden, die zur Konstruktion eines tatsächlichen 3D-Strahls zwischen der Nah- und der Fernebene verwendet werden.

Siehe auch QRayCaster und QNoPicking.

Dokumentation zu den Eigenschaften

position : QPoint

Enthält die Position im Bildschirmraum, die zur Berechnung des tatsächlichen 3D-Strahls für Schnittprüfungen verwendet wird.

Hinweis: Die Koordinaten werden für jede verfügbare Renderfläche verwendet, solange sie im gültigen Bereich liegen.

Zugriffsfunktionen:

QPoint position() const
void setPosition(const QPoint &position)

Benachrichtigungssignal:

void positionChanged(const QPoint &position)

Dokumentation der Member-Funktionen

[slot] void QScreenRayCaster::trigger()

Praktische Methode, um die Komponente zu aktivieren und Tests unter Verwendung des aktuellen Koordinatenwerts auszulösen.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        screenRayCaster, qOverload<>(&QScreenRayCaster::trigger));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        screenRayCaster, [receiver = screenRayCaster]() { receiver->trigger(); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „Anbindung an überladene Slots“.

[slot] void QScreenRayCaster::trigger(const QPoint &position)

Eine bequeme Methode, um den Koordinatenwert „ position “ festzulegen und die Komponente zur Auslösung von Tests zu aktivieren.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        screenRayCaster, qOverload(&QScreenRayCaster::trigger));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        screenRayCaster, [receiver = screenRayCaster](const QPoint &position) { receiver->trigger(position); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „Verbindung zu überladenen Slots herstellen“.

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