# MeshPrincipalCurvatureList class

Namespace: [Rhino.Geometry.Collections](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.collections.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md) · Since v9.0

```cs
public class MeshPrincipalCurvatureList : IResizableList<SurfaceCurvature>, IList, IReadOnlyList<SurfaceCurvature>
```

Provides access to the principal curvatures of a mesh object.

## Properties

- [Capacity](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/capacity.md): Gets or sets the total number of principal curvatures the internal data structure can hold without resizing.
- [Count](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/count.md): Gets or sets the number of principal curvatures.
- [ICollection<SurfaceCurvature>.IsReadOnly](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-icollection-rhino-geometry-surfacecurvature-isreadonly.md)
- [ICollection.IsSynchronized](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-icollection-issynchronized.md)
- [ICollection.SyncRoot](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-icollection-syncroot.md)
- [IList.IsFixedSize](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-isfixedsize.md)
- [IList.IsReadOnly](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-isreadonly.md)

## Indexers

- [IList.this[]](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-this.md)
- [this[]](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/item.md): Gets or sets the principal curvature at the given index.

## Methods

- [Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/add.md): Adds a new principal curvature to the end of the principal curvature list.
- [Clear](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/clear.md): Clears the principal curvature list on the mesh.
- [Destroy](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/destroy.md): Releases all memory allocated to store principal curvatures. The list capacity will be 0 after this call. Subsequent calls can add new items.
- [GetCurvatureStats](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/getcurvaturestats.md): Gets the mesh's curvature statistics.
- [GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/getenumerator.md): Gets an enumerator that yields all principal curvatures in this collection.
- [SetSurfaceCurvature](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/setsurfacecurvature.md): Sets or adds a principal curvature to the principal curvature iist. If [index] is less than [Count], the existing principal curvature at [index] will be modified. If [index] equals [Count], a new principal curvature is appended to the end of the principal curvature list. If [index] is larger than [Count], the function will return false.
- [ICollection<SurfaceCurvature>.Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-icollection-rhino-geometry-surfacecurvature-add.md)
- [ICollection<SurfaceCurvature>.Contains](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-icollection-rhino-geometry-surfacecurvature-contains.md)
- [ICollection<SurfaceCurvature>.CopyTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-icollection-rhino-geometry-surfacecurvature-copyto.md)
- [ICollection<SurfaceCurvature>.Remove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-icollection-rhino-geometry-surfacecurvature-remove.md)
- [IList<SurfaceCurvature>.IndexOf](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-ilist-rhino-geometry-surfacecurvature-indexof.md)
- [IList<SurfaceCurvature>.Insert](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-ilist-rhino-geometry-surfacecurvature-insert.md)
- [IList<SurfaceCurvature>.RemoveAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-generic-ilist-rhino-geometry-surfacecurvature-removeat.md)
- [ICollection.CopyTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-icollection-copyto.md)
- [IEnumerable.GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ienumerable-getenumerator.md)
- [IList.Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-add.md)
- [IList.Contains](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-contains.md)
- [IList.IndexOf](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-indexof.md)
- [IList.Insert](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-insert.md)
- [IList.Remove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-remove.md)
- [IList.RemoveAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.collections.meshprincipalcurvaturelist/system-collections-ilist-removeat.md)
