This is the BoundBox export class Base.BoundBox class. This class represents a bounding box. A bounding box is a rectangular cuboid which is a way to describe outer boundaries and is obtained from a lot of 3D types. It is often used to check if a 3D entity lies in the range of another object. Checking for bounding interference first can save a lot of computing time! An invalid BoundBox is represented by inconsistent values at each direction: The maximum float value of the system at the minimum coordinates, and the opposite value at the maximum coordinates. The following constructors are supported: BoundBox() Empty constructor. Returns an invalid BoundBox. BoundBox(boundBox) Copy constructor. boundBox : Base.BoundBox BoundBox(xMin, yMin=0, zMin=0, xMax=0, yMax=0, zMax=0) Define from the minimum and maximum values at each direction. xMin : float Minimum value at x-coordinate. yMin : float Minimum value at y-coordinate. zMin : float Minimum value at z-coordinate. xMax : float Maximum value at x-coordinate. yMax : float Maximum value at y-coordinate. zMax : float Maximum value at z-coordinate. App.BoundBox(min, max) Define from two containers representing the minimum and maximum values of the coordinates in each direction. min : Base.Vector, tuple Minimum values of the coordinates. max : Base.Vector, tuple Maximum values of the coordinates. setVoid() -> None Invalidate the bounding box. isValid() -> bool Checks if the bounding box is valid. add(minMax) -> None add(x, y, z) -> None Increase the maximum values or decrease the minimum values of this BoundBox by replacing the current values with the given values, so the bounding box can grow but not shrink. minMax : Base.Vector, tuple Values to enlarge at each direction. x : float Value to enlarge at x-direction. y : float Value to enlarge at y-direction. z : float Value to enlarge at z-direction. getPoint(index) ->Base.Vector Get the point of the given index. The index must be in the range of [0, 7]. index : int getEdge(index) -> tuple of Base.Vector Get the edge points of the given index. The index must be in the range of [0, 11]. index : int closestPoint(point) -> Base.Vector closestPoint(x, y, z) -> Base.Vector Get the closest point of the bounding box to the given point. point : Base.Vector, tuple Coordinates of the given point. x : float X-coordinate of the given point. y : float Y-coordinate of the given point. z : float Z-coordinate of the given point. intersect(boundBox2) -> bool intersect(base, dir) -> bool Checks if the given object intersects with this bounding box. That can be another bounding box or a line specified by base and direction. boundBox2 : Base.BoundBox base : Base.Vector, tuple dir : Base.Vector, tuple intersected(boundBox2) -> Base.BoundBox Returns the intersection of this and the given bounding box. boundBox2 : Base.BoundBox united(boundBox2) -> Base.BoundBox Returns the union of this and the given bounding box. boundBox2 : Base.BoundBox enlarge(variation) -> None Decrease the minimum values and increase the maximum values by the given value. A negative value shrinks the bounding box. variation : float getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector Calculate the intersection point of a line with the bounding box. The base point must lie inside the bounding box, if not an exception is thrown. base : Base.Vector Base point of the line. dir : Base.Vector Direction of the line. epsilon : float Bounding box size tolerance. move(displacement) -> None move(x, y, z) -> None Move the bounding box by the given values. displacement : Base.Vector, tuple Displacement at each direction. x : float Displacement at x-direction. y : float Displacement at y-direction. z : float Displacement at z-direction. scale(factor) -> None scale(x, y, z) -> None Scale the bounding box by the given values. factor : Base.Vector, tuple Factor scale at each direction. x : float Scale at x-direction. y : float Scale at y-direction. z : float Scale at z-direction. transformed(matrix) -> Base.BoundBox Returns a new BoundBox containing the transformed rectangular cuboid represented by this BoundBox. matrix : Base.Matrix Transformation matrix. isCutPlane(base, normal) -> bool Check if the plane specified by base and normal intersects (cuts) this bounding box. base : Base.Vector normal : Base.Vector isInside(object) -> bool isInside(x, y, z) -> bool Check if a point or a bounding box is inside this bounding box. object : Base.Vector, Base.BoundBox Object to check if it is inside this bounding box. x : float X-coordinate of the point to check. y : float Y-coordinate of the point to check. z : float Z-coordinate of the point to check. Center point of the bounding box. The maximum x boundary position. The maximum y boundary position. The maximum z boundary position. The minimum x boundary position. The minimum y boundary position. The minimum z boundary position. Length of the bounding box in x direction. Length of the bounding box in y direction. Length of the bounding box in z direction. Diagonal length of the bounding box.