このページでは

Qt3DCore::QBoundingVolume Class

class Qt3DCore::QBoundingVolume

エンティティのバウンディングボリュームを上書きするために使用できます。詳細...

ヘッダー: #include <Qt3DCore/QBoundingVolume>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
以下のように: Qt 6.0 以降
QML での使用開始: BoundingVolume
継承元: Qt3DCore::QComponent
継承元:

Qt3DRender::QGeometryRenderer およびQt3DRender::QPickingProxy

ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

プロパティ

パブリック関数

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 は、ジオメトリの範囲がアプリケーション側で既知の場合に使用でき、Qt 3D がそれを計算する必要がなくなります。

バウンディングボリュームは、最小および最大の範囲座標として、あるいはレンダリングされるメッシュを近似した、通常はより単純な別のジオメトリとして指定することができます。

最小および最大範囲を使用する場合、これらはジオメトリのローカル座標系において、軸整合バウンディングボックスの対角にある角とみなされます。

QBoundingVolume を使用すると、GeometryView の計算済みバウンディングボリュームを照会することもできます。ジオメトリが変更されると、implicitMinPoint およびimplicitMaxPoint プロパティが更新されます。これはバックグラウンドスレッド上で非同期に行われるため、これらの値を読み取る前にimplicitPointsValid の値を確認する必要があります。

updateImplicitBounds を呼び出すことで、暗黙の範囲を強制的に更新することができます。この場合、結果が利用可能になるまで呼び出しスレッドでブロックされます。

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

プロパティのドキュメント

[read-only] implicitMaxPoint : QVector3D

* * * 指定されたビューから計算されたバウンディングボリュームの最大範囲を保持します。

アクセス関数:

QVector3D implicitMaxPoint() const

通知信号:

void implicitMaxPointChanged(const QVector3D &implicitMaxPoint)

[read-only] implicitMinPoint : QVector3D

* * * 指定されたビューから計算されたバウンディングボリュームの最小範囲を保持します。

アクセス関数:

QVector3D implicitMinPoint() const

通知信号:

void implicitMinPointChanged(const QVector3D &implicitMinPoint)

[read-only] implicitPointsValid : 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 を返します。 * *

注:計算は 呼び出しスレッドで行われるため、* メッシュが大きい場合、かなりの時間がかかる可能性があります。

© 2026 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.