# Grasshopper.Kernel namespace

Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

## Interfaces

- [IGH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject.md): Base interface for all objects on the canvas that participate in solutions
- [IGH_Attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-attributes.md): Base interface for all Attributes. Attributes are the visual portion of GH_DocumentObjects. They handle display, mouse events, layout, context menus etc. etc. You should consider inheriting from GH_Attributes or some other abstract class instead of implementing this interface from scratch.
- [IGH_Author](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-author.md): Provides of collection of basic author details.
- [IGH_BakeAwareData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-bakeawaredata.md): Implement this interface in your IGH_Goo data type if you want to be included in baking operations.
- [IGH_BakeAwareObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-bakeawareobject.md): Implement this interface on your IGH_ActiveObject if you want to participate in the Bake GUI.
- [IGH_Component](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-component.md): Base interface for all GH_Component types. Do not implement this interface from scratch, inherit from GH_Component instead.
- [IGH_ContextualComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-contextualcomponent.md): Base interface for contextual components. This makes accessing non-strongly-typed functionality easier.
- [IGH_ContextualParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-contextualparameter.md): Base interface for contextual parameters. This makes accessing non-strongly-typed functionality easier.
- [IGH_ContextualParameter2](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-contextualparameter2.md): Version 2 of Base interface for contextual parameters. This makes accessing non-strongly-typed functionality easier.
- [IGH_DataAccess](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-dataaccess.md): Provides access to component parameters, in order to retrieve and assign data during solutions.
- [IGH_DebugDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-debugdescription.md): Implement this interface to participate in Debug Logging.
- [IGH_DocumentObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.md): Base interface for objects that want to play on the Canvas. Do not implement this interface from scratch. Either inherit from GH_DocumentObject or one of the other partially finished types such as GH_ActiveObject, GH_Param(Of T) or GH_Component.
- [IGH_DocumentOwner](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentowner.md): Implement this interface if you want to be the owner assigned to a document in the Grasshopper documentserver.
- [IGH_EventConsumer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-eventconsumer.md): Implement this interface if you want to inter-operate with a GH_EventServer.
- [IGH_InitCodeAware](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-initcodeaware.md): Implement this interface in your IGH_DocumentObject class if you want to handle initialization codes from Canvas Search boxes.
- [IGH_InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription.md): Base interface for all objects that participate in the Grasshopper GUI.
- [IGH_InstanceGuidDependent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instanceguiddependent.md): Implement this interface in your IGH_DocumentObject class if you want to be informed when the InstanceGuids of objects in the document are mutated.
- [IGH_ObjectProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-objectproxy.md): Provides proxy data for all Grasshopper components and parameters.
- [IGH_Param](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-param.md): Base interface for all Parameter types in Grasshopper. Do not implement this interface from scratch, derive from GH_Param or GH_PersistentParam instead.
- [IGH_ParamNameConstructor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-paramnameconstructor.md)
- [IGH_ParamWithPostProcess](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-paramwithpostprocess.md): Utility interface for GH_Param(Of T)
- [IGH_PreviewArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewargs.md): Preview display arguments for IGH_PreviewObjects.
- [IGH_PreviewData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewdata.md): All IGH_Goo types that wish to participate in Viewport redraws must implement this interface.
- [IGH_PreviewMeshData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewmeshdata.md): Implement this interface if your data deals with preview meshes.
- [IGH_PreviewObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject.md): All IGH_DocumentObjects that wish to participate in Viewport redraws must implement this interface.
- [IGH_ProxyParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-proxyparameter.md)
- [IGH_RenderAwareData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-renderawaredata.md): Implement this interface in your IGH_Goo type if it may have render geometry.
- [IGH_RenderAwareObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-renderawareobject.md): Implement this interface in your IGH_DocumentObject type if you wish to send geometry to a render queue.
- [IGH_ScriptInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-scriptinstance.md)
- [IGH_StateAwareObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-stateawareobject.md): Implement this interface if you want to be included in state saving/loading.
- [IGH_StateTag](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-statetag.md): A StateTag is a visual feedback mechanism that reflects a certain local setting of an Object.
- [IGH_TaskCapableComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-taskcapablecomponent.md): GH_Component that can choose to support the use of Tasks to compute solutions When UseTasks returns true, the component has it's SolveInstance enumeration called twice. The first pass (InPreSolve=True) is intended solely for collecting data and starting calculation tasks. The second pass (InPreSolve=False) takes results or the tasks and sets the output.
- [IGH_UpgradeObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-upgradeobject.md): Create a class with an empty constructor that implements this interface if you want to provide an upgrade mechanism.
- [IGH_UserPromptAware](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-userpromptaware.md): Implement this interface in your IGH_Param if you want to allow users to set data either through the menu or by double clicking.
- [IGH_ValueProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-valueproxy.md)
- [IGH_VariableParameterComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-variableparametercomponent.md): Implement this interface in your component if you want to enable variable parameter UI.
- [IGH_VarParamComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-varparamcomponent.md): This interface is obsolete, please use the IGH_VariableParameterComponent interface instead.
- [IGH_ZuiAction](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-zuiaction.md): Represents a single action which is only visible on screen above a certain zoom level.
- [IRcpAwareObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.ircpawareobject.md): Implement this interface in a parameter or component if you want to be publishable on the remote control panel.
- [GH_ComponentParamServer.IGH_SyncObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.igh-syncobject.md): Synch object for tracking long term changes to the parameter server.

## Delegates

- [IGH_DocumentObject.AttributesChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.attributeschangedeventhandler.md)
- [IGH_DocumentObject.DisplayExpiredEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.displayexpiredeventhandler.md)
- [IGH_DocumentObject.ObjectChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.objectchangedeventhandler.md)
- [IGH_DocumentObject.PingDocumentEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.pingdocumenteventhandler.md)
- [IGH_DocumentObject.PreviewExpiredEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.previewexpiredeventhandler.md)
- [IGH_DocumentObject.SolutionExpiredEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.solutionexpiredeventhandler.md)
- [GH_AutoSaveSettings.AutoSaveFileFormatChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.autosavefileformatchangedeventhandler.md)
- [GH_AutoSaveSettings.EnableAutoSaveChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.enableautosavechangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnDataFlatteningChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveondataflatteningchangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnDocumentUnloadChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveondocumentunloadchangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnObjectAddedChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveonobjectaddedchangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnObjectChangeChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveonobjectchangechangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnObjectRemovedChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveonobjectremovedchangedeventhandler.md)
- [GH_AutoSaveSettings.SaveOnWireEventChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.saveonwireeventchangedeventhandler.md)
- [GH_ComponentParamServer.ParameterChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.parameterchangedeventhandler.md)
- [GH_ComponentParamServer.ParameterNickNameChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.parameternicknamechangedeventhandler.md)
- [GH_ComponentParamServer.ParameterSourcesChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.parametersourceschangedeventhandler.md)
- [GH_ComponentServer.GHAFileLoadedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentserver.ghafileloadedeventhandler.md)
- [GH_Document.ContextChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.contextchangedeventhandler.md)
- [GH_Document.DefaultPreviewColourChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.defaultpreviewcolourchangedeventhandler.md)
- [GH_Document.DefaultSelectedPreviewColourChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.defaultselectedpreviewcolourchangedeventhandler.md)
- [GH_Document.EnabledChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.enabledchangedeventhandler.md)
- [GH_Document.EnableSolutionsChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.enablesolutionschangedeventhandler.md)
- [GH_Document.FilePathChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.filepathchangedeventhandler.md)
- [GH_Document.GH_ActiveObjectFilter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.gh-activeobjectfilter.md)
- [GH_Document.GH_ScheduleDelegate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.gh-scheduledelegate.md): Callback signature for Scheduled Solutions.
- [GH_Document.ModifiedChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.modifiedchangedeventhandler.md)
- [GH_Document.ObjectsAddedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.objectsaddedeventhandler.md)
- [GH_Document.ObjectsDeletedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.objectsdeletedeventhandler.md)
- [GH_Document.SettingsChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.settingschangedeventhandler.md)
- [GH_Document.SolutionEndEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.solutionendeventhandler.md)
- [GH_Document.SolutionStartEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.solutionstarteventhandler.md)
- [GH_Document.UndoStateChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.undostatechangedeventhandler.md)
- [GH_DocumentObject.ColourEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject.coloureventhandler.md)
- [GH_DocumentServer.DocumentAddedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentserver.documentaddedeventhandler.md)
- [GH_DocumentServer.DocumentRemovedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentserver.documentremovedeventhandler.md)
- [GH_FileSystemEventServer.FileEvent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filesystemeventserver.fileevent.md): This delegate is called when changes to a certain file occur.
- [GH_FileWatcher.FileChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filewatcher.filechanged.md): Delegate method for file change callbacks.
- [GH_FileWatcher.FileChangedSimple](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filewatcher.filechangedsimple.md): Delegate method for file change callbacks.
- [GH_FontServer.ConsoleFamilyChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-fontserver.consolefamilychangedeventhandler.md)
- [GH_FontServer.ScriptFamilyChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-fontserver.scriptfamilychangedeventhandler.md)
- [GH_FontServer.StandardFamilyChangedEventHandler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-fontserver.standardfamilychangedeventhandler.md)
- [GH_StateTag.DrawCallback](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-statetag.drawcallback.md): Drawing delegate.

## Classes

- [GH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject.md): Basic implementation of IGH_ActiveObject interface. Derive from this class rather than implementing IGH_ActiveObject to make your life easier.
- [GH_Alias](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-alias.md): Represents a single alias|target combo.
- [GH_AssemblyInfo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-assemblyinfo.md): Implement this interface once (and once only) in a GHA project if you wish to add additional information about your library to Grasshopper. Note you must supply an empty constructor.
- [GH_AssemblyInfoStub](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-assemblyinfostub.md): Provides basic properties for a GHA assembly that does not expose a type that derives from GH_AssemblyInfo. This type is created automatically when a GH_AssemblyInfo type is not found in an assembly.
- [GH_AssemblyPriority](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-assemblypriority.md): Derive from this class if you wish to perform additional steps before any of your components are loaded. Any class in your project which inherits from GH_AssemblyPriority and which has an empty constructor will be instantiated prior to any GH_Component or IGH_DocumentObject classes.
- [GH_Attributes<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-attributes-1.md): Derive from this class rather than implementing IGH_Attributes from scratch.
- [GH_AttributesChangedEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-attributeschangedeventargs.md): Event arguments passed during AttributesChanged events.
- [GH_Author](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-author.md): Maintains author information such as name, company, copyright, address etc.
- [GH_AutoSaveSettings](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavesettings.md): Provides access to all AutoSave event flags.
- [GH_BakeUtility](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-bakeutility.md): A utility class for baking. We heavily recommend you use this for any baking, as it handles invalid objects correctly.
- [GH_CaseInsensitiveStringComparer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-caseinsensitivestringcomparer.md): Implements the IComparer(Of String) interface for non-case sensitive string comparisons.
- [GH_CharPatternParamNameConstructor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-charpatternparamnameconstructor.md)
- [GH_Component](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component.md): Inherit from this class if you wish to create a custom component. Note that you must provide a public, empty constructor which calls the base class constructor.
- [GH_Component.GH_InputParamManager](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component.gh-inputparammanager.md): This class is used during Component construction to add input parameters.
- [GH_Component.GH_OutputParamManager](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component.gh-outputparammanager.md): This class is used during Component construction to add output parameters.
- [GH_Component.GH_ParamManager](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component.gh-parammanager.md)
- [GH_ComponentParamServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.md): Wraps all members and functions needed for GH_Component to manage its input and output parameters.
- [GH_ComponentParamServer.NullParamAttributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentparamserver.nullparamattributes.md)
- [GH_ComponentServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentserver.md): Maintains proxies for all components, parameters and other object types as defined in all grasshopper assemblies.
- [GH_ConnectivityDiagram](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-connectivitydiagram.md): Represents a complete connectivity diagram (topology) of a GH_Document. A connectivity diagram is basically an undirected network of all the wires in a document.
- [GH_ConnectivityDisparity](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-connectivitydisparity.md): Maintains two connectivity diagrams, one of which is a subset of the other.
- [GH_ConnectivityNode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-connectivitynode.md): Represents a single node in a Grasshopper connectivity diagram. A single node represents a single IGH_Param instance.
- [GH_Convert](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-convert.md): Provides static converters for different data types inside Grasshopper. This class both has specific and generic converters.
- [GH_CustomEventServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-customeventserver.md): RhinoCommon only event server.
- [GH_DebugDescriptionWriter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-debugdescriptionwriter.md): Writer object used to create debug logs.
- [GH_DisplayExpiredEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-displayexpiredeventargs.md): Arguments for display events.
- [GH_DocContextEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-doccontexteventargs.md): These arguments are passed along with SettingsChanged events on GH_Document.
- [GH_DocEnabledEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docenabledeventargs.md): These arguments are passed along with SettingsChanged events on GH_Document.
- [GH_DocFilePathEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docfilepatheventargs.md): These arguments are passed along with FilePathChanged events on GH_Document.
- [GH_DocModifiedEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docmodifiedeventargs.md): These arguments are passed along with ModifiedChanged events on GH_Document.
- [GH_DocObjectEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docobjecteventargs.md): These arguments are passed along with ObjectsAdded and ObjectsRemoved events on GH_Document.
- [GH_DocSettingsEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docsettingseventargs.md): These arguments are passed along with SettingsChanged events on GH_Document.
- [GH_Document](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.md): Represents a single Grasshopper document.
- [GH_Document.GH_UndoUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-document.gh-undoutil.md): This class is emitted by the Undo property of a GH_Document instance.
- [GH_DocumentAssociations](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentassociations.md)
- [GH_DocumentEventServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documenteventserver.md): RhinoCommon only event server.
- [GH_DocumentIO](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentio.md): Provides basic IO operations for GH_Documents.
- [GH_DocumentObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject.md): Standard implementation of IGH_DocumentObject.
- [GH_DocumentProperties](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentproperties.md)
- [GH_DocumentServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentserver.md): Manages and maintains a collection of GH_Documents.
- [GH_DocumentTree](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documenttree.md): Represents a hierarchical tree of documents that are subsidiary to one another.
- [GH_DocumentTreeNode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documenttreenode.md): Represents a single node in a document tree.
- [GH_DocUndoEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-docundoeventargs.md): These arguments are passed along with UndoStateChanged events on GH_Document.
- [GH_ExternalFile](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-externalfile.md): Represents information about external files to be loaded.
- [GH_FileSystemEventServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filesystemeventserver.md): Provides a easy-to-use way to keep tabs on files.
- [GH_FileWatcher](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filewatcher.md): Provides easy mechanisms to monitor changes to the local File System.
- [GH_FontServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-fontserver.md): Maintains a collection of standard fonts and mays to measure them.
- [GH_Format](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-format.md): Provides standard Grasshopper formatting functions.
- [GH_GHALoadingEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-ghaloadingeventargs.md): Event arguments used in the GH_GHALoaded event on GH_ComponentServer.
- [GH_GHXHarvester](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-ghxharvester.md): Provides static methods for harvesting data from GHX and GH files.
- [GH_GraphProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-graphproxy.md)
- [GH_GuidTable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-guidtable.md): Maintains a quick-access collection of Guids and IGH_ActiveObject references.
- [GH_IncrementalParamNameConstructor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-incrementalparamnameconstructor.md)
- [GH_InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription.md): Base implementation of IGH_InstanceDescription. Consider deriving from this class rather than implementing IGH_InstanceDescription from scratch.
- [GH_LineParser](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-lineparser.md): Provides basic functionality for the custom ReadFile component script parsing.
- [GH_ListUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-listutil.md): Provides utilities for dealing with list of Data from input parameters.
- [GH_LoadingAttribute](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-loadingattribute.md): Assembly loading behaviour attribute.
- [GH_LoadingException](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-loadingexception.md): Maintains information about exceptions that occured during Add-On loading.
- [GH_MarkovChain](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-markovchain.md): Represents a database with multi-depth markov chains.
- [GH_MarkovOutcome](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-markovoutcome.md): Represents a single Markov chain outcome.
- [GH_MarkovPattern](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-markovpattern.md): Represents a Markov chain pattern and associated outcomes.
- [GH_MathUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-mathutil.md)
- [GH_MemoryBitmap](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-memorybitmap.md): Utility class for ultra-fast bitmap sampling and filters.
- [GH_NoiseTable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-noisetable.md)
- [GH_ObjectChangedEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-objectchangedeventargs.md): Event arguments passed during ObjectChanged events.
- [GH_Param<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1.md): Base implementation of IGH_Param. Derive from this class rather than implementing IGH_Param from scratch. If your parameter can store persistent data, derive from GH_PersistentParam(Of T) instead.
- [GH_ParameterContext](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-parametercontext.md): Data passed to IGH_ContextualParameter.AutoAssignContextualData to help define a context state of Rhino/Grasshopper
- [GH_ParamServerEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramservereventargs.md): Arguments used in events for the GH_ComponentParamServer type.
- [GH_PersistentGeometryParam<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-persistentgeometryparam-1.md): Derives from GH_PersistentParam(Of T), but adds some useful functions for dealing with geometric data types.
- [GH_PersistentParam<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-persistentparam-1.md): Implementation of GH_Param(Of T) that supports persistent data.
- [GH_PersistentReferenceParam<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-persistentreferenceparam-1.md)
- [GH_PingDocumentEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-pingdocumenteventargs.md): Event arguments passed during PingDocument events.
- [GH_PreviewArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewargs.md): This class is passed to Objects that implement IGH_PreviewObject during drawing operations.
- [GH_PreviewBoundary](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewboundary.md): A closed boundary for filtering previewed objects.
- [GH_PreviewExpiredEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewexpiredeventargs.md): Arguments for preview events.
- [GH_PreviewMeshArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewmeshargs.md): This class is passed to objects that implement IGH_PreviewData during mesh drawing operations.
- [GH_PreviewUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewutil.md): This class exposes functionality that makes it easy to draw temporary geometry in Rhino viewports.
- [GH_PreviewWireArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewwireargs.md): This class is passed to objects that implement IGH_PreviewData during wire drawing operations.
- [GH_Process](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-process.md): Provides static (Shared) access to several basic Win Process properties.
- [GH_ProcessForm](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-processform.md)
- [GH_RelevantObjectData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-relevantobjectdata.md): Contains information about relevant objects at a specific canvas location.
- [GH_RenderArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-renderargs.md): This class is passed to objects that implement IGH_RenderAwareData or IGH_RenderAwareObject during render queue operations.
- [GH_Revision](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-revision.md)
- [GH_RuntimeMessage](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-runtimemessage.md): Contains all fields that together define a RuntimeMessage. Runtime Messages are created and recorded by document objects during Grasshopper solutions.
- [GH_ScriptInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-scriptinstance.md)
- [GH_SearchHit](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-searchhit.md)
- [GH_SettingsServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-settingsserver.md): A single instance of this class is maintained at module level under the accessor "Settings".
- [GH_SolutionEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-solutioneventargs.md): Event arguments used for Document Solution events.
- [GH_SolutionExpiredEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-solutionexpiredeventargs.md): Arguments for solution events.
- [GH_State](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-state.md): Represents a single recorded document state. A state contains values for an arbitrary set of objects inside the document.
- [GH_StateServer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-stateserver.md): Maintains all the recorded states for this document.
- [GH_StateTag](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-statetag.md): Abstract implementation of the IGH_StateTag interface. Derive from this class rather than implementing IGH_StateTag.
- [GH_StateTagList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-statetaglist.md): Maintains a collection of IGH_StateTag objects.
- [GH_StringMatcher](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-stringmatcher.md): Utility class for finding matches in a database of Strings.
- [GH_StringPattern](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-stringpattern.md)
- [GH_TaskCapableComponent<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-taskcapablecomponent-1.md): Abstract implementation of IGH_TaskCapableComponent. Inherit from this class instead of implementing IGH_TaskCapableComponent directly.
- [GH_UpgradeUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-upgradeutil.md): Exposes several utility functions for migrating parameters and wires between components useful while upgrading components.
- [GH_UserObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-userobject.md): Represents a custom user object. A User Object is an existing IGH_DocumentObject with overridden icon, instance description and exposure.
- [GH_ValueProxy<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-valueproxy-1.md): Represents the abstract base implementation of the IGH_ValueProxy interface.
- [GH_VarParamEventArgs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-varparameventargs.md): Arguments used in Variable Parameter events.
- [GH_WireTopology](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-wiretopology.md): Represents the topological data for a single connector wire.
- [GH_WireTopologyDiagram](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-wiretopologydiagram.md): Represents any number of topological wires.
- [GH_ZuiAction](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-zuiaction.md): Basic implementation of IGH_ZuiAction.

## Enums

- [GH_Arrange](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-arrange.md): Enumerates possible types of object arrangement.
- [GH_AutoSaveTrigger](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-autosavetrigger.md): Different types of events that can cause an AutoSave.
- [GH_BitmapChannel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-bitmapchannel.md): Lists all possible channels for 24 and 32 bit bitmaps.
- [GH_ClipboardType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-clipboardtype.md): Enumerates all possible clipboards for GH_DocumentIO operations.
- [GH_ComponentPaletteStyle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-componentpalettestyle.md)
- [GH_Conversion](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-conversion.md): Level flag for conversion algorithms.
- [GH_DataComparison](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-datacomparison.md): Enumerates all possible Data Matching algorithms for Components.
- [GH_DataMapping](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-datamapping.md): Enumerates all parameter data mapping types.
- [GH_DocumentContext](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentcontext.md): Enumerates all possible (de)activation contexts for documents.
- [GH_DocumentRank](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentrank.md): Enumerates all possible document rankings.
- [GH_DocumentSettings](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentsettings.md): Enumerates all possible types of settings for a GH_Document.
- [GH_Exposure](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-exposure.md): Lists the different kinds of GUI exposure an object can have.
- [GH_ExternalFileType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-externalfiletype.md): Enumerates the possible external files that Grasshopper is interested in.
- [GH_FileWatcherEvents](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filewatcherevents.md): Enumerates all possible file watcher events. These can be combined.
- [GH_Filter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-filter.md): Enumerates all object Search filters.
- [GH_GetterResult](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-getterresult.md): Enumerates typical getter results.
- [GH_GuidConflictSolution](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-guidconflictsolution.md): Contains a list of all possible Assembly GUID conflict solutions
- [GH_IconDisplayMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-icondisplaymode.md): Lists all display modes that individual objects can have.
- [GH_LibraryLicense](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-librarylicense.md): Enumerates the possible library types for GHA assemblies.
- [GH_LineParserAction](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-lineparseraction.md): Enumerates the possible actions a line parser can invoke.
- [GH_LoadingDemand](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-loadingdemand.md): Enumerates all assembly loading behaviour demands.
- [GH_LoadingInstruction](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-loadinginstruction.md): Enumerates all external GHA loading process instructions.
- [GH_LoadingMechanism](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-loadingmechanism.md): Enumerates all assembly loading mechanisms.
- [GH_MatchLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-matchlevel.md): All possible string matching schemes.
- [GH_MatchWeight](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-matchweight.md): Weighting factors of string matches.
- [GH_ObjectEventType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-objecteventtype.md): Represents common changes which can cause the ObjectChanged event to be raised.
- [GH_ObjectSpecies](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-objectspecies.md): Contains all object species.
- [GH_ObjectType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-objecttype.md): Enumerates all types of object that can be referenced by a GH_ObjectProxy instance.
- [GH_ParamAccess](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramaccess.md): Enumerates the types of access that parameters support.
- [GH_ParamData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramdata.md): Enumerates the possible states of being for data inside a parameter.
- [GH_ParameterSide](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-parameterside.md): Enumerates possible sides for variable parameters.
- [GH_ParamHashFields](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramhashfields.md): Enumerates all accepted fields for hashing parameter data.
- [GH_ParamKind](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramkind.md): Enumerates the different guises of parameter
- [GH_ParamWireDisplay](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-paramwiredisplay.md): Enumerates the possible wire display types for parameters.
- [GH_PatternMatching.MatchingMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-patternmatching.matchingmode.md)
- [GH_PickBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-pickbox.md): Represents the different ways in which picking rectangles can behave.
- [GH_PluginFolderType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-pluginfoldertype.md): Enumerates the possible folder types for GH_AssemblyFolderInfo
- [GH_PreviewFilter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewfilter.md): Lists all possible Grasshopper preview filters.
- [GH_PreviewMesh](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewmesh.md): Enumerates possible meshing parameters for documents.
- [GH_PreviewMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-previewmode.md): Lists all possible Grasshopper preview modes.
- [GH_PrincipalState](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-principalstate.md): Enumerates the different possible states in which the masterness of a parameter can occur.
- [GH_ProcessStep](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-processstep.md): Enumerates all possible solution states in which the document can be.
- [GH_ProfilerMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-profilermode.md): Lists all profiler modes.
- [GH_RelevantObjectFilter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-relevantobjectfilter.md): Enumerates the possible filters to use in relevant object searches.
- [GH_RemoteIdChange](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-remoteidchange.md)
- [GH_RuntimeMessageLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-runtimemessagelevel.md): Indicates the severity of a runtime message.
- [GH_SelectionState](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-selectionstate.md): Enumerates the possible effects of a specific selection operation.
- [GH_SelectionTopology](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-selectiontopology.md): Enumerates the possible selection topologies.
- [GH_SettingsType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-settingstype.md): Lists all the data types available in the GH_SettingsServer class.
- [GH_SolutionMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-solutionmode.md): Enumerates all solution modes.
- [GH_SolutionPhase](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-solutionphase.md): The Phase flags are used to track object states during solutions.
- [GH_StateTagLayoutDirection](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-statetaglayoutdirection.md): Enumerates the possible layout directions for parameter state tags.
- [GH_TimeKind](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-timekind.md): Enumerates the possible kinds that a System.DateTime value can imply.
- [GH_UndoOperation](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-undooperation.md): Enumerates all possible types of undo operation.
- [GH_VarParamSide](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-varparamside.md): Enumerates possible sides for variable parameters.

## Structs

- [GH_AssemblyFolderInfo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-assemblyfolderinfo.md): Represents a folder from which GHA files are loaded.
- [GH_SolutionSpan](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-solutionspan.md): Represents the time interval for a GH_Document solution.

## Modules

- [GH_PatternMatching](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-patternmatching.md)
- [GH_ScriptComponentUtilities](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-scriptcomponentutilities.md)
- [GH_TypeLib](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-typelib.md): Utility module that caches a number of oft-used types and type-ids for quick access. Do not change any of the values in this module or you'll wreck casting and conversion logic.
