QPickingSettings Class

class Qt3DRender::QPickingSettings

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

Header: #include <QPickingSettings>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
In QML: PickingSettings
Inherits: Qt3DCore::QNode
Status: Deprecated

パブリックタイプ

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()も参照

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。