このページでは

Qt3DRender::QPickingSettings Class

class Qt3DRender::QPickingSettings

QPickingSettings クラスは、エンティティのピッキング処理の方法を指定します。詳細...

ヘッダー: #include <qpickingsettings.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML内: PickingSettings
継承元: Qt3DCore::QNode
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

パブリック型

enum FaceOrientationPickingMode { FrontFace, BackFace, FrontAndBackFace }
enum PickMethod { BoundingVolumePicking, TrianglePicking, LinePicking, PointPicking, PrimitivePicking }
enum PickResultMode { NearestPick, AllPicks, NearestPriorityPick }

プロパティ

パブリック関数

Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode() const
Qt3DRender::QPickingSettings::PickMethod pickMethod() const
Qt3DRender::QPickingSettings::PickResultMode pickResultMode() const
float worldSpaceTolerance() const

パブリックスロット

void setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)
void setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod)
void setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode)
void setWorldSpaceTolerance(float worldSpaceTolerance)

シグナル

void faceOrientationPickingModeChanged(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)
void pickMethodChanged(Qt3DRender::QPickingSettings::PickMethod pickMethod)
void pickResultModeChanged(Qt3DRender::QPickingSettings::PickResultMode pickResult)
void worldSpaceToleranceChanged(float worldSpaceTolerance)

詳細説明

ピッキング設定は、エンティティのピッキングがどのように処理されるかを決定します。エンティティのピッキングに関する詳細については、QObjectPicker およびQRayCaster のコンポーネントのドキュメントを参照してください。

QObjectPicker コンポーネントを使用する場合、ピッキングはマウスイベントによってトリガーされます。

QRayCaster またはQScreenRayCaster コンポーネントを使用する場合、ピッキングはアプリケーションによって明示的にトリガーすることができます。

どちらの場合も、シーン内に光線が投射され、その光線と交差するジオメトリが検出されます。

QObjectPicker 、QPickEvent 、QPickTriangleEvent 、QRayCaster 、およびQScreenRayCasterも参照してください 。

メンバ型のドキュメント

enum QPickingSettings::FaceOrientationPickingMode

面の向きが三角形の選択にどのように影響するかを指定します

定数値説明
Qt3DRender::QPickingSettings::FrontFace0x01前面を向いている三角形のみが選択されます(デフォルト)。
Qt3DRender::QPickingSettings::BackFace0x02背面向きの三角形のみが選択されます。
Qt3DRender::QPickingSettings::FrontAndBackFace0x03前面および背面の三角形がすべて選択されます。

enum QPickingSettings::PickMethod

ピッキング方法を指定します。

定数値説明
Qt3DRender::QPickingSettings::BoundingVolumePicking0x00ピッキング光線がエンティティのバウンディングボリュームと交差する場合、そのエンティティはピックされたものとみなされます(デフォルト)。
Qt3DRender::QPickingSettings::TrianglePicking0x01ピッキングレイがエンティティのメッシュコンポーネントのいずれかの三角形と交差した場合、そのエンティティはピックされたものとみなされます。
Qt3DRender::QPickingSettings::LinePicking0x02ピッキングレイがエンティティのメッシュコンポーネントのいずれかのエッジと交差した場合、そのエンティティはピックされたものとみなされます。
Qt3DRender::QPickingSettings::PointPicking0x04ピッキングレイがエンティティのメッシュコンポーネントの任意の点と交差した場合、そのエンティティは選択されたものとみなされます。
Qt3DRender::QPickingSettings::PrimitivePickingTrianglePicking | LinePicking | PointPickingピッキングレイがエンティティのメッシュコンポーネントの任意の点、エッジ、または三角形と交差した場合、そのエンティティは選択されたものとみなされます。

enum QPickingSettings::PickResultMode

ピッキング結果に何が含まれるかを指定します。

定数値説明
Qt3DRender::QPickingSettings::NearestPick0ピッキングレイと交差するエンティティのうち、ピッキングレイの原点に最も近いエンティティのみが選択されます(デフォルト)。
Qt3DRender::QPickingSettings::AllPicks1ピッキングレイと交差するすべてのエンティティがピックされます。
Qt3DRender::QPickingSettings::NearestPriorityPick2オブジェクトピッカーの値が最も高いエンティティが選択されます。複数のオブジェクトピッカーの優先順位が同じ場合は、レイ上で最も近いものが選択されます。

Qt3DRender::QPickEventも参照してください 。

プロパティのドキュメント

faceOrientationPickingMode : FaceOrientationPickingMode

面の向きが三角形の選択にどのように影響するかを指定します

アクセス関数:

Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode() const
void setFaceOrientationPickingMode(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)

通知シグナル:

void faceOrientationPickingModeChanged(Qt3DRender::QPickingSettings::FaceOrientationPickingMode faceOrientationPickingMode)

pickMethod : PickMethod

現在のピック方法を保持します。

デフォルトでは、パフォーマンス上の理由から、レイキャスティングではバウンディングボリュームによるピックが使用されます。ただし、背後の大きなオブジェクトのバウンディングスフィアに小さなオブジェクトが包み込まれている場合、予期しない結果になる可能性があります。

トライアングル・ピッキングは正確な結果をもたらしますが、計算コストが高くなります。

アクセス関数:

Qt3DRender::QPickingSettings::PickMethod pickMethod() const
void setPickMethod(Qt3DRender::QPickingSettings::PickMethod pickMethod)

通知シグナル:

void pickMethodChanged(Qt3DRender::QPickingSettings::PickMethod pickMethod)

pickResultMode : PickResultMode

現在のピック結果モードを保持します。

デフォルトでは、カメラに最も近いエンティティに対してのみピック結果が生成されます。

ピック方法を `AllPicks` に設定すると、レイ上の `QObjectPicker` を持つすべてのエンティティに対してイベントがトリガーされます。

ピック方法を `NearestPriorityPick` に設定すると、最も近くにある優先順位が最も高いピッカーに対してイベントがトリガーされます。これは、他の要素が前にある場合でも、特定の要素を常に選択する必要がある場合に使用できます。

QObjectPickerが複数の子を持つエンティティに割り当てられている場合、レイと交差する各子エンティティに対してイベントが発生します。

アクセス関数:

Qt3DRender::QPickingSettings::PickResultMode pickResultMode() const
void setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode)

Notifierシグナル:

void pickResultModeChanged(Qt3DRender::QPickingSettings::PickResultMode pickResult)

worldSpaceTolerance : float

線や点の選択を評価するために使用される閾値を、モデル空間座標で保持します。

アクセス関数:

float worldSpaceTolerance() const
void setWorldSpaceTolerance(float worldSpaceTolerance)

通知信号:

void worldSpaceToleranceChanged(float worldSpaceTolerance)

メンバ関数のドキュメント

[slot] void QPickingSettings::setWorldSpaceTolerance(float worldSpaceTolerance)

線や点の選択に使用されるしきい値を `worldSpaceTolerance` に設定します。

注: プロパティ `worldSpaceTolerance`のセッター 関数です。

関連項目:worldSpaceTolerance()も参照してください 。

float QPickingSettings::worldSpaceTolerance() const

線分および点の精度である worldSpaceTolerance を返します

注: プロパティ worldSpaceToleranceのゲッター 関数です。

関連項目: setWorldSpaceTolerance()。

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