# IGH_DataAccess interface

Namespace: [Grasshopper.Kernel](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public interface IGH_DataAccess
```

Provides access to component parameters, in order to retrieve and assign data during solutions.

## Properties

- [Iteration](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/iteration.md): Gets the current iteration count. The first time the SolveInstance() function is called on a component during a solution the Iteration counter will be zero. It will be incremented by one for every subsequent call.

## Methods

- [AbortComponentSolution](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/abortcomponentsolution.md): Call this method if you wish to stop solving this component.
- [BlitData<Q>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/blitdata.md): Creates a direct copy of an existing data structure. The existing generic instance must of the exact same type as the target parameter.
- [DisableGapLogic](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/disablegaplogic.md): (2 overloads) Call this function if you want to disable the gap null logic for the current iteration.
- [GetData<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/getdata.md): (2 overloads) Retrieve data from an input parameter during GH_Component.SolveInstance().
- [GetDataList<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/getdatalist.md): (2 overloads) Retrieve an entire list of data from an input parameter during GH_Component.SolveInstance().
- [GetDataTree<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/getdatatree.md): (2 overloads) Retrieve an entire data tree from an input parameter during GH_Component.SolveInstance().
- [IncrementIteration](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/incrementiteration.md): Increments the iteration count by 1.
- [ParameterTargetIndex](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/parametertargetindex.md): Get the target index for the specified output parameter.
- [ParameterTargetPath](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/parametertargetpath.md): Get the target path for the specified output parameter.
- [SetData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/setdata.md): (3 overloads) Expert user function. Stores data in an output parameter during GH_Component.SolveInstance(). Use this function only for setting individual data items. If you want to set lists of data, you *must* call SetDataList() instead.
- [SetDataList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/setdatalist.md): (3 overloads) Expert user function. Stores a list of data in an output parameter during GH_Component.SolveInstance().
- [SetDataTree](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/setdatatree.md): (2 overloads) Folds a utility tree representation into this tree.
- [Util_CountNonNullRefs<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/util-countnonnullrefs.md): Count all object references in L
- [Util_CountNullRefs<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/util-countnullrefs.md): Count all null references in L
- [Util_EnsureNonNullCount<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/util-ensurenonnullcount.md): Tests a list to see if it contains sufficient non-null references.
- [Util_FirstNonNullItem<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/util-firstnonnullitem.md): Returns the index of the first non-null item in a list.
- [Util_RemoveNullRefs<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess/util-removenullrefs.md): Remove all null references from a list of items.
