# CurveLocus struct

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

```cs
[IoId("00000000-11ac-438f-9612-6833666f90d0")]
public readonly struct CurveLocus : IStorable, IEquatable<CurveLocus>, IComparable<CurveLocus>
```

Represents a parameter or locus on or near a curve. This type replaces the simple numeric curve parameter as used in RhinoCommon and Grasshopper 1.0 with a more flexible and forgiving approach.

## Constructors

- [CurveLocus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/ctor.md)

## Properties

- [Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/kind.md): Gets the kind of locus this is.
- [Value](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/value.md): Gets the value of this locus. The type of value depends on the [CurveLocus.Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/kind.md).

## Methods

- [CompareTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/compareto.md)
- [Equals](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/equals.md): (2 overloads)
- [FromLength](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/fromlength.md): (static) Create a curve locus from a length value.
- [FromParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/fromparameter.md): (static) Create a curve locus from a curve parameter.
- [FromPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/frompoint.md): (static) Create a curve locus from a 3D point.
- [FromRatio](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/fromratio.md): (static) Create a curve locus from a normalised length ratio.
- [GetHashCode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/gethashcode.md)
- [IStorable.Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/grasshopperio-istorable-store.md)
- [ResolveToParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/resolvetoparameter.md): (9 overloads) Resolve this locus to an actual curve parameter.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/tostring.md): (2 overloads)
- [TryParse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/tryparse.md): (static)

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus/op-implicit.md): (2 overloads, static) Create a curve locus from a parameter.
