QObjectPicker Class
class Qt3DRender::QObjectPickerQObjectPicker クラスは、ピッキングと呼ばれる処理によって QEntity と対話するために使用できるコンポーネントのインスタンスを作成します。詳細...
Header: | #include <QObjectPicker> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | ObjectPicker |
Inherits: | Qt3DCore::QComponent |
Status: | Deprecated |
プロパティ
|
パブリック関数
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 で指定されたアトリビュート バッファの値を使用して計算されます。
シグナルpressed()、released()、clicked()、moved()、entered()、exited() は、pickAttribute プロパティで定義されたバウンディング ボリュームがレイと交差するときに発行されます。
ほとんどのシグナルは、QPickEvent インスタンスを運びます。QPickingSettings::pickMode() がQPickingSettings::TrianglePicking に設定されている場合、pick パラメータの実際のタイプはQPickTriangleEvent になります。
ピック・クエリは、マウスを押したときと離したときに実行されます。ドラッグが有効な場合、いずれかのボタンが押されている間、マウスが移動するたびにクエリが実行されます。hover が有効な場合、ボタンが押されていなくても、マウスを動かすたびにクエリが実行されます。
一般化されたレイキャストクエリについては、Qt3DRender::QRayCaster およびQt3DRender::QScreenRayCaster を参照してください。
注意: このコンポーネントのインスタンスは共有すべきではありません。この条件を守らないと、ほとんどの場合、未定義の動作になります。
注意 : カメラ遠平面値はピッキングに影響し、~100 000 より大きい場合は浮動小数点精度のため不正な結果を生成します。
Qt3DRender::QPickingSettings,Qt3DCore::QGeometry,Qt3DCore::QAttribute,Qt3DRender::QPickEvent,Qt3DRender::QPickTriangleEvent,Qt3DRender::QNoPickingも参照して ください。
プロパティ ドキュメント
[read-only]
containsMouse : const 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 : const bool
オブジェクトピッカーが押されているかどうかを指定する
アクセス関数
bool | isPressed() const |
Notifier signal: オブジェクトピッカーが押されているかどうかを指定します:
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 プロパティで定義されたバウンディングボリュームが、マウスクリックでレイと交差したときに発行されます。QPickEvent pick には、イベントの詳細が含まれています。
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 プロパティによって定義されたバウンディング・ボリュームが、ボタンが押された状態でのマウス移動でレイと交差したときに発行されます。QPickEvent pick には、イベントの詳細が含まれています。
[signal]
void QObjectPicker::pressed(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttributeプロパティによって定義されたバウンディングボリュームが、マウスを押したときにレイと交差したときに発行されます。QPickEvent pick にイベントの詳細が記載されています。
[signal]
void QObjectPicker::released(Qt3DRender::QPickEvent *pick)
このシグナルは、pickAttribute プロパティによって定義された境界ボリュームが、マウスでレイと交差したときに発行されます release theQPickEvent pick には、イベントの詳細が含まれています。
[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()も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。