QBoundingVolume Class
class Qt3DCore::QBoundingVolumeは、エンティティのバウンディングボリュームをオーバーライドするために使用できます。詳細...
Header: | #include <Qt3DCore/QBoundingVolume> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake: | QT += 3dcore |
Since: | Qt 6.0 |
In QML: | BoundingVolume |
Inherits: | Qt3DCore::QComponent |
Inherited By: | |
Status: | Deprecated |
プロパティ
|
パブリック関数
QBoundingVolume(Qt3DCore::QNode *parent = nullptr) | |
bool | areImplicitPointsValid() const |
QVector3D | implicitMaxPoint() const |
QVector3D | implicitMinPoint() const |
QVector3D | maxPoint() const |
QVector3D | minPoint() const |
Qt3DCore::QGeometryView * | view() const |
パブリックスロット
void | setMaxPoint(const QVector3D &maxPoint) |
void | setMinPoint(const QVector3D &minPoint) |
void | setView(Qt3DCore::QGeometryView *view) |
bool | updateImplicitBounds() |
シグナル
void | implicitMaxPointChanged(const QVector3D &implicitMaxPoint) |
void | implicitMinPointChanged(const QVector3D &implicitMinPoint) |
void | implicitPointsValidChanged(bool implicitPointsValid) |
void | maxPointChanged(QVector3D maxPoint) |
void | minPointChanged(QVector3D minPoint) |
void | viewChanged(Qt3DCore::QGeometryView *view) |
詳細説明
エンティティのバウンディングボリュームは、ピッキングやビューのフラストラムカリングなど、多くの操作に使用されます。これは通常、レンダリングされたジオメトリをトラバースすることによって計算されます。
QBoundingVolume は、ジオメトリの範囲がアプリケーションで既知である場合に使用できます。
バウンディングボリュームは、最小および最大エクステント座標として提供することも、レンダリングされたメッシュを近似する別の、通常はより単純なジオメトリとして提供することもできます。
最小および最大エクステントを使用する場合、これらは、ジオメトリのローカル座標系で、軸合わせされたバウンディングボックスの対向するコーナーとみなされます。
QBoundingVolume は、GeometryView の計算されたバウンディングボリュームを照会するために使用することもできます。ジオメトリが変更されると、implicitMinPoint とimplicitMaxPoint プロパティが更新されます。これはバックグラウンドのスレッドで非同期に行われるため、implicitPointsValid の値を確認してから読み込む必要があります。
暗黙のエクステントを強制的に更新するには、updateImplicitBounds を呼び出します。これは、結果が利用可能になるまで、呼び出し元のスレッドでブロックされる。
注意: GeometryRenderer はBoundingVolume を継承しているため、暗黙的な境界の読み取りや明示的な境界の設定もサポートしています。
プロパティ・ドキュメンテーション
[read-only]
implicitMaxPoint : const QVector3D
* 指定されたビューから計算された境界ボリュームの最大範囲を保持します。
アクセス関数:
QVector3D | implicitMaxPoint() const |
通知シグナル:
void | implicitMaxPointChanged(const QVector3D &implicitMaxPoint) |
[read-only]
implicitMinPoint : const QVector3D
* 指定されたビューから計算された外接ボリュームの最小範囲を保持します。
アクセス関数
QVector3D | implicitMinPoint() const |
ノーティファイアシグナル:
void | implicitMinPointChanged(const QVector3D &implicitMinPoint) |
[read-only]
implicitPointsValid : const bool
* * ビューが割り当てられ、暗黙のエクステント・プロパティが最新であれば真。* *
アクセス関数:
bool | areImplicitPointsValid() const |
アクセス関数:ノーティファイア・シグナル:
void | implicitPointsValidChanged(bool implicitPointsValid) |
updateImplicitBoundsも参照してください 。
maxPoint : QVector3D
* ユーザが指定した境界ボリュームの最大エクステント。最小エクステントとともに)設定されると、ジオメトリからボリュームの計算を避けるために内部的に使用されます。
アクセス関数:
QVector3D | maxPoint() const |
void | setMaxPoint(const QVector3D &maxPoint) |
通知シグナル:
void | maxPointChanged(QVector3D maxPoint) |
minPoint : QVector3D
* バウンディング・ボリュームのユーザー指定最小範囲。(最大エクステントと共に)設定された場合、これはジオメトリからボリュームの計算を避けるために内部的に使用されます。
アクセス関数:
QVector3D | minPoint() const |
void | setMinPoint(const QVector3D &minPoint) |
通知シグナル:
void | minPointChanged(QVector3D minPoint) |
view : QGeometryView*
* 設定されている場合、外接ボリュームの計算に使用されるQGeometryView のインスタンスへのポインタを保持します。
アクセス関数
Qt3DCore::QGeometryView * | view() const |
void | setView(Qt3DCore::QGeometryView *view) |
ノーティファイアシグナル:
void | viewChanged(Qt3DCore::QGeometryView *view) |
メンバ関数ドキュメント
[explicit]
QBoundingVolume::QBoundingVolume(Qt3DCore::QNode *parent = nullptr)
parent で新しいQBoundingVolumeを構築する。
[slot]
bool QBoundingVolume::updateImplicitBounds()
* 指定されたビューの暗黙の境界を更新します。計算が成功した場合はtrue
を、そうでない場合は false を返します。* *
注意: 計算は呼び出しスレッドで行われるため、大きなメッシュではかなりの時間がかかる可能性があります。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。