QAbstractRayCaster Class
class Qt3DRender::QAbstractRayCaster3Dシーンにおけるレイキャスティングのための抽象基底クラス。さらに...
ヘッダー | #include <QAbstractRayCaster> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
QML で | AbstractRayCaster |
を継承: | Qt3DCore::QComponent |
継承される | |
ステータス | 非推奨 |
パブリックな型
enum | FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers } |
enum | RunMode { Continuous, SingleShot } |
プロパティ
- filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
- hits : const Qt3DRender::QAbstractRayCaster::Hits
- runMode : Qt3DRender::QAbstractRayCaster::RunMode
パブリック機能
void | addLayer(Qt3DRender::QLayer *layer) |
Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
Qt3DRender::QAbstractRayCaster::Hits | hits() const |
QList<Qt3DRender::QLayer *> | layers() const |
void | removeLayer(Qt3DRender::QLayer *layer) |
Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
パブリックスロット
void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
シグナル
void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
詳しい説明
Qt3DRender::QAbstractRayCaster は、3D シーンに光線をキャストするための抽象ベースクラスです。 は直接インスタンス化することはできず、サブクラスを通してインスタンス化します。QAbstractRayCaster は、実行モードやレイヤーの処理など、すべてのレイキャスターに共通のプロパティを指定しますが、実際のレイキャストの詳細はサブクラスに任せます。Qt3DRender::QAbstractRayCaster
レイキャスティングは、ピッキング(Qt3DRender::QObjectPicker を使用)とは異なり、トリガーにマウスイベントを必要としません。
デフォルトでは、Qt3DRender::QAbstractRayCaster のインスタンスは無効になっています。有効にすると、指定されたレイはフレームごとにオブジェクトと交差しているかテストされます。オブジェクトが見つからない場合でも、QAbstractRayCaster::hits プロパティはレイキャストの結果で更新されます。
Qt3DRender::QPickingSettings を使用して、どのプリミティブをテストするか、結果をどのように返すかなど、レイ キャストを制御できます。
さらに、Qt3DRender::QLayer コンポーネントを使用して、エンティティまたはエンティティのサブグラフがレイキャストにどのように反応するかを制御できます。
注: QAbstractRayCasterから派生したコンポーネントは、複数のエンティティで共有しないでください。
Qt3DRender::QRayCaster,Qt3DRender::QScreenRayCaster,Qt3DRender::QObjectPicker,Qt3DRender::QPickingSettings,Qt3DRender::QNoPickingも参照のこと 。
メンバ型ドキュメント
enum QAbstractRayCaster::FilterMode
レイキャスティングをテストするエンティティを選択するルールを指定します。
定数 | 値 | 説明 |
---|---|---|
Qt3DRender::QAbstractRayCaster::AcceptAnyMatchingLayers | 0 | このQAbstractRayCaster に追加された 1 つ以上のQLayer オブジェクトを参照するエンティティを受け入れます。これはデフォルトです。 |
Qt3DRender::QAbstractRayCaster::AcceptAllMatchingLayers | 1 | このオブジェクトに追加されたすべてのQLayer オブジェクトを参照するエンティティを受け入れる。QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAnyMatchingLayers | 2 | これに追加された1つ以上のQLayer オブジェクトを参照するエンティティを破棄する。QAbstractRayCaster |
Qt3DRender::QAbstractRayCaster::DiscardAllMatchingLayers | 3 | これに追加されたすべてのQLayer オブジェクトを参照するエンティティを破棄する。QAbstractRayCaster |
enum QAbstractRayCaster::RunMode
この列挙は、レイキャストの実行頻度を指定します。
定数 | 値 | 説明 |
---|---|---|
Qt3DRender::QAbstractRayCaster::Continuous | 0 | コンポーネントが有効である限り、レイキャストは毎フレーム実行されます。 |
Qt3DRender::QAbstractRayCaster::SingleShot | 1 | レイキャストは一度実行されると、コンポーネントはそれ自体を無効にします。これはデフォルトの |
プロパティの説明
filterMode : Qt3DRender::QAbstractRayCaster::FilterMode
レイキャストテストのために選択するエンティティを指定するフィルタモードを保持する。
デフォルト値は AcceptMatchingLayers です。
アクセス関数:
Qt3DRender::QAbstractRayCaster::FilterMode | filterMode() const |
void | setFilterMode(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
通知シグナル:
void | filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode filterMode) |
[read-only]
hits : const Qt3DRender::QAbstractRayCaster::Hits
最後のレイキャストテストの結果をQt3DRender::QRayCasterHit インスタンスのベクトルとして保持します。
連続したテストがまったく同じ結果 (または空の結果) を返す場合でも、テストのたびに変更通知が発行されることに注意してください。
アクセス関数:
Qt3DRender::QAbstractRayCaster::Hits | hits() const |
通知シグナル:
void | hitsChanged(const Qt3DRender::QAbstractRayCaster::Hits &hits) |
runMode : Qt3DRender::QAbstractRayCaster::RunMode
レイキャストテストの実行頻度を制御する実行モードを保持します。
SingleShot (デフォルト) に設定すると、コンポーネントが有効になったときに、1回のレイキャストテストが実行され、コンポーネントは自動的に無効になります。
Continuous に設定すると、コンポーネントが有効である限り、レイキャストテストは毎フレーム実行されます。
アクセス関数
Qt3DRender::QAbstractRayCaster::RunMode | runMode() const |
void | setRunMode(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
Notifier シグナル:
void | runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode runMode) |
メンバ関数ドキュメント
void QAbstractRayCaster::addLayer(Qt3DRender::QLayer *layer)
layer を現在のレイヤーリストに追加
QList<Qt3DRender::QLayer *> QAbstractRayCaster::layers() const
現在のレイヤーのリストを返す
void QAbstractRayCaster::removeLayer(Qt3DRender::QLayer *layer)
現在のレイヤーリストからlayer を削除する
© 2025 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.