QObjectPicker Class

class Qt3DRender::QObjectPicker

QObjectPicker クラスは、ピッキングと呼ばれる処理によって 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::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 プロパティによって定義された境界ボリュームが、マウスでレイと交差したときに発行されます 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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。