# BoundingBox struct

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[StructLayout(LayoutKind.Sequential, Pack = 8, Size = 48)]
[Serializable]
public struct BoundingBox : ICloneable
```

Represents the value of two points in a bounding box defined by the two extreme corner points.

This box is therefore aligned to the world X, Y and Z axes.

## Constructors

- [BoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/ctor.md): (4 overloads) Constructs a bounding box from numeric extremes.

## Properties

- [Area](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/area.md): Gets the area of this BoundingBox.
- [Center](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/center.md): Gets the point in the center of the bounding box.
- [Diagonal](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/diagonal.md): Gets the diagonal vector of this BoundingBox. The diagonal connects the Min and Max points.
- [Empty](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/empty.md): (static) Gets an [Empty] bounding box. An Empty box is an invalid structure that has negative width.
- [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/isvalid.md): Gets a value that indicates whether or not this bounding box is valid. Empty boxes are not valid, and neither are boxes with unset points.
- [Max](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/max.md): Gets or sets the point in the maximal corner.
- [Min](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/min.md): Gets or sets the point in the minimal corner.
- [Unset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/unset.md): (static) Gets a bounding box that has Unset coordinates for Min and Max.
- [Volume](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/volume.md): Gets the volume of this BoundingBox.

## Methods

- [ClosestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/closestpoint.md): (2 overloads) Finds the closest point on or in the bounding box.
- [Contains](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/contains.md): (4 overloads) Determines whether this bounding box contains another bounding box. The user can choose how to treat bounding boxes with coincident surfaces.
- [Corner](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/corner.md): Gets one of the eight corners of the box.
- [FurthestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/furthestpoint.md): Finds the furthest point on the Box.
- [GetCorners](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/getcorners.md): Gets an array filled with the 8 corner points of this box. See remarks for the return order.
- [GetEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/getedges.md): Gets an array of the 12 edges of this box.
- [Inflate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/inflate.md): (2 overloads) Inflates the box with equal amounts in all directions. Inflating with negative amounts may result in decreasing boxes. Invalid boxes can not be inflated.
- [Intersection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/intersection.md): (static) Computes the intersection of two bounding boxes.
- [IsDegenerate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/isdegenerate.md): Determines whether a bounding box is degenerate (flat) in one or more directions.
- [IsDisjoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/isdisjoint.md): (2 overloads) Determines whether this bounding box and another bounding box are disjoint, that is, whether they do not intersect, allowing a tolerance for the comparison.
- [MakeValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/makevalid.md): Ensures that the box is defined in an increasing fashion along X, Y and Z axes. If the Min or Max points are unset, this function will not change the box.
- [MaximumDistanceTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/maximumdistanceto.md): Finds the largest distance between this bounding box and a test point.
- [MinimumDistanceTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/minimumdistanceto.md): Finds the shortest distance between this bounding box and a test point.
- [PointAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/pointat.md): Evaluates the bounding box with normalized parameters. The box has idealized side length of 1x1x1.
- [ICloneable.Clone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/system-icloneable-clone.md)
- [ToBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/tobrep.md): Constructs a [Brep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep.md) representation of this bounding box.
- [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/tostring.md): Constructs the string representation of this aligned bounding box.
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/transform.md): Updates this bounding box to be the smallest axis aligned bounding box that contains the transformed result of its 8 original corner points.
- [Union](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox/union.md): (4 overloads) Returns a new BoundingBox that represents the union of boxes a and b.
