Qt3DRender::QPickingSettings Class
class Qt3DRender::QPickingSettingsQPickingSettings クラスは、エンティティのピッキング処理の方法を指定します。詳細...
| ヘッダー: | #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 } |
プロパティ
- faceOrientationPickingMode : FaceOrientationPickingMode
- pickMethod : PickMethod
- pickResultMode : PickResultMode
- worldSpaceTolerance : float
パブリック関数
| 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::FrontFace | 0x01 | 前面を向いている三角形のみが選択されます(デフォルト)。 |
Qt3DRender::QPickingSettings::BackFace | 0x02 | 背面向きの三角形のみが選択されます。 |
Qt3DRender::QPickingSettings::FrontAndBackFace | 0x03 | 前面および背面の三角形がすべて選択されます。 |
enum QPickingSettings::PickMethod
ピッキング方法を指定します。
| 定数 | 値 | 説明 |
|---|---|---|
Qt3DRender::QPickingSettings::BoundingVolumePicking | 0x00 | ピッキング光線がエンティティのバウンディングボリュームと交差する場合、そのエンティティはピックされたものとみなされます(デフォルト)。 |
Qt3DRender::QPickingSettings::TrianglePicking | 0x01 | ピッキングレイがエンティティのメッシュコンポーネントのいずれかの三角形と交差した場合、そのエンティティはピックされたものとみなされます。 |
Qt3DRender::QPickingSettings::LinePicking | 0x02 | ピッキングレイがエンティティのメッシュコンポーネントのいずれかのエッジと交差した場合、そのエンティティはピックされたものとみなされます。 |
Qt3DRender::QPickingSettings::PointPicking | 0x04 | ピッキングレイがエンティティのメッシュコンポーネントの任意の点と交差した場合、そのエンティティは選択されたものとみなされます。 |
Qt3DRender::QPickingSettings::PrimitivePicking | TrianglePicking | LinePicking | PointPicking | ピッキングレイがエンティティのメッシュコンポーネントの任意の点、エッジ、または三角形と交差した場合、そのエンティティは選択されたものとみなされます。 |
enum QPickingSettings::PickResultMode
ピッキング結果に何が含まれるかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
Qt3DRender::QPickingSettings::NearestPick | 0 | ピッキングレイと交差するエンティティのうち、ピッキングレイの原点に最も近いエンティティのみが選択されます(デフォルト)。 |
Qt3DRender::QPickingSettings::AllPicks | 1 | ピッキングレイと交差するすべてのエンティティがピックされます。 |
Qt3DRender::QPickingSettings::NearestPriorityPick | 2 | オブジェクトピッカーの値が最も高いエンティティが選択されます。複数のオブジェクトピッカーの優先順位が同じ場合は、レイ上で最も近いものが選択されます。 |
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.