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:

Qt3DRender::QGeometryRenderer and Qt3DRender::QPickingProxy

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 の計算されたバウンディングボリュームを照会するために使用することもできます。ジオメトリが変更されると、implicitMinPointimplicitMaxPoint プロパティが更新されます。これはバックグラウンドのスレッドで非同期に行われるため、implicitPointsValid の値を確認してから読み込む必要があります。

暗黙のエクステントを強制的に更新するには、updateImplicitBounds を呼び出します。これは、結果が利用可能になるまで、呼び出し元のスレッドでブロックされる。

注意: GeometryRendererBoundingVolume を継承しているため、暗黙的な境界の読み取りや明示的な境界の設定もサポートしています。

プロパティ・ドキュメンテーション

[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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。