このページでは

Qt3DRender::QRayCaster Class

class Qt3DRender::QRayCaster

Qt3DRender::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
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

プロパティ

パブリック関数

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

パブリックスロット

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.