# Grasshopper2.Parameters namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Interfaces

- [IColourOverrideAwareParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.icolouroverrideawareparameter.md): Implement this interface in your parameter to show the colour override on the input panel, regardless of display capable state.
- [IDragAware](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.idragaware.md): Implement this interface in your Parameter type if you wish to participate in viewport dragging.
- [IParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter.md): Base interface for parameters. Never directly implement this interface, always inherit from [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md), [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md), or [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1.md) instead.
- [IParameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter-1.md): Generic extension to the IParameter interface for a specific type. Never directly implement this interface, always inherit from [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md), [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md), or [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1.md) instead.
- [IPin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipin.md): Interface exposing pin related functionality. This interface is implemented by the [Pin<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pin-1.md) class, you should derive from that abstract class rather the implementing [IPin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipin.md) yourself.
- [IPinCushion](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipincushion.md): Implement this interface in any IDocumentObject which accepts certain kinds of pins.
- [IPreset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipreset.md): Base interface for non-strongly typed presets.
- [IPresets](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipresets.md): Collection of named presets.

## Classes

- [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md): Absolute lowest implementation of IParameter, do not derive directly from this abstract class, instead consider the [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md) and [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1.md) classes as starting points.
- [ConnectionEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.connectioneventargs.md): Event arguments used in parameter addition and removal.
- [Connections](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.connections.md): Provides access to a list of parameters as well as static methods for connecting and disconnecting parameters. The only way for external code to create or remove connections is via the static methods on this class.
- [DragHit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.draghit.md): All the relevant data to do with a single ray-shape hit.
- [DragRay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.dragray.md): A ray in a viewport used for picking and dragging shapes in 3D.
- [ModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.modifiericons.md): Contains an ordered list of modifier icons which apply to a parameter.
- [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md): Parameter for weakly-typed data trees. Derive from this if you don't care what sort of data types this parameter stores.
- [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1.md): Abstract class containing a minimal implementation of IParameter[T].
- [Pin<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pin-1.md): Base class for all pins.
- [PinEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pineventargs.md): Arguments used in Pin change events.
- [Pins](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pins.md): Class for maintaining all pins stuck into a cushion.
- [Preset<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.preset-1.md): Strongly typed preset.
- [Presets<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.presets-1.md): Generic implementation of IPresets.

## Enums

- [Access](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.access.md): Enumerates the possible access levels parameters can have vis-a-vis their volatile data.
- [AccessVariability](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.accessvariability.md): Enumerates the various allowances for parameter Access levels.
- [Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.kind.md): Enumerates the possible manifestations of a parameter.
- [PinRepair](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pinrepair.md): Enumerates the possible repair methods for mismatched pin+cushion relationships.
- [PointKind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pointkind.md): Visual weight of a draggable handle point drawn as viewport dragging feedback.
- [Requirement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.requirement.md): Enumerates the kinds of requirements component input parameters have.
- [StateAspects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.stateaspects.md): Enumerates the various state aspects a parameter can have.
