Qt3DRender::QObjectPicker Class
class Qt3DRender::QObjectPickerQObjectPicker クラスは、「ピッキング」と呼ばれるプロセスを通じて QEntity とやり取りするために使用できるコンポーネントをインスタンス化します。詳細...
| ヘッダー: | #include <qobjectpicker.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| QML内: | ObjectPicker |
| 継承元: | Qt3DCore::QComponent |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
プロパティ
|
パブリック関数
| bool | containsMouse() const |
| bool | isDragEnabled() const |
| bool | isHoverEnabled() const |
| bool | isPressed() const |
| int | priority() const |
パブリックスロット
| void | setDragEnabled(bool dragEnabled) |
| void | setHoverEnabled(bool hoverEnabled) |
| void | setPriority(int priority) |
シグナル
| void | clicked(Qt3DRender::QPickEvent *pick) |
| void | containsMouseChanged(bool containsMouse) |
| void | dragEnabledChanged(bool dragEnabled) |
| void | entered() |
| void | exited() |
| void | hoverEnabledChanged(bool hoverEnabled) |
| void | moved(Qt3DRender::QPickEvent *pick) |
| void | pressed(Qt3DRender::QPickEvent *pick) |
| void | pressedChanged(bool pressed) |
| void | priorityChanged(int priority) |
| void | released(Qt3DRender::QPickEvent *pick) |
詳細な説明
ビューポートとカメラのあらゆる組み合わせについて、ピッキング処理ではシーン内に光線を投射し、その光線とバウンディングボリュームが交差するエンティティを検索します。バウンディングボリュームは、ジオメトリの `boundingVolumePositionAttribute` で指定された属性バッファ内の値を使用して計算されます。
pickAttribute プロパティで定義されたバウンディングボリュームがレイと交差すると、pressed()、released()、clicked()、moved()、entered()、およびexited() シグナルがエミットされます。
ほとんどのシグナルは、QPickEvent インスタンスを伝達します。QPickingSettings::pickMode()がQPickingSettings::TrianglePicking に設定されている場合、pickパラメータの実際の型はQPickTriangleEvent となります。
ピッククエリは、マウスのクリック時およびクリック解除時に実行されます。ドラッグが有効になっている場合、いずれかのボタンが押されている間は、マウスの移動のたびにクエリが行われます。ホバーが有効になっている場合、ボタンが押されていなくても、マウスの移動のたびにクエリが行われます。
一般的なレイキャスティングクエリについては、Qt3DRender::QRayCaster およびQt3DRender::QScreenRayCaster を参照してください。
注: このコンポーネントのインスタンスは 共有しないでください。この条件を守らないと、ほぼ確実に未定義の挙動が生じます。
注: カメラの ファープレーン値は ピッキングに影響し、その値が約 100,000 を超えると、浮動小数点数の精度の問題により誤った結果が生成されることがあります。
Qt3DRender::QPickingSettings 、Qt3DCore::QGeometry 、Qt3DCore::QAttribute 、Qt3DRender::QPickEvent 、Qt3DRender::QPickTriangleEvent 、およびQt3DRender::QNoPickingも参照してください 。
プロパティのドキュメント
[read-only] containsMouse : bool
オブジェクトピッカーに現在マウスが含まれているかどうかを指定します
アクセス関数:
| bool | containsMouse() const |
通知シグナル:
| void | containsMouseChanged(bool containsMouse) |
dragEnabled : bool
ドラッグが有効かどうかを指定します
アクセス関数:
| bool | isDragEnabled() const |
| void | setDragEnabled(bool dragEnabled) |
通知シグナル:
| void | dragEnabledChanged(bool dragEnabled) |
hoverEnabled : bool
ホバー機能が有効かどうかを指定します
アクセス関数:
| bool | isHoverEnabled() const |
| void | setHoverEnabled(bool hoverEnabled) |
通知シグナル:
| void | hoverEnabledChanged(bool hoverEnabled) |
[read-only] pressed : bool
オブジェクトピッカーが現在押されているかどうかを指定します
アクセス関数:
| bool | isPressed() const |
通知シグナル:
| void | pressedChanged(bool pressed) |
priority : int
QPickingSettings::pickResultMode がQPickingSettings::NearestPriorityPick に設定されている場合、ピック結果を優先度でフィルタリングする際に使用する優先度です。
アクセス機能:
| int | priority() const |
| void | setPriority(int priority) |
通知信号:
| void | priorityChanged(int priority) |
メンバ関数のドキュメント
[signal] void QObjectPicker::clicked(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、マウスクリック時にレイと交差した際に発火します。QPickEventpick には、このイベントの詳細が含まれています。
bool QObjectPicker::containsMouse() const
オブジェクトピッカーに現在マウスが含まれている場合、true を返します
注: プロパティ `containsMouse`のゲッター関数です 。
[signal] void QObjectPicker::entered()
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、そのボリューム内に入ってくるマウスのレイと交差したときに発せられます。
[signal] void QObjectPicker::exited()
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、そのボリュームから出るレイと交差したときに発せられます。
bool QObjectPicker::isDragEnabled() const
ドラッグが有効な場合、true を返します
注: プロパティ `dragEnabled`のゲッター 関数です。
bool QObjectPicker::isHoverEnabled() const
ホバーが有効な場合、true を返します
注: プロパティ `hoverEnabled`のゲッター 関数です。
[signal] void QObjectPicker::moved(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、ボタンが押された状態でマウスが移動した際のレイと交差したときに発せられます。QPickEventpick には、このイベントの詳細が含まれています。
[signal] void QObjectPicker::pressed(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、マウスクリック時に射線と交差した際に発火します。QPickEventpick には、このイベントの詳細情報が含まれています。
[signal] void QObjectPicker::released(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttribute プロパティで定義されたバウンディングボリュームが、マウスボタンが離された際のレイと交差したときに発火します。QPickEventpick には、このイベントの詳細が含まれています。
[slot] void QObjectPicker::setDragEnabled(bool dragEnabled)
dragEnabled プロパティを次のように設定します。dragEnabled
注: dragEnabled プロパティのセッター 関数です。
isDragEnabled()も参照してください 。
[slot] void QObjectPicker::setHoverEnabled(bool hoverEnabled)
hoverEnabled プロパティをhoverEnabled
注: プロパティ `hoverEnabled`のセッター 関数です。
isHoverEnabled()も参照してください 。
[slot] void QObjectPicker::setPriority(int priority)
ピッカーの優先度を「priority 」に設定します。これは、QPickingSettings のピッキング結果モードが「QPickingSettings::NearestPriorityPick 」に設定されている場合に使用されます。ピッキング結果は、優先度が高い順かつピッキング距離が短い順に並べ替えられます。
注: プロパティ `priority`のセッター 関数です。
関連項目: priority()。
© 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.