# Grasshopper2.Types.Assistant namespace

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

## Interfaces

- [ICurve](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.icurve.md): A curve and assistant pair, exposing the standard functionality through a single object.
- [ICurveAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.icurveassistant.md): Base interface for curve-like type assistants. Do not implement this interface from scratch, instead inherit from CurveAssistant.
- [ISurfaceAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.isurfaceassistant.md): Base interface for surface-like type assistants. Do not implement this interface from scratch, instead inherit from SurfaceAssistant.
- [ITypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant.md): Non-generic bare-bones interface for type assistants.
- [ITypeAssistant<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant-1.md): Base interface for type assistants. Do not implement this interface from scratch, instead inherit from TypeAssistant<T>.
- [ITypeModifier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypemodifier.md): Interface for modifiers that can be invoked from parameters.
- [ITypeModifier<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypemodifier-1.md): Generic extension of ITypeModifier.
- [IValueDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.ivaluedisplay.md): Base interface for all displayable data on the canvas. The display proxy is used to show values inside data panels and possibly other UI contexts in the future as well.

## Classes

- [CurveAssistant<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.curveassistant-1.md): Specific assistant for curve like types.
- [DefaultValueDisplay<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.defaultvaluedisplay-1.md): Gets the default display proxy for data. The default display assumes the existence of a primary and optional secondary textual description of a value.
- [SlowPrimaryTextAttribute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.slowprimarytextattribute.md): Attach this attribute to a [ITypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant.md) class to indicate that the [ITypeAssistant.DescribePrimary(IPear)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant/describeprimary.md) method is potentially slow and must be called on a separate thread.
- [SlowSecondaryTextAttribute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.slowsecondarytextattribute.md): Attach this attribute to a [ITypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant.md) class to indicate that the [ITypeAssistant.DescribeSecondary(IPear)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant/describesecondary.md) method is potentially slow and must be called on a separate thread.
- [SurfaceAssistant<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.surfaceassistant-1.md): Specific assistant for surface like types.
- [TypeAssistant<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistant-1.md): Fundamental abstract, generic implementation of ITypeAssistant. Inherit from this class if you wish to provide functionality for a specific type.
- [TypeAssistantExtensionMethods](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistantextensionmethods.md): Extension methods for [ITypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant.md) implementations.
- [TypeAssistantServer](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typeassistantserver.md): Provides static methods for registering and retrieving type assistants.
- [TypeModifier<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.typemodifier-1.md): Basic implementation of the generic ITypeModifier interface.
- [ValueDisplayFrame](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.valuedisplayframe.md): A collection of layout frames for drawing data proxies.

## Structs

- [CurveExtension](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.curveextension.md): Describes the extension length and kind for curve ends.
- [Discontinuity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.discontinuity.md): A parameter+discontinuity order pairing for curve discontinuities.
- [DisplayHeight](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.displayheight.md): Describes the minimum height of an entry in a data panel. Entries may be drawn taller if they need to be aligned with elements in adjacent columns.

## Enums

- [CurvePlaneOrientation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.curveplaneorientation.md): Enumerates the possible orientations for curve flipping with respect to a guide plane.
- [DiscontinuityLevel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.discontinuitylevel.md): Enumerates the various curve discontinuities Grasshopper deals with.
- [LinkResult](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.linkresult.md): Outcomes of relinking a referenced value to its object in the Rhino document.
