# IGH_ActiveObject 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_ActiveObject : IGH_DocumentObject
```

Base interface for all objects on the canvas that participate in solutions

**Derived types:** [GH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject.md), [IGH_Component](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-component.md), [IGH_Param](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-param.md)

## Properties

- [IsDataProvider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/isdataprovider.md): Gets whether or not this object is capable of emitting data.
- [Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/locked.md): Gets or sets the locked flag of this object. Locked objects are ignored during solutions.
- [MutableNickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/mutablenickname.md): Gets or sets a value that enables Nick name changes through the menu. The default is TRUE.
- [Phase](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/phase.md): Gets the solution phase in which this object is currently stuck.
- [ProcessorTime](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/processortime.md): Gets the most recent measured processor time.
- [RuntimeMessageLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/runtimemessagelevel.md): Gets the worst-case level of all messages. I.e. if only warnings have been recorded, the level will be ::warning. If even a single error exists, the level will be ::error.

## Methods

- [AddRuntimeMessage](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/addruntimemessage.md): Add a new message to this object. Valid message type flags are Warning and Error. If the Message string is empty or zero-length no message is added.
- [ClearData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/cleardata.md): This function is called whenever the object needs to clear all solution data. This usually amounts to wiping volatile caches and messages. This function will not affect any other objects, but it will set the Phase flag to Blank
- [ClearRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/clearruntimemessages.md): Clear all message lists.
- [CollectData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/collectdata.md): This function is called whenever the object is required to collect all data. Either from Persistent records, from source params or whatever. This step is only performed if the phase flag is Blank or Failed. Upon completion, the phase flag will be set to Collected
- [ComputeData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/computedata.md): This function is called whenever the object is required to generate new data. This step is only performed by some objects and only when the Phase flag is Collected. Upon completion, the Phase will be Computed. If this object throws exceptions, it is the responsibility of the caller to set the Phase flag to Failed.
- [DependsOn](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/dependson.md): Solve the inheritance relationship between this object and a potential parental object.
- [RegisterRemoteIDs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/registerremoteids.md): If this object depends on Rhino Objects, you must register the UUIDs of those objects. Failure to do so will result in faulty event handling.
- [RuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/runtimemessages.md): Gets the list of cached runtime messages that were recorded during solver-time processes.
- [SDKCompliancy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-activeobject/sdkcompliancy.md): Test whether this object is compliant with a given Rhino version.

## Inherited Members

- From [IGH_DocumentObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject.md): [Attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/attributes.md), [ComponentGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/componentguid.md), [Exposure](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/exposure.md), [IconDisplayMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/icondisplaymode.md), [Icon_24x24](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/icon-24x24.md), [Icon_24x24_Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/icon-24x24-locked.md), [Obsolete](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/obsolete.md), [AttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/attributeschanged.md), [DisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/displayexpired.md), [ObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/objectchanged.md), [PingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/pingdocument.md), [PreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/previewexpired.md), [SolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/solutionexpired.md), [AddedToDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/addedtodocument.md), [AppendMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/appendmenuitems.md), [CreateAttributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/createattributes.md), [DocumentContextChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/documentcontextchanged.md), [ExpirePreview](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/expirepreview.md), [ExpireSolution](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/expiresolution.md), [IsolateObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/isolateobject.md), [MovedBetweenDocuments](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/movedbetweendocuments.md), [OnAttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/onattributeschanged.md), [OnDisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/ondisplayexpired.md), [OnObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/onobjectchanged.md), [OnPingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/onpingdocument.md), [OnPreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/onpreviewexpired.md), [OnSolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/onsolutionexpired.md), [RecordUndoEvent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/recordundoevent.md), [RemovedFromDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/removedfromdocument.md), [TriggerAutoSave](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-documentobject/triggerautosave.md)
- From [IGH_InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription.md): [Category](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/category.md), [Description](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/description.md), [HasCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/hascategory.md), [HasSubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/hassubcategory.md), [InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/instancedescription.md), [InstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/instanceguid.md), [Keywords](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/keywords.md), [Name](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/name.md), [NickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/nickname.md), [SubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/subcategory.md), [NewInstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-instancedescription/newinstanceguid.md)
- From [GH_ISerializable](https://developer.rhino3d.com/api/gh1/type/gh-io.gh-iserializable.md): [Read](https://developer.rhino3d.com/api/gh1/type/gh-io.gh-iserializable/read.md), [Write](https://developer.rhino3d.com/api/gh1/type/gh-io.gh-iserializable/write.md)
