Click or drag to resize

GH_Component Class

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.
Inheritance Hierarchy

Namespace:  Grasshopper.Kernel
Assembly:  Grasshopper (in Grasshopper.dll)
Syntax
public abstract class GH_Component : GH_ActiveObject, 
	IGH_Component, IGH_RenderAwareObject

The GH_Component type exposes the following members.

Properties
  NameDescription
Public propertyAttributes
Gets or sets the attributes that are associated with this object. Only set custom attributes if you know what you are doing.
(Inherited from GH_DocumentObject.)
Public propertyCategory
Gets or sets the Category in which this object belongs. If HasCategory() returns false, this field has no meaning.
(Inherited from GH_InstanceDescription.)
Public propertyClippingBox
Gets the clipping box for all preview geometry drawn by this component and all associated parameters.
Public propertyComponentGuid
Returns a consistent ID for this object type. Every object must supply a unique and unchanging ID that is used to identify objects of the same type.
(Inherited from GH_DocumentObject.)
Public propertyDataComparison
Gets or sets the data matching algorithm for this component
Public propertyDescription
Gets or sets the description of the object. This field typically remains fixed during the lifetime of an object.
(Inherited from GH_InstanceDescription.)
Public propertyExposure
Gets the exposure of this object in the Graphical User Interface. The default is to expose everywhere.
(Inherited from GH_DocumentObject.)
Public propertyHasCategory
Gets whether or not the Category field has been set.
(Inherited from GH_InstanceDescription.)
Public propertyHasSubCategory
Gets whether or not the SubCategory field has been set.
(Inherited from GH_InstanceDescription.)
Protected propertyHelpDescription
Override this method if you want the help topic content to be more than the Component description.
Public propertyHidden
Gets or sets the hidden flag for this component. Does not affect Hidden flags on parameters associated with this component.
Protected propertyIcon
Override this function to supply a custom icon (24x24 pixels). The result of this property is cached, so don't worry if icon retrieval is not very fast.
(Inherited from GH_DocumentObject.)
Public propertyIcon_24x24
The icon associated with this object.
(Inherited from GH_DocumentObject.)
Public propertyIcon_24x24_Locked
The greyscale icon of this object.
(Inherited from GH_DocumentObject.)
Public propertyIconCapableUI
By default the NickName menu item supports the Icon Mode override toggle. If your UI is not capable of displaying icons, then override this property and return False.
(Inherited from GH_ActiveObject.)
Public propertyIconDisplayMode
Gets the current display mode of the object.
(Inherited from GH_DocumentObject.)
Public propertyInConstructor
Gets the constructor flag for this instance. If InConstructor = True, it means the component is still registering parameters and the layout is not yet complete.
Public propertyInstanceDescription (Overrides GH_InstanceDescriptionInstanceDescription.)
Public propertyInstanceGuid
Gets the ID of this runtime instance.
(Inherited from GH_InstanceDescription.)
Public propertyIsBakeCapable
Public propertyIsDataProvider
Components are never Data providers. Only the output parameters can be considered to be providers.
(Overrides GH_ActiveObjectIsDataProvider.)
Public propertyIsPreviewCapable
If a single parameter is PreviewCapable, so is the component. Override this property if you need special Preview flags.
Public propertyIsValidPrincipalParameterIndex
Gets whether the MasterParameterIndex property identifies a valid parameter.
Public propertyKeywords
Gets a list of additional keywords that describe the object. Typically this list is empty but you can override this property to aid in object searches.
(Inherited from GH_InstanceDescription.)
Public propertyLocked
Gets or sets the Locked state for this Component. This also sets locked states for all input and output parameters.
(Overrides GH_ActiveObjectLocked.)
Public propertyMessage
Gets or sets a custom message to be displayed underneath the component. This message is not serialized and should be assigned on every solution anew.
Public propertyMutableNickName
Gets or sets a value that enables Nick name changes through the menu. The default is TRUE.
(Inherited from GH_ActiveObject.)
Public propertyName
Gets or sets the name of the object. This field typically remains fixed during the lifetime of an object.
(Inherited from GH_InstanceDescription.)
Public propertyNickName
Gets or sets the nickname of the object. This field can be changed by the user.
(Inherited from GH_InstanceDescription.)
Public propertyObsolete
Gets whether this object is obsolete. Default implementation returns true if the class name contains the string "OBSOLETE" or if this class has been decorated with the ObsoleteAttribute. You are free to override this if you want, but I suggest adding the ObsoleteAttribute instead.
(Inherited from GH_DocumentObject.)
Public propertyParams
Gets the parameter manager object for this component.
Public propertyPhase
Gets or sets the solution phase this object is currenly in.
(Inherited from GH_ActiveObject.)
Public propertyPrincipalParameterIndex
Gets or sets the principal parameter index override. Negative indices or indices larger than or equal to the input parameter count will be ignored and regular principal parameter detection will kick in.
Public propertyProcessorTime
Gets the total processor time (profiler) spend by this component and all input parameters.
(Overrides GH_ActiveObjectProcessorTime.)
Public propertyRunCount
Gets a value indicating how many times the SolveInstance method was called on this component during the last solution. This property will return -1 if no valid runcount is available.
Public propertyRuntimeMessageLevel
Returns the worst case runtime warning level of me and all my parameters
(Overrides GH_ActiveObjectRuntimeMessageLevel.)
Public propertySubCategory
Gets or sets the SubCategory in which this object belongs. If HasSubCategory() returns false, this field has no meaning.
(Inherited from GH_InstanceDescription.)
Top
Methods
  NameDescription
Public methodAddedToDocument
Overrides the AddedToDocument method and delegates the call to all parameters.
(Overrides GH_DocumentObjectAddedToDocument(GH_Document).)
Public methodAddRuntimeMessage
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.
(Inherited from GH_ActiveObject.)
Protected methodAfterSolveInstance
Override this method if you want to be called after the last call to SolveInstance.
Protected methodAppendAdditionalComponentMenuItems
Override this function if you want to insert some custom menu items in your derived Component class. Items will be added between List Matching items and parameter menus.
Public methodAppendAdditionalMenuItems
Adds typical component type items to the context menu: 1. Data comparison types 2. Custom (overridden) items 3. Nested input parameter context menu items 4. Nested output parameter context menu items
(Overrides GH_ActiveObjectAppendAdditionalMenuItems(ToolStripDropDown).)
Public methodAppendMenuItems
This function is called when a context menu is about to be displayed. Override it to set custom items. GH_ActiveObject will already populate the menu with default items, if you merely wish to insert object-specific menu item, consider overriding AppendAdditionalMenuItems instead.
(Inherited from GH_ActiveObject.)
Public methodAppendRenderGeometry Obsolete.
Append all geometry associated with this component to a render queue.
Protected methodAssignInitCodeToInputParameter
Utility function for parsing and assigning init codes. This only works for standard parameter types.
Public methodBakeGeometry(RhinoDoc, ListGuid)
Public methodBakeGeometry(RhinoDoc, ObjectAttributes, ListGuid)
Protected methodBeforeSolveInstance
Override this method if you want to be called before the first call to SolveInstance.
Public methodClearData
Clear the data inside this component and all output parameters.
(Overrides GH_ActiveObjectClearData.)
Public methodClearRuntimeMessages
Clears all runtime messages in me and my parameters
(Overrides GH_ActiveObjectClearRuntimeMessages.)
Public methodCollectData
Calls CollectData on all input parameters and makes sure the Component and all associated parameters are left in a valid state.
(Overrides GH_ActiveObjectCollectData.)
Public methodComputeData
Compute all data and fill out all output parameters.
(Overrides GH_ActiveObjectComputeData.)
Public methodCopyFrom
Copy all fields (except the instance ID) from another instance description.
(Inherited from GH_InstanceDescription.)
Public methodCreateAttributes
Create new attributes.
(Overrides GH_DocumentObjectCreateAttributes.)
Public methodDependsOn
Returns True is any one of my input parameters depends on the source.
(Overrides GH_ActiveObjectDependsOn(IGH_ActiveObject).)
Protected methodDestroyIconCache
Call this method to erase the existing icon cache. You must call this if you want to change the display icon of an object.
(Inherited from GH_DocumentObject.)
Protected methodStatic memberDocumentAngleTolerance
Gets the Angle tolerance (in radians) for the currently active Rhino document.
Public methodDocumentContextChanged
Overrides the DocumentContextChanged method and delegates the call to all parameters.
(Overrides GH_DocumentObjectDocumentContextChanged(GH_Document, GH_DocumentContext).)
Protected methodStatic memberDocumentTolerance
Gets the Absolute tolerance for the currently active Rhino document.
Public methodDrawViewportMeshes
Draw preview meshes for this component and all associated parameters.
Public methodDrawViewportWires
Draw preview wires for this component and all associated parameters.
Protected methodExpireDownStreamObjects
Expire all objects that depend on any of the output parameters.
(Overrides GH_ActiveObjectExpireDownStreamObjects.)
Public methodExpirePreview
Call this function when you suspect that the preview has expired for this object. This will cause the display cache to be eradicated.
(Inherited from GH_DocumentObject.)
Public methodExpireSolution
Informs the document that owns this object that the solution has expired. The current object will be set to BLANK as a result. This method is recursive, it will also expire any and all objects which depend on this object. If you want a less destructive expiration, consider using ClearData(). If this object is already Blank, you should consider not expiring it.
(Inherited from GH_ActiveObject.)
Protected methodGenerateDefaultHTML
Creates the default component help topic, including all parameter lists.
Protected methodGenerateParameterHelp
Create an HTML string that lists names and descriptions for input and output parameters.
Protected methodGenerateParameterHelp(IGH_Param)
Generate HTML string for a single parameter.
Protected methodGetValue(String, Boolean)
Get a boolean value from the component value table.
(Inherited from GH_DocumentObject.)
Protected methodGetValue(String, Double)
Get a double value from the component value table.
(Inherited from GH_DocumentObject.)
Protected methodGetValue(String, Color)
Get a color value from the component value table.
(Inherited from GH_DocumentObject.)
Protected methodGetValue(String, Int32)
Get an integer value from the component value table.
(Inherited from GH_DocumentObject.)
Protected methodGetValue(String, String)
Get a string value from the component value table.
(Inherited from GH_DocumentObject.)
Protected methodHtmlHelp_Source
Return a String which contains HTML formatted source for the help topic. If you want to pass a URL that points to a remote page, then prefix the URL with a GOTO: tag, like so: GOTO:http://www.YourWebAddressHere.com
(Overrides GH_DocumentObjectHtmlHelp_Source.)
Public methodIsolateObject
Sever the connections of all input and output parameters.
(Overrides GH_DocumentObjectIsolateObject.)
Protected methodMenu_AppendBakeItem
Append the default Bake menu item.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendEnableItem
Append the default Enable/Disable menu item.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendObjectHelp
Appends the default object Help menu item.
(Inherited from GH_DocumentObject.)
Protected methodMenu_AppendObjectName
Appends the old-fashioned object name menu item. If you also want the Display mode toggle then use Menu_AppendObjectNameEx()
(Inherited from GH_DocumentObject.)
Protected methodMenu_AppendObjectNameEx
Appends the default object name + display mode menu item.
(Inherited from GH_DocumentObject.)
Protected methodMenu_AppendPreviewItem
Append the default Show/Hide preview menu item.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendPublish
Appends the default item for publishing to RCP. This menu will only appear if the current class implement IRcpAwareObject
(Inherited from GH_DocumentObject.)
Protected methodMenu_AppendRuntimeMessages
Append the default warnings and errors menu items.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendWarningsAndErrors Obsolete.
This method is obsolete and has been replaced with Menu_AppendRuntimeMessages().
(Inherited from GH_ActiveObject.)
Public methodMovedBetweenDocuments
Overrides the MovedBetweenDocuments method and delegates the call to all parameters.
(Overrides GH_DocumentObjectMovedBetweenDocuments(GH_Document, GH_Document).)
Public methodNewInstanceGuid
Generate a new random instance GUID
(Inherited from GH_InstanceDescription.)
Public methodNewInstanceGuid(Guid)
Set the instance ID to be a specific GUID. This is very dangerous, only use this function if you're 6"4' and your first name is David.
(Inherited from GH_InstanceDescription.)
Public methodOnAttributesChanged
Raises the AttributesChanged event on the toplevel object.
(Inherited from GH_DocumentObject.)
Public methodOnDisplayExpired
Raises the DisplayExpired event on the toplevel object.
(Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(String) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(GH_ObjectChangedEventArgs) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(GH_ObjectEventType) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(String, Object) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(GH_ObjectEventType, Object) (Inherited from GH_DocumentObject.)
Public methodOnPingDocument
Raise the PingDocument Event on the toplevel object and try to find the document which owns this object.
(Inherited from GH_DocumentObject.)
Public methodOnPreviewExpired
Raises the PreviewExpired event on the toplevel object.
(Inherited from GH_DocumentObject.)
Public methodOnSolutionExpired
Raises the SolutionExpired event on the toplevel object. You probably want to call ExpireSolution() instead of this method directly.
(Inherited from GH_DocumentObject.)
Protected methodPostConstructor
The PostConstructor is called from within each constructor. DO NOT OVERRIDE THIS unless you know what you are doing.
Public methodRead
Read all required data for deserialization from an IO archive.
(Overrides GH_ActiveObjectRead(GH_IReader).)
Public methodReadFull
GH_InstanceDescription does not by default serialize all fields. Use this function to read all fields from the archive. This method is compatible with the default Write()/Read() operations.
(Inherited from GH_InstanceDescription.)
Public methodRecordUndoEvent(String)
Record a generic object change undo event.
(Inherited from GH_DocumentObject.)
Public methodRecordUndoEvent(GH_UndoRecord)
Record an entire undo record.
(Inherited from GH_DocumentObject.)
Public methodRecordUndoEvent(String, IGH_UndoAction)
Record a specific object change undo event.
(Inherited from GH_DocumentObject.)
Protected methodRegisterInputParams
Declare all your input parameters here.
Protected methodRegisterOutputParams
Declare all your output parameters here.
Public methodRegisterRemoteIDs
Registers all my input parameters with the UUID_LookUpTable
(Overrides GH_ActiveObjectRegisterRemoteIDs(GH_GuidTable).)
Public methodRemovedFromDocument
Overrides the RemovedFromDocument method and delegates the call to all parameters.
(Overrides GH_DocumentObjectRemovedFromDocument(GH_Document).)
Public methodRuntimeMessages
Gets the list of cached runtime messages that were recorded during solver-time processes. For components, the set of runtime messages also includes input and output parameters.
(Overrides GH_ActiveObjectRuntimeMessages(GH_RuntimeMessageLevel).)
Public methodSDKCompliancy
Test whether this object is compliant with a given Rhino version.
(Inherited from GH_ActiveObject.)
Public methodSetIconOverride
Set a new custom icon override for this object.
(Inherited from GH_DocumentObject.)
Protected methodSetValue(String, Boolean)
Set a named value. This value will be serialized with the component.
(Inherited from GH_DocumentObject.)
Protected methodSetValue(String, Double)
Set a named value. This value will be serialized with the component.
(Inherited from GH_DocumentObject.)
Protected methodSetValue(String, Color)
Set a named value. This value will be serialized with the component.
(Inherited from GH_DocumentObject.)
Protected methodSetValue(String, Int32)
Set a named value. This value will be serialized with the component.
(Inherited from GH_DocumentObject.)
Protected methodSetValue(String, String)
Set a named value. This value will be serialized with the component.
(Inherited from GH_DocumentObject.)
Protected methodSolveInstance
This function will be called (successively) from within the ComputeData method of this component.
Public methodTriggerAutoSave
Triggers the AutoSave function on the owner document with the object_changed flag.
(Inherited from GH_DocumentObject.)
Public methodTriggerAutoSave(Guid)
Triggers the AutoSave function on the owner document with the object_changed flag.
(Inherited from GH_DocumentObject.)
Public methodTriggerAutoSave(GH_AutoSaveTrigger)
Triggers the AutoSave function on the owner document with a custom flag.
(Inherited from GH_DocumentObject.)
Public methodTriggerAutoSave(GH_AutoSaveTrigger, Guid)
Triggers the AutoSave function on the owner document with a custom flag.
(Inherited from GH_DocumentObject.)
Protected methodValuesChanged
Override this method if you want to respond to changes to the value table. The base implementation is empty, so you don't have to call it.
(Inherited from GH_DocumentObject.)
Public methodWrite
Write all required data for deserialization to an IO archive.
(Overrides GH_ActiveObjectWrite(GH_IWriter).)
Public methodWriteFull
GH_InstanceDescription does not by default serialize all fields. Use this function to write all fields to the archive. This method is compatible with the default Write()/Read() operations.
(Inherited from GH_InstanceDescription.)
Top
Events
  NameDescription
Public eventAttributesChanged
Raised whenever the number or kind of attributes changes. This event is handled by GH_Documents who subsequently wipe their attribute caches.
(Inherited from GH_DocumentObject.)
Public eventDisplayExpired
Raised whenever the display (on the Canvas) of a certain object becomes invalid.
(Inherited from GH_DocumentObject.)
Public eventObjectChanged (Inherited from GH_DocumentObject.)
Public eventPingDocument
Raised whenever an object needs to know which GH_Document it belongs to.
(Inherited from GH_DocumentObject.)
Public eventPreviewExpired
Raised whenever the display (in the Rhino viewports) of a certain object becomes invalid.
(Inherited from GH_DocumentObject.)
Public eventSolutionExpired
Raised whenever the solution of a certain object becomes invalid.
(Inherited from GH_DocumentObject.)
Top
Fields
  NameDescription
Protected fieldm_attributes (Inherited from GH_DocumentObject.)
Top
See Also