Click or drag to resize

GH_ParamT Class

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

Namespace:  Grasshopper.Kernel
Assembly:  Grasshopper (in Grasshopper.dll)
Syntax
public abstract class GH_Param<T> : GH_ActiveObject, 
	IGH_Param
where T : class, IGH_Goo

Type Parameters

T
Data type for this parameter.

The GH_ParamT type exposes the following members.

Constructors
  NameDescription
Protected methodGH_ParamT(IGH_InstanceDescription)
Initializes a new instance of the GH_ParamT class
Protected methodGH_ParamT(IGH_InstanceDescription, GH_ParamAccess)
Initializes a new instance of the GH_ParamT class
Protected methodGH_ParamT(String, String, String, String, String, GH_ParamAccess)
Initializes a new instance of the GH_ParamT class
Top
Properties
  NameDescription
Public propertyAccess
Gets or sets the Access level for this parameter.
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 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 propertyDataMapping
Gets or sets the data mapping of this Parameter.
Public propertyDataType
Type is either Void if there are no sources or Remote. Derived classes should expand on this.
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 propertyHasProxySources
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 propertyHasSubCategory
Gets whether or not the SubCategory field has been set.
(Inherited from GH_InstanceDescription.)
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 propertyInstanceDescription
Gets the description of this instance. The default description is about the amount and source of the local values.
(Overrides GH_InstanceDescriptionInstanceDescription.)
Public propertyInstanceGuid
Gets the ID of this runtime instance.
(Inherited from GH_InstanceDescription.)
Public propertyIsDataProvider (Overrides GH_ActiveObjectIsDataProvider.)
Public propertyIsPrincipal
Gets whether this parameter is a principal parameter. Principal parameters are maintained by components and are not part of the IGH_Param interface.
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 propertyKind
Gets the parameter kind. The kind is evaluated lazily and cached.
Public propertyLocked
Gets or sets the enabled flag of this object. Disabled objects are ignored during solutions.
(Inherited from GH_ActiveObject.)
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 propertyOptional
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 propertyPhase
Gets or sets the solution phase this object is currenly in.
(Inherited from GH_ActiveObject.)
Public propertyProcessorTime (Overrides GH_ActiveObjectProcessorTime.)
Public propertyProxySourceCount
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 propertyRecipients
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 propertyReverse
Gets or sets the data reverse modifier of this parameter.
Public propertyRuntimeMessageLevel
Returns the worst case flag for the current object

If the object contains at least 1 error, the result is Error.

If the object contains at least 1 warning, the result is Warning.

If the object contains at least 1 message, the result is Remark.

If the object contains no errors, no warnings and no messages, the result is Blank.

(Inherited from GH_ActiveObject.)
Public propertySimplify
Gets or sets the simplify modifier for this parameter.
Public propertySourceCount
Gets the number of sources for this parameter.
Public propertySources
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 propertyStateTags
Gets all the StateTags that are associated with this parameter. A state tag is a visual feedback icon that represents specific internal settings.
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.)
Public propertyType
Gets the Framework Type descriptor for the stored Data.
Public propertyTypeName
Calls TypeName() on the first instance of T it can find. This is either an item in the volatile list, or a newly constructed instance.
Public propertyVolatileData
Public propertyVolatileDataCount
Public propertyWireDisplay
Gets or sets the wire display style for this parameter. Wire display only affects the wires connected to the parameter input.
Top
Methods
  NameDescription
Public methodAddedToDocument
This method will be called when an object is added to a document. Override this method if you want to handle such events.
(Inherited from GH_DocumentObject.)
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.)
Public methodAddSource(IGH_Param)
Append a new Source parameter to the end of the Sources list. Sources provide this parameter with data at runtime.
Public methodAddSource(IGH_Param, Int32)
Insert a new Source parameter into the Sources list. Sources provide this parameter with data at runtime.
Public methodAddVolatileData(GH_Path, Int32, T)
Public methodAddVolatileData(GH_Path, Int32, Object)
Inserts an item of volatile data into the data structure.
Public methodAddVolatileDataList(GH_Path, ListT)
Public methodAddVolatileDataList(GH_Path, IEnumerable)
Public methodAddVolatileDataTree(GH_StructureT)
Public methodAddVolatileDataTree(IGH_Structure)
Public methodAppendAdditionalMenuItems
Override this function if you want to add specific items to the object context menu Default items already included in the menu toolstrip are: 1. Name 2. Preview 3. Warnings 4. Errors
(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.)
Protected methodCast_Object
Attempts to convert the Object reference into an instance of T. This method will perform a direct cast if possible or it will call Casting functions on T or Data if they exist. Data will not be duplicated unless a type conversion is required.
Public methodClearData (Overrides GH_ActiveObjectClearData.)
Public methodClearProxySources
Remove all proxy sources without attempting to relink them.
Public methodClearRuntimeMessages
Destroy all warning and error lists
(Inherited from GH_ActiveObject.)
Public methodCollectData (Overrides GH_ActiveObjectCollectData.)
Protected methodCollectVolatileData_Custom
If a parameter has no sources, the CollectVolatileData_Custom() method is called. The basic implementation does nothing, but you can override this method to provide special data instantiation logic.
Protected methodCollectVolatileData_FromSources
This method collects volatile data from all the source parameters.
Public methodComputeData (Overrides GH_ActiveObjectComputeData.)
Protected methodConversionCallback
This method is called whenever a successful conversion takes place from some source data into local target data. Override it if you wish to keep tabs on conversions.
Public methodCopyFrom
Copy all fields (except the instance ID) from another instance description.
(Inherited from GH_InstanceDescription.)
Public methodCreateAttributes (Overrides GH_DocumentObjectCreateAttributes.)
Public methodCreateProxySources
Convert all proper source parameters into proxy sources.
Public methodDependsOn (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.)
Public methodDocumentContextChanged
This method will be called when the document that owns this object moves into a different context.
(Inherited from GH_DocumentObject.)
Protected methodExpireDownStreamObjects (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.)
Public methodExpireSolutionTopLevel
Invoke the Expiresolution(bool) method on the toplevel object.
Protected methodFormat
Returns "Null" if the data is a null reference, otherwise calls ToString() on the Data instance.
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
(Inherited from GH_DocumentObject.)
Protected methodInstantiateT
Attempts to instantiate a new instance of T.
Public methodIsolateObject (Overrides GH_DocumentObjectIsolateObject.)
Protected methodMenu_AppendBakeItem
Append the default Bake menu item.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendDisconnectWires
Protected methodMenu_AppendEnableItem
Append the default Enable/Disable menu item.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendFlattenParameter
Protected methodMenu_AppendGraftParameter
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_AppendPrincipalParameter
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_AppendReverseParameter
Protected methodMenu_AppendRuntimeMessages
Append the default warnings and errors menu items.
(Inherited from GH_ActiveObject.)
Protected methodMenu_AppendSimplifyParameter
Protected methodMenu_AppendWireDisplay
Public methodMovedBetweenDocuments
This method will be called when an object is moved from one document to another. Override this method if you want to handle such events.
(Inherited from GH_DocumentObject.)
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(GH_ObjectChangedEventArgs) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(GH_ObjectEventType) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(String) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(GH_ObjectEventType, Object) (Inherited from GH_DocumentObject.)
Public methodOnObjectChanged(String, 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 methodOnVolatileDataCollected
Once volatile data has been collected this method will be calles. The basic implementation does nothing, but you can add code here to post-process or analyze the volatile data.
Protected methodPreferredCast
Implement this function if you're certain that you'll be confronted with very common casts. For example, GH_Point has a preferred cast from Rhino.Geometry.Point3d and GH_Number has a preferred cast from System.Double.
Protected methodPreview_ComputeClippingBox
This function can be used to iterate over all items in the Volatile data tree and collect the union clipping box of all non-null items that implement Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
Protected methodPreview_DrawMeshes
This function can be used to iterate over all items in the Volatile data tree and call DrawViewportWires on each item that implements Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
Protected methodPreview_DrawWires
This function can be used to iterate over all items in the Volatile data tree and call DrawViewportWires on each item that implements Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
Public methodRead (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(GH_UndoRecord)
Record an entire undo record.
(Inherited from GH_DocumentObject.)
Public methodRecordUndoEvent(String)
Record a generic object change undo event.
(Inherited from GH_DocumentObject.)
Public methodRecordUndoEvent(String, IGH_UndoAction)
Record a specific object change undo event.
(Inherited from GH_DocumentObject.)
Public methodRegisterRemoteIDs
Override this function if you want object changes in the Rhino document to trigger a new solution.
(Inherited from GH_ActiveObject.)
Protected methodRegisterRemoteIDsUtil
Utility function which treats all data in the Volatile cache as IGH_GeometricGoo and registers all referenced objects. Call this function from within RegisterRemoteIDs() if you are absolutely sure that all the items in volatiledata implement IGH_GeometricGoo.
Public methodRelinkProxySources
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 methodRemoveAllSources
Remove all sources from this parameter.
Public methodRemovedFromDocument
This method will be called when an object is removed from a document. Override this method if you want to handle such events.
(Inherited from GH_DocumentObject.)
Public methodRemoveEffects
Remove all post-process effects. Note to implementors, you must call the base method if you override this function.
Public methodRemoveSource(Guid)
Remove the specified source from this parameter.
Public methodRemoveSource(IGH_Param)
Remove the specified source from this parameter.
Protected methodRender_AppendGeometry Obsolete.
This function has been emptied because it is Obsolete.
Public methodReplaceSource(Guid, IGH_Param)
Replace an existing source with a new one. If the old_source does not exist in this parameter, nothing happens.
Public methodReplaceSource(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 methodRuntimeMessages
Gets the list of cached runtime messages that were recorded during solver-time processes.
(Inherited from GH_ActiveObject.)
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.)
Public methodSetPrincipal
Set the principal parameter state.
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.)
Public methodTriggerAutoSave
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(Guid)
Triggers the AutoSave function on the owner document with the object_changed 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.)
Protected methodVolatileDataDescription
This method is called to populate the Tooltip data description field.
Public methodWrite (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.)
Protected fieldm_data
Contains the runtime data for this parameter, also known as "Volatile" data.
Top
See Also