QPickingSettings Class

class Qt3DRender::QPickingSettings

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

ヘッダ #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 }

プロパティ

パブリック機能

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 を持つすべてのエンティティに対してイベントがトリガーされます。

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.