QObjectPicker Class

class Qt3DRender::QObjectPicker

QObjectPicker クラスは、ピッキングと呼ばれる処理によって QEntity と対話するために使用できるコンポーネントのインスタンス化です。詳細...

ヘッダー #include <QObjectPicker>
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)

詳細説明

ビューポートとカメラの組み合わせごとに、picking はシーンを通してレイをキャストし、そのレイと交差するバウンディングボリュームのエンティティを見つけます。バウンディング ボリュームは、ジオメトリの 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

通知シグナル

void pressedChanged(bool pressed)

priority : int

QPickingSettings::pickResultModeQPickingSettings::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 プロパティによって定義されたバウンディングボリュームが、マウスリリースのレイと交差したときに発行されます。QPickEvent 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()も参照してください

© 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.