# ComponentIndex 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
[StructLayout(LayoutKind.Sequential, Pack = 4, Size = 8)]
[Serializable]
public struct ComponentIndex : IEquatable<ComponentIndex>, IComparable<ComponentIndex>
```

Represents an index of an element contained in another object.

## Constructors

- [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/ctor.md): Construct component index with a specific type/index combination

## Properties

- [ComponentIndexType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/componentindextype.md): The interpretation of Index depends on the Type value. Type m_index interpretation (0 based indices) no_type used when context makes it clear what array is being index brep_vertex Brep.m_V[] array index brep_edge Brep.m_E[] array index brep_face Brep.m_F[] array index brep_trim Brep.m_T[] array index brep_loop Brep.m_L[] array index mesh_vertex Mesh.m_V[] array index meshtop_vertex MeshTopology.m_topv[] array index meshtop_edge MeshTopology.m_tope[] array index mesh_face Mesh.m_F[] array index idef_part InstanceDefinition.m_object_uuid[] array index polycurve_segment PolyCurve::m_segment[] array index dim_linear_point LinearDimension2::POINT_INDEX dim_radial_point RadialDimension2::POINT_INDEX dim_angular_point AngularDimension2::POINT_INDEX dim_ordinate_point OrdinateDimension2::POINT_INDEX dim_text_point TextEntity2 origin point.
- [Index](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/index.md): The interpretation of m_index depends on the m_type value. m_type m_index interpretation (0 based indices) no_type used when context makes it clear what array is being index brep_vertex Brep.m_V[] array index brep_edge Brep.m_E[] array index brep_face Brep.m_F[] array index brep_trim Brep.m_T[] array index brep_loop Brep.m_L[] array index mesh_vertex Mesh.m_V[] array index meshtop_vertex MeshTopology.m_topv[] array index meshtop_edge MeshTopology.m_tope[] array index mesh_face Mesh.m_F[] array index idef_part InstanceDefinition.m_object_uuid[] array index polycurve_segment PolyCurve::m_segment[] array index dim_linear_point LinearDimension2::POINT_INDEX dim_radial_point RadialDimension2::POINT_INDEX dim_angular_point AngularDimension2::POINT_INDEX dim_ordinate_point OrdinateDimension2::POINT_INDEX dim_text_point TextEntity2 origin point.
- [IsSet](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/isset.md): True if [ComponentIndex.ComponentIndexType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/componentindextype.md) is set to a value between [ComponentIndexType.BrepVertex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindextype.md) and [ComponentIndexType.DimLeaderPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindextype.md).
- [Unset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/unset.md): (static) The unset value of component index.

## Methods

- [CompareTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/compareto.md): Compares this [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) with another [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md).
- [Equals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/equals.md): (2 overloads) Determines whether the specified [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) is equal to the current [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md), comparing by value.
- [GetHashCode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/gethashcode.md): Computes the hash code for this [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) object.
- [IsUnset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/isunset.md): Return true is this component index is the same as the Unset component index

## Operators

- [operator ==](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-equality.md): (static) Determines whether two ComponentIndexes have equal values.
- [operator >](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-greaterthan.md): (static) Determines whether the first [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) comes after the second.
- [operator >=](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-greaterthanorequal.md): (static) Determines whether the first [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) comes after the second, or it is equal to it.
- [operator !=](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-inequality.md): (static) Determines whether two ComponentIndexes have different values.
- [operator <](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-lessthan.md): (static) Determines whether the first [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) comes before the second.
- [operator <=](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex/op-lessthanorequal.md): (static) Determines whether the first [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.componentindex.md) comes before the second, or it is equal to it.
