QBoundingVolume

can be used to override the bounding volume of an entity. More

Inheritance diagram of PySide6.Qt3DCore.Qt3DCore.QBoundingVolume

Inherited by: QPickingProxy, QGeometryRenderer, QMesh, QTorusMesh, QSphereMesh, QPlaneMesh, QExtrudedTextMesh, QCylinderMesh, QCuboidMesh, QConeMesh

New in version 6.0.

Synopsis

Functions

Slots

Signals

Detailed Description

An entity’s bounding volume is used for many operations such as picking or view frustum culling. It is normally computed by traversing the rendered geometry.

QBoundingVolume can be used when the extent of the geometry is known to the application so that Qt 3D does not have to compute it.

A bounding volume can be provided either as minimum and maximum extent coordinates, or a separate, usually simpler, geometry that approximates the rendered mesh.

When using minimum and maximum extents, these are considered to be the opposite corners of an axis aligned bounding box, in the geometry’s local coordinate system.

QBoundingVolume can also be used to query the computed bounding volume of a GeometryView . The implicitMinPoint and implicitMaxPoint properties will be updated if the geometry changes. Note that this is done asynchronously on a background thread so you should check the value of implicitPointsValid before reading them.

You can force the implicit extents to be updated by calling updateImplicitBounds . This will block on the calling thread until the results are available.

Note

GeometryRenderer inherits BoundingVolume and thus supports reading implicit bounds or setting explicit bounds also.

class PySide6.Qt3DCore.Qt3DCore.QBoundingVolume([parent=None])
Parameters

parentPySide6.Qt3DCore.Qt3DCore.QNode

Constructs a new QBoundingVolume with parent.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.areImplicitPointsValid()
Return type

bool

* * * True if a view has been assigned and the implicit extent properties are up to date. * *

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.implicitMaxPoint()
Return type

PySide6.QtGui.QVector3D

* * * Holds maximum extent of the bounding volume computed from the specified view.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.implicitMaxPointChanged(implicitMaxPoint)
Parameters

implicitMaxPointPySide6.QtGui.QVector3D

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.implicitMinPoint()
Return type

PySide6.QtGui.QVector3D

* * * Holds minimum extent of the bounding volume computed from the specified view.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.implicitMinPointChanged(implicitMinPoint)
Parameters

implicitMinPointPySide6.QtGui.QVector3D

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.implicitPointsValidChanged(implicitPointsValid)
Parameters

implicitPointsValid – bool

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.maxPoint()
Return type

PySide6.QtGui.QVector3D

* * * User specified maximum extent of the bounding volume. When set (along with minimum * extent), this will be used internally to avoid computing the volume from the * geometry.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.maxPointChanged(maxPoint)
Parameters

maxPointPySide6.QtGui.QVector3D

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.minPoint()
Return type

PySide6.QtGui.QVector3D

* * * User specified minimum extent of the bounding volume. When set (along with maximum * extent), this will be used internally to avoid computing the volume from the * geometry.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.minPointChanged(minPoint)
Parameters

minPointPySide6.QtGui.QVector3D

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.setMaxPoint(maxPoint)
Parameters

maxPointPySide6.QtGui.QVector3D

* * * User specified maximum extent of the bounding volume. When set (along with minimum * extent), this will be used internally to avoid computing the volume from the * geometry.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.setMinPoint(minPoint)
Parameters

minPointPySide6.QtGui.QVector3D

* * * User specified minimum extent of the bounding volume. When set (along with maximum * extent), this will be used internally to avoid computing the volume from the * geometry.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.setView(view)
Parameters

viewPySide6.Qt3DCore.Qt3DCore.QGeometryView

* * * Holds a pointer to the instance of QGeometryView which will be used, if set, * to compute the bounding volume.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.updateImplicitBounds()
Return type

bool

* Updates the implicit bounds of the specified view. Returns * true if the computation succeeded and false otherwise. * *

Note

The calculations are done in the call thread, this * could take significant time for large meshes.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.view()
Return type

PySide6.Qt3DCore.Qt3DCore.QGeometryView

* * * Holds a pointer to the instance of QGeometryView which will be used, if set, * to compute the bounding volume.

PySide6.Qt3DCore.Qt3DCore.QBoundingVolume.viewChanged(view)
Parameters

viewPySide6.Qt3DCore.Qt3DCore.QGeometryView