# Curve class

Namespace: [Grasshopper2.Types.Constraints](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.types.constraints.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class Curve
```

A general implementation of the kinds of curves that system edges can be. This includes lines, arcs, linear arcs, circular arcs and circles.

## Properties

- [Bounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/bounds.md): Gets the boundingbox of this curve.
- [Centre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/centre.md): Gets the centre point of this curve, assuming it's a circle or an arc.
- [Length](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/length.md): Gets the length of this curve.
- [Radius](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/radius.md): Gets the radius of this curve.
- [Type](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/type.md): Gets the type of this curve.

## Methods

- [Average](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/average.md): (static) Compute the average of a set of curves. They must all be of the same type.
- [ClosestPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/closestpoint.md): Gets a point on this curve closest to another point. This will yield the correct results for circles with infinite radius.
- [ComputeArc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/computearc.md): (static)
- [ComputeBulge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/computebulge.md): (2 overloads, static) Compute the bulge distance based on an arc.
- [ComputeBulgeFlexible](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/computebulgeflexible.md): (static) Compute the arc bulge factor based on three points.
- [ComputeMidPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/computemidpoint.md): (static) Compute the position of the midpoint.
- [CreateArc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/createarc.md): (2 overloads, static)
- [CreateCircle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/createcircle.md): (static)
- [CreateLine](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/createline.md): (static)
- [ParameterAt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/parameterat.md): Gets the normalised parameter closest to a point.
- [PointAt](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/pointat.md): Curve evaluator.

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.constraints.curve/op-implicit.md): (3 overloads, static)
