QPickingSettings Class
class Qt3DRender::QPickingSettingsQPickingSettingsクラスは、エンティティ・ピッキングの処理方法を指定します。詳細...
ヘッダ | #include <QPickingSettings> |
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 を持つすべてのエンティティに対してイベントがトリガーされます。
pick メソッドをNearestPriorityPick に設定すると、最も近い優先順位の高いピッカーに対してイベントがトリガーされます。これは、指定した要素が常に選択される必要がある場合に使用できます。
QObjectPicker が複数の子を持つエンティティに割り当てられている場合、レイと交差する各子エンティティに対してイベントがトリガーされます。
アクセス関数
Qt3DRender::QPickingSettings::PickResultMode | pickResultMode() const |
void | setPickResultMode(Qt3DRender::QPickingSettings::PickResultMode pickResultMode) |
通知シグナル:
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()も参照してください 。
© 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.