# PointN 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 PointN : IDimensional, IEquatable<PointN>, IComparable<PointN>
```

Represents a single immutable n-dimensional point.

## Constructors

- [PointN](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/ctor.md): (2 overloads) Create a new multi-dimensional point.

## Properties

- [Description](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/description.md): Gets a description of this object type.
- [Dimensionality](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/dimensionality.md): Gets the dimensionality of this object instance.
- [IsInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/isinfinite.md): Gets whether this point is infinite. If the coordinates contain even a single Infinity value, the point is considered to be at infinity. This test is fast.
- [IsLarge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/islarge.md): Gets whether this point contains any coordinates that are considered large enough to be problematic for arithmetical operations. Infinities are not counted as big numbers. This test is fast.
- [IsNegative](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/isnegative.md): Gets whether this point contains any negative coordinates. Zero is not counted as a negative number. This test is fast.
- [IsOrigin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/isorigin.md): Gets whether this point represents the origin. All coordinates must be exactly equal to zero for a point to be considered the origin. This test is fast.
- [IsPositive](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/ispositive.md): Gets whether this point contains any positive coordinates. Zero is not counted as a positive number. This test is fast.
- [IsUnit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/isunit.md): Gets whether this point resides on or near the unit hypersphere. This test is fast.
- [IsUnset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/isunset.md): Gets whether this point is unset. If the coordinates contain even a single NaN value, the point is considered to be unset. This test is fast.
- [IsZero](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/iszero.md): Gets whether this point contains any coordinates that are exactly zero. This test is fast.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/item.md): Gets the component of this point for the given axis.

## Methods

- [CompareTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/compareto.md): Compare two PointNs for sort order.
- [CreateInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/createinfinite.md): (static) Create a new point of a specific dimensionality at infinity.
- [CreateOrigin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/createorigin.md): (static) Create a new origin point of a specific dimensionality.
- [CreateUnset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/createunset.md): (static) Create a new unset point of a specific dimensionality.
- [Distance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/distance.md): Compute the distance between two points.
- [Equals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/equals.md): (2 overloads) Indicates whether this instance and a specified object are equal.
- [GetHashCode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/gethashcode.md): Returns the hash code for this instance.
- [Quadrance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/quadrance.md): Compute the quadrance between two points.
- [ToArray](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/toarray.md): Convert the coordinates to a double array.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/tostring.md): Returns the fully qualified type name of this instance.

## Operators

- [operator +](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/op-addition.md): (static) Add two multi-dimensional points together.
- [operator /](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/op-division.md): (static) Divide a point by a factor.
- [operator *](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/op-multiply.md): (static) Multiply a point by a factor.
- [operator -](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.clustering.pointn/op-subtraction.md): (static) Subtract two multi-dimensional points. If the points do not share their dimensionality, the results will be meaningless and exceptions may be thrown.
