Class: QgsBox3D

class qgis.core.QgsBox3D

Bases: sip.wrapper

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

QgsRectangle

QgsBox3D(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) Constructor for QgsBox3D which accepts the ranges of x/y/z coordinates. If normalize is False then the normalization step will not be applied automatically.

QgsBox3D(a0: QgsBox3D)

Methods

center

Returns the center of the box as a vector.

combineWith

Expands the bbox so that it covers both the original rectangle and the given rectangle.

contains

Returns True when box contains other box.

corners

Returns an array of all box corners as 3D vectors.

depth

Returns the depth of the box.

distanceTo

Returns the smallest distance between the box and the point point (returns 0 if the point is inside the box)

height

Returns the height of the box.

intersect

Returns the intersection of this box and another 3D box.

intersects

Returns True if box intersects with another box.

is2d

Returns True if the box can be considered a 2-dimensional box, i.e. it has equal minimum and maximum z values.

is3D

Returns True if the box can be considered a 3-dimensional box, i.e. it has valid minimum and maximum z values.

isEmpty

Returns True if the box is empty.

isNull

Test if the box is null (holding no spatial information).

normalize

Normalize the box so it has non-negative width/height/depth.

scale

Scale the rectangle around a center QgsPoint.

setNull

Mark a box as being null (holding no spatial information).

setXMaximum

Sets the maximum x value.

setXMinimum

Sets the minimum x value.

setYMaximum

Sets the maximum y value.

setYMinimum

Sets the minimum y value.

setZMaximum

Sets the maximum z value.

setZMinimum

Sets the minimum z value.

toRectangle

Converts the box to a 2D rectangle.

toString

Returns a string representation of form xmin,ymin,zmin : xmax,ymax,zmax Coordinates will be truncated to the specified precision.

volume

Returns the volume of the box.

width

Returns the width of the box.

xMaximum

Returns the maximum x value.

xMinimum

Returns the minimum x value.

yMaximum

Returns the maximum y value.

yMinimum

Returns the minimum y value.

zMaximum

Returns the maximum z value.

zMinimum

Returns the minimum z value.

Attributes

staticMetaObject

center(self) QgsVector3D

Returns the center of the box as a vector.

Added in version 3.34.

Return type:

QgsVector3D

combineWith(self, box: QgsBox3D)

Expands the bbox so that it covers both the original rectangle and the given rectangle.

Added in version 3.34.

combineWith(self, x: float, y: float, z: float) Expands the bbox so that it covers both the original rectangle and the given point.

Added in version 3.34.

Parameters:

box (QgsBox3D)

contains(self, other: QgsBox3D) bool

Returns True when box contains other box.

contains(self, point: QgsPoint) -> bool Returns True when box contains a point.

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.

contains(self, x: float, y: float, z: float) -> bool Returns True when box contains a point (x, y, z). A point on the border of the box will also return True

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.

Added in version 3.34.

Parameters:

other (QgsBox3D)

Return type:

bool

corners(self) List[QgsVector3D]

Returns an array of all box corners as 3D vectors.

Return type:

List[QgsVector3D]

depth(self) float

Returns the depth of the box.

See also

width()

See also

height()

Return type:

float

distanceTo(self, point: QVector3D) float

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

height(self) float

Returns the height of the box.

See also

width()

See also

depth()

Return type:

float

intersect(self, other: QgsBox3D) QgsBox3D

Returns the intersection of this box and another 3D box.

Parameters:

other (QgsBox3D)

Return type:

QgsBox3D

intersects(self, other: QgsBox3D) bool

Returns True if box intersects with another box.

Parameters:

other (QgsBox3D)

Return type:

bool

is2d(self) bool

Returns True if 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

Returns True if 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 returns False.

Added in version 3.34.

Return type:

bool

isEmpty(self) bool

Returns True if 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

Test if the box is null (holding no spatial information).

A null box is also an empty box.

See also

setNull()

Added in version 3.34.

Return type:

bool

normalize(self)

Normalize the box so it has non-negative width/height/depth.

scale(self, scaleFactor: float, center: QgsPoint = QgsPoint())

Scale the rectangle around a center QgsPoint.

If no center point is specified then the current center of the box will be used.

Added in version 3.26.

scale(self, scaleFactor: float, centerX: float, centerY: float, centerZ: float) Scale the rectangle around a center coordinates.

Added in version 3.26.

Parameters:
  • scaleFactor (float)

  • center (QgsPoint = QgsPoint())

setNull(self)

Mark a box as being null (holding no spatial information).

Added in version 3.34.

setXMaximum(self, x: float)

Sets the maximum x value.

See also

xMaximum()

See also

setXMinimum()

Parameters:

x (float)

setXMinimum(self, x: float)

Sets the minimum x value.

See also

xMinimum()

See also

setXMaximum()

Parameters:

x (float)

setYMaximum(self, y: float)

Sets the maximum y value.

See also

yMaximum()

See also

setYMinimum()

Parameters:

y (float)

setYMinimum(self, y: float)

Sets the minimum y value.

See also

yMinimum()

See also

setYMaximum()

Parameters:

y (float)

setZMaximum(self, z: float)

Sets the maximum z value.

See also

zMaximum()

See also

setZMinimum()

Parameters:

z (float)

setZMinimum(self, z: float)

Sets the minimum z value.

See also

zMinimum()

See also

setZMaximum()

Parameters:

z (float)

staticMetaObject = <PyQt5.QtCore.QMetaObject object>
toRectangle(self) QgsRectangle

Converts the box to a 2D rectangle.

Return type:

QgsRectangle

toString(self, precision: int = 16) str

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

volume(self) float

Returns the volume of the box.

Return type:

float

width(self) float

Returns the width of the box.

See also

height()

See also

depth()

Return type:

float

xMaximum(self) float

Returns the maximum x value.

See also

setXMaximum()

See also

xMinimum()

Return type:

float

xMinimum(self) float

Returns the minimum x value.

See also

setXMinimum()

See also

xMaximum()

Return type:

float

yMaximum(self) float

Returns the maximum y value.

See also

setYMaximum()

See also

yMinimum()

Return type:

float

yMinimum(self) float

Returns the minimum y value.

See also

setYMinimum()

See also

yMaximum()

Return type:

float

zMaximum(self) float

Returns the maximum z value.

See also

setZMaximum()

See also

zMinimum()

Return type:

float

zMinimum(self) float

Returns the minimum z value.

See also

setZMinimum()

See also

zMaximum()

Return type:

float