# ActiveObject class

Namespace: [Grasshopper2.Doc](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.doc.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class ActiveObject : DocumentObject
```

Abstract implementation of the IDocumentObject interface for objects that wish to participate in solutions.

**Derived types:** [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md), [Component](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.component.md)

## Constructors

- [ActiveObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/ctor.md): (2 overloads)

## Properties

- [DisplayCache](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaycache.md): Gets or sets the [ActiveObject.DisplayCache](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaycache.md) to use while displaying this object.
- [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/state.md): Gets the current state of this object. This is always the most recently completed state.

## Methods

- [Compute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/compute.md): Compute a new solution for this object, or return a completed solution if one is available.
- [ComputeInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/computeinternal.md): Compute and populate a new solution object.
- [DisplayBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaybounds.md)
- [DisplayFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displayfaces.md)
- [DisplayWires](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaywires.md)
- [Expire](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/expire.md): Expire this object and all objects that depend on it. This will request-cancel any running solutions inside whatever document contains this object.
- [ExpireAllRecipients](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/expireallrecipients.md): Expire all the recipients of this object. The default implementation relies on the Connectivity map provided by the derived class. Override this method to make it more efficient.
- [PopulateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/populatedisplay.md): Override this method to populate a display bag from a computed result. The DisplayCapable property will return true if this method has been overridden.
- [UpdateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/updatedisplay.md)

## Inherited Members

- From [DocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject.md): [Activity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activity.md), [Attributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/attributes.md), [ChildrenObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/childrenobjects.md), [Connectivity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/connectivity.md), [CustomValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/customvalues.md), [Display](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/display.md), [DisplayCapable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaycapable.md), [DisplayName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displayname.md), [DisplayStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaystyle.md), [Document](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/document.md), [EntireFamily](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/entirefamily.md), [FoundingObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/foundingobject.md), [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/icon.md), [IconInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/iconinternal.md), [InstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceid.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/nomen.md), [Obsolete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/obsolete.md), [ParentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/parentobject.md), [Phase](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/phase.md), [ProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/progresspercentage.md), [Relevance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevance.md), [Selected](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selected.md), [Selection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selection.md), [SiblingObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/siblingobjects.md), [UserName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/username.md), [ActivityChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activitychanged.md), [AutosaveRequested](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/autosaverequested.md), [DisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaychanged.md), [DocumentChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/documentchanged.md), [Expired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expired.md), [InstanceIdChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceidchanged.md), [LayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/layoutchanged.md), [NameChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/namechanged.md), [RelevanceChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevancechanged.md), [SelectedChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selectedchanged.md), [AddUndoRecord](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/addundorecord.md), [AppendBakeInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendbakeinput.md), [AppendStateInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendstateinput.md), [AppendToInputPanel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendtoinputpanel.md), [AppendUserNameInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendusernameinput.md), [ChangeInstanceIds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/changeinstanceids.md), [CreateAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/createattributes.md), [ExpireDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expiredisplay.md), [GetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getcreationinfo.md), [GetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getmodificationinfo.md), [InvalidateExistingLayout](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/invalidateexistinglayout.md), [ModifyIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifyicon.md), [ModifyNameAndInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifynameandinfo.md), [OnDisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/ondisplaychanged.md), [OnExpired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onexpired.md), [OnLayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onlayoutchanged.md), [OverrideAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/overrideattributes.md), [RequestAutoSave](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/requestautosave.md), [SetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setcreationinfo.md), [SetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setmodificationinfo.md), [SetProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setprogresspercentage.md), [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/store.md)
