Qt3DRender::QRayCaster Class
class Qt3DRender::QRayCasterQt3DRender::QRayCaster 3D世界座標系でのレイキャスティングテストを実行するために使用されます。詳細...
| ヘッダー: | #include <qraycaster.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| QML内では: | RayCaster |
| 継承元: | Qt3DRender::QAbstractRayCaster |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
プロパティ
パブリック関数
パブリックスロット
| 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) |
シグナル
| void | directionChanged(const QVector3D &direction) |
| void | lengthChanged(float length) |
| void | originChanged(const QVector3D &origin) |
詳細な説明
3Dレイは、原点、方向、および長さによって定義されます。このレイは、所属するエンティティに適用された変換の影響を受けます。
コンポーネントが有効になっている限り、レイキャスティングのテストは毎フレーム実行されます。hits プロパティには、交差箇所のリストが更新されます。
関連項目 :QAbstractRayCaster 、QScreenRayCaster 、およびQNoPickingも参照してください 。
プロパティのドキュメント
direction : QVector3D
3Dレイの方向を保持します。これは単位ベクトルである必要があります。
アクセス関数:
| QVector3D | direction() const |
| void | setDirection(const QVector3D &direction) |
通知シグナル:
| void | directionChanged(const QVector3D &direction) |
length : float
3Dレイの長さを保持します。
アクセス関数:
| float | length() const |
| void | setLength(float length) |
通知シグナル:
| void | lengthChanged(float length) |
origin : QVector3D
ローカル座標系における3D光線の原点を保持します。
アクセス関数:
| QVector3D | origin() const |
| void | setOrigin(const QVector3D &origin) |
通知シグナル:
| void | originChanged(const QVector3D &origin) |
メンバ関数のドキュメント
[slot] void QRayCaster::setLength(float length)
光線の長さをlength に設定します。
値が0以下である場合、レイは無限長とみなされます。
注: プロパティlength のセッター 関数です。
length()も参照してください 。
[slot] void QRayCaster::trigger()
コンポーネントを有効にし、現在のレイを使用してテストをトリガーするための便利なメソッドです。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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)
origin 、direction 、length のレイの詳細を設定し、コンポーネントがテストをトリガーできるようにするための便利な方法です。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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.