IGH_Param
Base interface for all Parameter types in Grasshopper. Do not implement this interface from scratch, derive from GH_Param or GH_PersistentParam instead.
Namespace: Grasshopper.Kernel
Assembly: Grasshopper (in Grasshopper.dll)
Syntax
public interface IGH_Param : IGH_ActiveObject
The IGH_Param type exposes the following members.
Properties
Name
Description
Public Property
Access
Gets or sets the Access level for this parameter.
Public Property
DataMapping
Gets or sets the data mapping of this Parameter.
Public Property
DataType
Gets the type of the current data state.
Public Property
HasProxySources
Gets a value indicating whether or not this parameter maintains proxy sources. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
Public Property
IsDataProvider
Gets whether or not this object is capable of emitting data.
(Inherited from IGH_ActiveObject.)
Public Property
Kind
Gets the parameter kind. The kind is evaluated lazily and cached.
Public Property
Locked
Gets or sets the locked flag of this object. Locked objects are ignored during solutions.
(Inherited from IGH_ActiveObject.)
Public Property
MutableNickName
Gets or sets a value that enables Nick name changes through the menu. The default is TRUE.
(Inherited from IGH_ActiveObject.)
Public Property
Optional
Gets or sets whether or not this parameter is considered optional by the owner component. Empty, non-optional parameters prevent the component from being solved.
Public Property
Phase
Gets the solution phase in which this object is currently stuck.
(Inherited from IGH_ActiveObject.)
Public Property
ProcessorTime
Gets the most recent measured processor time.
(Inherited from IGH_ActiveObject.)
Public Property
ProxySourceCount
Gets the number of proxy sources for this parameter. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
Public Property
Recipients
Gets a list of all the recipients of this parameter. I.e. a recipient has this parameter as one of the sources. The Recipient list is maintained by the parameter, do not modify it yourself.
Public Property
Reverse
Gets or sets the data reverse modifier of this parameter.
Public Property
RuntimeMessageLevel
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.
(Inherited from IGH_ActiveObject.)
Public Property
Simplify
Gets or sets the simplify modifier for this parameter.
Public Property
SourceCount
Gets the number of sources for this parameter.
Public Property
Sources
Gets a list of source parameters. Do not modify this list, if you wish to add or remove sources, use dedicated functions like AddSource() and RemoveSource instead.
Public Property
StateTags
Gets all the StateTags that are associated with this parameter. A state tag is a visual feedback icon that represents specific internal settings.
Public Property
Type
Gets the Framework Type descriptor for the stored Data.
Public Property
TypeName
Gets a human readable description of the data stored in this parameter.
Public Property
VolatileData
Gets the instance of the volatile data tree stored in this parameter.
Public Property
VolatileDataCount
Gets the total number of volatile data items stored in this parameter.
Public Property
WireDisplay
Gets or sets the wire display style for this parameter. Wire display only affects the wires connected to the parameter input.
Methods
Name
Description
Public Method
AddRuntimeMessage
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 IGH_ActiveObject.)
Public Method
AddSource(IGH_Param)
Append a new Source parameter to the end of the Sources list. Sources provide this parameter with data at runtime.
Public Method
AddSource(IGH_Param, Int32)
Insert a new Source parameter into the Sources list. Sources provide this parameter with data at runtime.
Public Method
AddVolatileData
Inserts an item of volatile data into the data structure.
Public Method
AddVolatileDataList
Inserts a list of items into the data structure.
Public Method
AddVolatileDataTree
Insert an entire data tree into this parameter.
Public Method
ClearData
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
(Inherited from IGH_ActiveObject.)
Public Method
ClearProxySources
Remove all proxy sources without attempting to relink them.
Public Method
ClearRuntimeMessages
Clear all message lists.
(Inherited from IGH_ActiveObject.)
Public Method
CollectData
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
(Inherited from IGH_ActiveObject.)
Public Method
ComputeData
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.
(Inherited from IGH_ActiveObject.)
Public Method
CreateProxySources
Convert all proper source parameters into proxy sources.
Public Method
DependsOn
Solve the inheritance relationship between this object and a potential parental object.
(Inherited from IGH_ActiveObject.)
Public Method
RegisterRemoteIDs
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.
(Inherited from IGH_ActiveObject.)
Public Method
RelinkProxySources
Attempt to replace all proxy sources with real sources. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
Public Method
RemoveAllSources
Remove all sources from this parameter.
Public Method
RemoveEffects
Remove all post-process effects.
Public Method
RemoveSource(Guid)
Remove the specified source from this parameter.
Public Method
RemoveSource(IGH_Param)
Remove the specified source from this parameter.
Public Method
ReplaceSource(Guid, IGH_Param)
Replace an existing source with a new one. If the old_source does not exist in this parameter, nothing happens.
Public Method
ReplaceSource(IGH_Param, IGH_Param)
Replace an existing source with a new one. If the old_source does not exist in this parameter, nothing happens.
Public Method
RuntimeMessages
Gets the list of cached runtime messages that were recorded during solver-time processes.
(Inherited from IGH_ActiveObject.)
Public Method
SDKCompliancy
Test whether this object is compliant with a given Rhino version.
(Inherited from IGH_ActiveObject.)