Class: QgsBox3D¶
A 3-dimensional box composed of x, y, z coordinates.
A box composed of x/y/z minimum and maximum values. It is often used to return the 3D extent of a geometry or collection of geometries.
Note
In QGIS 3.34 this class was renamed from QgsBox3d to QgsBox3D. The old QgsBox3d name
remains available in PyQGIS for compatibility.
See also
Methods
Returns the area of the box.  | 
|
Returns the center of the box as a vector.  | 
|
Expands the bbox so that it covers both the original rectangle and the given rectangle.  | 
|
Returns   | 
|
Returns an array of all box corners as 3D vectors.  | 
|
Returns the depth of the box.  | 
|
Returns the smallest distance between the box and the point point (returns 0 if the point is inside the box)  | 
|
Returns the height of the box.  | 
|
Returns the intersection of this box and another 3D box.  | 
|
Returns   | 
|
Returns   | 
|
Returns   | 
|
Returns   | 
|
Test if the box is null (holding no spatial information).  | 
|
Normalize the box so it has non-negative width/height/depth.  | 
|
Scale the rectangle around a center   | 
|
Sets the box from a set of (x,y,z) minimum and maximum coordinates.  | 
|
Mark a box as being null (holding no spatial information).  | 
|
Sets the maximum x value.  | 
|
Sets the minimum x value.  | 
|
Sets the maximum y value.  | 
|
Sets the minimum y value.  | 
|
Sets the maximum z value.  | 
|
Sets the minimum z value.  | 
|
Converts the box to a 2D rectangle.  | 
|
Returns a string representation of form xmin,ymin,zmin : xmax,ymax,zmax Coordinates will be truncated to the specified precision.  | 
|
Returns the volume of the box.  | 
|
Returns the width of the box.  | 
|
Returns the maximum x value.  | 
|
Returns the minimum x value.  | 
|
Returns the maximum y value.  | 
|
Returns the minimum y value.  | 
|
Returns the maximum z value.  | 
|
Returns the minimum z value.  | 
- class qgis.core.QgsBox3D[source]¶
 Bases:
object- __init__(x: QgsPoint | QgsRectangle | float | None = Py_None, y: QgsPoint | float | None = Py_None, z: bool | float | None = Py_None, x2: bool | float | None = Py_None, y2: float | None = Py_None, z2: float | None = Py_None, n: bool | None = Py_None)
 Constructor for QgsBox3D which accepts the ranges of x/y/z coordinates. If
normalizeisFalsethen the normalization step will not be applied automatically.- Parameters:
 x (Optional[Union[
QgsPoint,QgsRectangle, float]] = Py_None)y (Optional[
QgsPoint, float] = Py_None)z (Optional[Union[bool, float]] = Py_None)
x2 (Optional[Union[bool, float]] = Py_None)
y2 (Optional[float] = Py_None)
z2 (Optional[float] = Py_None)
n (Optional[bool] = Py_None)
- center(self) QgsVector3D[source]¶
 Returns the center of the box as a vector.
Added in version 3.34.
- Return type:
 
- combineWith(self, box: QgsBox3D)[source]¶
 Expands the bbox so that it covers both the original rectangle and the given rectangle.
Added in version 3.34.
- Parameters:
 box (
QgsBox3D)
- combineWith(self, x: float, y: float, z: float)[source]
 Expands the bbox so that it covers both the original rectangle and the given point.
Added in version 3.34.
- Parameters:
 x (float)
y (float)
z (float)
- contains(self, other: QgsBox3D) bool[source]¶
 Returns
Truewhen box contains other box.- Parameters:
 other (
QgsBox3D)- Return type:
 bool
- contains(self, point: QgsPoint) bool[source]
 Returns
Truewhen box contains apoint.If the point is a 2D point (no z-coordinate), then the containment test will be performed on the x/y extent of the box only.
- Parameters:
 point (
QgsPoint)- Return type:
 bool
- contains(self, x: float, y: float, z: float) bool[source]
 Returns
Truewhen box contains a point (x,y,z). A point on the border of the box will also returnTrueIf the point is a 2D point (no z-coordinate), then the containment test will be performed on the x/y extent of the box only.
Added in version 3.34.
- Parameters:
 x (float)
y (float)
z (float)
- Return type:
 bool
- corners(self) List[QgsVector3D]¶
 Returns an array of all box corners as 3D vectors.
- Return type:
 List[QgsVector3D]
- distanceTo(self, point: QVector3D) float[source]¶
 Returns the smallest distance between the box and the point
point(returns 0 if the point is inside the box)Added in version 3.18.
- Parameters:
 point (QVector3D)
- Return type:
 float
- intersect(self, other: QgsBox3D) QgsBox3D[source]¶
 Returns the intersection of this box and another 3D box.
- intersects(self, other: QgsBox3D) bool[source]¶
 Returns
Trueif box intersects with another box.- Parameters:
 other (QgsBox3D)
- Return type:
 bool
- is2d(self) bool[source]¶
 Returns
Trueif the box can be considered a 2-dimensional box, i.e. it has equal minimum and maximum z values.- Return type:
 bool
- is3D(self) bool[source]¶
 Returns
Trueif the box can be considered a 3-dimensional box, i.e. it has valid minimum and maximum z values. If the box is not normalized, this returnsFalse.Added in version 3.34.
- Return type:
 bool
- isEmpty(self) bool[source]¶
 Returns
Trueif the box is empty. An empty box may still be non-null if it contains valid spatial information (e.g. bounding box of a point or of a vertical or horizontal segment).Added in version 3.34.
- Return type:
 bool
- isNull(self) bool[source]¶
 Test if the box is null (holding no spatial information).
A null box is also an empty box.
See also
Added in version 3.34.
- Return type:
 bool
- scale(self, scaleFactor: float, center: QgsPoint = QgsPoint())[source]¶
 Scale the rectangle around a
centerQgsPoint.If no
centerpoint is specified then the current center of the box will be used.Added in version 3.26.
- Parameters:
 scaleFactor (float)
center (
QgsPoint= QgsPoint())
- scale(self, scaleFactor: float, centerX: float, centerY: float, centerZ: float)[source]
 Scale the rectangle around a center coordinates.
Added in version 3.26.
- Parameters:
 scaleFactor (float)
centerX (float)
centerY (float)
centerZ (float)
- set(self, xMin: float, yMin: float, zMin: float, xMax: float, yMax: float, zMax: float, normalize: bool = True)[source]¶
 Sets the box from a set of (x,y,z) minimum and maximum coordinates.
Added in version 3.40.
- Parameters:
 xMin (float)
yMin (float)
zMin (float)
xMax (float)
yMax (float)
zMax (float)
normalize (bool = True)
- setNull(self)[source]¶
 Mark a box as being null (holding no spatial information).
Added in version 3.34.
- setXMaximum(self, x: float)[source]¶
 Sets the maximum
xvalue.See also
See also
- Parameters:
 x (float)
- setXMinimum(self, x: float)[source]¶
 Sets the minimum
xvalue.See also
See also
- Parameters:
 x (float)
- setYMaximum(self, y: float)[source]¶
 Sets the maximum
yvalue.See also
See also
- Parameters:
 y (float)
- setYMinimum(self, y: float)[source]¶
 Sets the minimum
yvalue.See also
See also
- Parameters:
 y (float)
- setZMaximum(self, z: float)[source]¶
 Sets the maximum
zvalue.See also
See also
- Parameters:
 z (float)
- setZMinimum(self, z: float)[source]¶
 Sets the minimum
zvalue.See also
See also
- Parameters:
 z (float)
- toRectangle(self) QgsRectangle[source]¶
 Converts the box to a 2D rectangle.
- Return type:
 
- toString(self, precision: int = 16) str[source]¶
 Returns a string representation of form xmin,ymin,zmin : xmax,ymax,zmax Coordinates will be truncated to the specified precision. If the specified precision is less than 0, a suitable minimum precision is used.
Added in version 3.34.
- Parameters:
 precision (int = 16)
- Return type:
 str