Sur cette page

Qt3DRender::QRayCaster Class

class Qt3DRender::QRayCaster

Qt3DRender::QRayCaster est utilisé pour effectuer des tests de coulée de rayons dans les coordonnées du monde 3D. Plus d'informations...

En-tête : #include <QRayCaster>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : RayCaster
Hérite : Qt3DRender::QAbstractRayCaster
Statut : Déclassé

Propriétés

Fonctions publiques

QVector3D direction() const
float length() const
QVector3D origin() const

Emplacements publics

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)

Signaux

void directionChanged(const QVector3D &direction)
void lengthChanged(float length)
void originChanged(const QVector3D &origin)

Description détaillée

Le rayon 3D est défini par son origine, sa direction et sa longueur. Il sera affecté par les transformations appliquées à l'entité à laquelle il appartient.

Les tests de moulage de rayon sont effectués à chaque image tant que le composant est activé. La propriété hits sera mise à jour avec la liste des intersections.

Voir également QAbstractRayCaster, QScreenRayCaster, et QNoPicking.

Documentation sur les propriétés

direction : QVector3D

Indique la direction du rayon 3D. Il doit s'agir d'un vecteur unitaire.

Fonctions d'accès :

QVector3D direction() const
void setDirection(const QVector3D &direction)

Signal de notification :

void directionChanged(const QVector3D &direction)

length : float

Détient la longueur du rayon 3D.

Fonctions d'accès :

float length() const
void setLength(float length)

Signal de notification :

void lengthChanged(float length)

origin : QVector3D

Détient l'origine du rayon 3D en coordonnées locales.

Fonctions d'accès :

QVector3D origin() const
void setOrigin(const QVector3D &origin)

Signal du notificateur :

void originChanged(const QVector3D &origin)

Fonction membre Documentation

[slot] void QRayCaster::setLength(float length)

Fixe la longueur du rayon à length.

Si la valeur est inférieure ou égale à zéro, le rayon est considéré comme infini.

Remarque : fonction de définition de la propriété length.

Voir également length().

[slot] void QRayCaster::trigger()

Méthode pratique pour activer le composant et déclencher des tests en utilisant le rayon actuel.

Remarque : ce slot est surchargé. Pour se connecter à ce slot :

// 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(); });
Pour plus d'exemples et d'approches, voir se connecter à des slots surchargés.

[slot] void QRayCaster::trigger(const QVector3D &origin, const QVector3D &direction, float length)

Méthode pratique pour définir les détails des rayons origin, direction, et length, et permettre au composant de déclencher des tests.

Remarque : ce slot est surchargé. Pour se connecter à ce slot :

// 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); });
Pour plus d'exemples et d'approches, voir Connexion aux slots surchargés.

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