# ControlPoint 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
[Serializable]
public struct ControlPoint : IEpsilonComparable<ControlPoint>, IEquatable<ControlPoint>
```

Represents control point geometry with three-dimensional position and weight.

## Constructors

- [ControlPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/ctor.md): (5 overloads) Constructs a new homogeneous control point, where the 4-D representation is (x, y, z, w). The world 3-D, or Euclidean, representation is (x/w, y/w, z/w).

## Properties

- [Location](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/location.md): Gets or sets world 3-D, or Euclidean location of the control point.
- [Unset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/unset.md): (static) Gets the predefined, unset control point.
- [Weight](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/weight.md): Gets or sets the weight of this control point.
- [X](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/x.md): Gets or sets the X coordinate of the control point.
- [Y](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/y.md): Gets or sets the Y coordinate of the control point.
- [Z](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/z.md): Gets or sets the Z coordinate of the control point.

## Methods

- [EpsilonEquals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/epsilonequals.md): Check that all values in other are within epsilon of the values in this
- [Equals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.controlpoint/equals.md): Determines if two points exactly match.
