# BoxN struct

Namespace: [Grasshopper2.Geometry.Clustering](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.geometry.clustering.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public struct BoxN : IDimensional, IEquatable<BoxN>, IComparable<BoxN>
```

Represents an immutable n-dimensional rectangle.

## Constructors

- [BoxN](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/ctor.md): (2 overloads) Create a box from a set of boxes.

## Properties

- [Centre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/centre.md): Gets the centre of the box.
- [Description](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/description.md): Gets a description of this object type.
- [Dimensionality](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/dimensionality.md): Gets the dimensionality of this object instance.
- [IsInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/isinfinite.md): Gets whether this box is infinite. An infinite box must contain at least one infinite coordinate.
- [IsSingleton](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/issingleton.md): Gets whether this box occupies only a single point in space. Infinite and None boxes can never be singletons.
- [IsUnset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/isunset.md): Gets whether this box is unset. A box which contains at least one NaN value is considered unset.
- [LongestEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/longestedge.md): Gets the length of the shortest edge of this box.
- [Max](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/max.md): Gets the maximum point.
- [Min](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/min.md): Gets the minimum point.
- [ShortestEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/shortestedge.md): Gets the length of the shortest edge of this box.
- [Volume](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/volume.md): Gets the volume of this box.

## Methods

- [ClosestPointIn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/closestpointin.md): Gets the point in the volume of this box which is closest to a point.
- [ClosestPointOn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/closestpointon.md): Gets the point on the boundary of this box which is closest to a point.
- [CompareTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/compareto.md): Compare two PointNs for sort order.
- [Contains](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/contains.md): (2 overloads) Test whether this box contains another box. Note that two unset boxes are considered to contain each other.
- [CreateInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/createinfinite.md): (static) Create an infinite box.
- [CreateOrigin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/createorigin.md): (static) Create an empty box at the origin.
- [CreateUnit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/createunit.md): (static) Create a unit box at the origin.
- [CreateUnset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/createunset.md): (static) Create an unset box.
- [Equals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/equals.md): (2 overloads) Compare two BoxNs for equality.
- [FurthestPointOn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/furthestpointon.md): Gets the point on the boundary of this box which is furthest from another point.
- [GetHashCode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/gethashcode.md): Returns the hash code for this instance.
- [Grow](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/grow.md): (2 overloads) Grow this box to include another box.
- [Intersection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/intersection.md): (static) Compute the intersection of two boxes.
- [Intersects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/intersects.md): Test whether this box intersects with another box. Boxes are considered to intersect even if one of them entirely contains the other.
- [PointAt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/pointat.md): Evaluate the box at the specified parameters.
- [RandomPointIn](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/randompointin.md): Create a random point inside this box.
- [Split](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/split.md): split this box into two sub-boxes.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/tostring.md): Returns the fully qualified type name of this instance.
- [Union](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.boxn/union.md): (static) Compute the union of two boxes.
