RhinoPipeline
ModularComponentComponentActiveObjectDocumentObject[IoId("00000000-dc6b-4e68-8907-d77126951cec")]
[Author("DavidR")]
public sealed class RhinoPipeline : ModularComponent
Constructors
Properties
Activity
Gets or sets the active state of this object. Note that this property is meaningless for certain types of object.
Implements: Activity
Implements: Attributes
BakeCapable
Gets whether this component is capable of baking any data at this very moment.
Implements: BakeCapable
ChildrenObjects
Gets all immediate child objects that belong to the current object. It is possible that an object does not have any children, and it is possible that a child object has children of its own.
Overrides: DocumentObject.ChildrenObjects
Connectivity
Gets the topological description of this object. Component topology by default only connects the component to its own inputs and outputs. If you wish to get the connectivity for the component as a whole, access the ConnectivityComplete property instead.
Overrides: DocumentObject.Connectivity
ConnectivityComplete
Gets the connectivity of this component as a whole (meaning including the input and output parameters).
CustomValues
Gets a collection of keyed values which can be used to store custom data which will survive (de)serialisation.
Implements: CustomValues
Display
Gets or sets the display state of this object. Note that this property is meaningless for certain types of object.
Implements: Display
inherited fromActiveObject
DisplayCapable
Overrides: DocumentObject.DisplayCapable
DisplayName
Gets the display name of this object. Often the DisplayName is identical to the UserName, but there could be more complicated algorithms involved.
Implements: DisplayName
DisplayParameters
Enumerate over all display capable inputs and outputs. This enumerator skips over disabled and hidden parameters, as well as inputs with sources, and parameters whose attribute bounds are empty.
DisplayStyle
Gets or sets the display style to use for the geometric data inside this object. Note that this property is meaningless for certain types of object.
Implements: DisplayStyle
Document
Gets or sets the document this object belongs to. It is possible an object does not belong to any document, however it can never belong to more than one document simultaneously.
Implements: Document
EntireFamily
Enumerates over all objects in the hierarchy this object is part of. This enumeration starts at the root object and then continues over all children and grandchildren in a breadth-first fashion.
Implements: EntireFamily
FoundingObject
Gets the root or founding object in the object hierarchy. If the current object does not have a parent, it is a founding object.
Implements: FoundingObject
Implements: Icon
IconInternal
Override this method to provide an icon for this object. If the icon is an embedded resource in this assembly with the same name as the class, it will automatically be loaded. The DocumentObject.Icon property calls this property and caches the result.
IconMode
Gets or sets the name vs. icon display mode of this component.
InstanceId
Gets or sets the instance Id for this object. The instance Id should be different for every instance of every type. Do *not* assign this Id unless you know exactly what you are doing.
Implements: InstanceId
Label
Gets (or sets, if you derive from this component) the label. The label ought to be a short, single-line string which is displayed as part of the component slab.
ModularInputs
Gets the visible/hidden status for optional inputs. Note that this property will yield null until after the constructor completes.
ModularOutputs
Gets the visible/hidden status for optional outputs. Note that this property will yield null until after the constructor completes.
Implements: Nomen
Implements: Obsolete
Parameters
Gets access to the input and output parameters of this component.
ParentObject
Gets or sets the parent object that owns this object. Top-level objects do not have parents. Do not assign or remove parents unless you know exactly what you are doing.
Implements: ParentObject
Implements: Phase
Pins
Gets the pin collection for this cushion. Note that the Component base class implements this only to make it easier for sub-classes to implement IPinCushion. If the derived class does not implement IPinCushion then this field will probably be null.
ProgressPercentage
Gets the progress as a percentage. If this object is currently not calculating a new solution, this number is not meaningful.
Implements: ProgressPercentage
Relevance
Gets or sets the auxiliary state of this object. Auxiliary objects are drawn in an inconspicuous way as they are considered in-between logic. Note that this property is meaningless for certain types of object.
Implements: Relevance
Implements: Selected
Selection
Gets or sets the selected state of this object. Note that the selected setting of secondary objects is inherited from the parent.
Implements: Selection
SiblingObjects
Gets all sibling objects in the object family tree.
Implements: SiblingObjects
State
Gets the current state of this object. This is always the most recently completed state.
Overrides: DocumentObject.State
SupportsVariableParameters
Gets whether this component supports parameter addition and removal. For this to be true, the methods Component.CanCreateParameter(Side, int), Component.CanRemoveParameter(Side, int), and Component.DoCreateParameter(Side, int, ActionList) must all have been overridden.
Threading
Gets or sets the processing level for this component.
Implements: UserName
Methods
AddInputs
Parameters:
| inputs (InputAdder) |
Overrides: Component.AddInputs
AddOutputs
Parameters:
| outputs (OutputAdder) |
Overrides: Component.AddOutputs
AddUndoRecord
public void AddUndoRecord(Record record)
Add a custom undo record for this object.
AddUndoRecord
Add a single action undo record for this object.
Returns: Id of undo record.
Implements: AddUndoRecord
Parameters:
| panel (InputPanel) |
AppendMetaMixingInput
Parameters:
| panel (InputPanel) |
AppendPinToggles
Add toggles to an input panel based on the supported pins of this component.
Parameters:
| panel (InputPanel) |
AppendStateInput
Append the 'Enabled' and 'Display' states to this input panel.
Parameters:
| panel (InputPanel) | Panel to append to. |
| enabledState (bool) | If true, the Enabled state button will be modifiable. |
| displayState (bool) | If true, the Display state button will be modifiable. |
AppendToInputPanel
Parameters:
| panel (InputPanel) |
Overrides: Component.AppendToInputPanel
AppendUserNameInput
Append the user name text box within a category labelled 'Attributes'.
Parameters:
| panel (InputPanel) |
BakeShapes
Bake the shapes in all output parameters. By default this method does not include input parameters or any data on the component itself, but individual components may override that behaviour.
Parameters:
| context (BakeContext) | |
| mode (BakeUpdateMode) |
Implements: BakeShapes
BeforeProcess
Override this method to perform some action before any data about the component process have been collected or computed. This would be a good place to modify the topology of the input or output parameters for example.
Parameters:
| solution (Solution) |
ChangeInstanceIds
Parameters:
| map (Dictionary<Guid, Guid>) |
Compute
Compute a new solution for this object, or return a completed solution if one is available.
Returns: Result of computation.
Overrides: DocumentObject.Compute
ComputeInternal
Compute and populate a new solution object. Please do not override this method on your own component class unless you have a really solid understanding of what you're doing. The only reason this method isn't sealed is because Chains and Clusters need to be able to override it.
Parameters:
| solution (Solution) | Top level document solution associated with this particular Compute() invoke. |
| stack (CallStack) | Call stack up to this point. |
Returns: A fully populated solution object.
Overrides: ActiveObject.ComputeInternal
CreateAttributes
Overrides: Component.CreateAttributes
DisplayBounds
Overrides: ActiveObject.DisplayBounds
DisplayFaces
Parameters:
| pipeline (DisplayPipeline) | |
| guises (Guises) | |
| extents (ref BoundingBox) |
Overrides: ActiveObject.DisplayFaces
DisplayWires
Parameters:
| pipeline (DisplayPipeline) | |
| guises (Guises) | |
| extents (ref BoundingBox) |
Overrides: ActiveObject.DisplayWires
DoCreateParameter
Parameters:
| side (Side) | |
| index (int) | |
| undo (ActionList) |
Overrides: Component.DoCreateParameter
DoRemoveParameter
Parameters:
| side (Side) | |
| index (int) | |
| undo (ActionList) |
Overrides: Component.DoRemoveParameter
Expire
public sealed override void Expire()
Expire this object and all objects that depend on it. This will request-cancel any running solutions inside whatever document contains this object.
Overrides: DocumentObject.Expire
ExpireAllRecipients
#protected override void ExpireAllRecipients()
Overrides: Component.ExpireAllRecipients
ExpireDisplay
protected void ExpireDisplay()
Expire the attributes and raise the DisplayChanged event.
GetCreationInfo
Gets information about who created this component and when.
Returns: True if the creation data was available.
Implements: GetCreationInfo
GetModificationInfo
Gets information about who last modified this component and when.
Parameters:
| name (out string) | Name of modifier. |
| time (out DateTime) | Time of modification in UTC coordinates. |
Returns: True if the modification data was available.
Implements: GetModificationInfo
InvalidateExistingLayout
protected void InvalidateExistingLayout()
Invalidate the attribute layout, but only if the attributes already exist.
ModifyIcon
Override the icon for this object. Use this judiciously.
Parameters:
| newIcon (IIcon) | New icon to assign, or null to revert to the default icon. |
| overrideExtrinsicIcon (bool = true) | If true, the permanent extrinsic icon will be overwritten. If false, the temporary intrinsic icon will be overwritten. |
Implements: ModifyIcon
ModifyNameAndInfo
Programmatically modify the nickname, name and/or info strings on the Nomen.
Implements: ModifyNameAndInfo
Implements: OnDisplayChanged
OnExpired
protected internal void OnExpired()
Raise the Expired event.
Implements: OnLayoutChanged
OverrideAttributes
Assign new attributes to this object. Not all attributes may be accepted, it depends on the implementation.
Parameters:
| attributes (IAttributes) | New attributes to assign. Assigning null will revert to default attributes. |
Returns: True if attributes were accepted.
Implements: OverrideAttributes
PopulateDisplay
protected virtual void PopulateDisplay(SolutionData result, DisplayBag bag, CancellationToken token)
Override this method to populate a display bag from a computed result. The DisplayCapable property will return true if this method has been overridden.
Parameters:
| result (SolutionData) | Solution result. |
| bag (DisplayBag) | Bag to populate. |
| token (CancellationToken) | Cancellation token. |
PostProcess
Override this method to perform some action after all calls to Component.Process(IDataAccess) during a single solution.
Parameters:
| solution (Solution) | Solution for this process. |
| customData (FleetingCustomData) | Fleeting custom data populated during the Process iterations. |
PostProcessTree
Override this method if you wish to post-process the trees generated for the output parameters.
PreProcess
Override this method to perform some action prior to any call to Component.Process(IDataAccess) during a single solution.
Parameters:
| solution (Solution) |
Process
Parameters:
| iterations (IDataAccess[]) | |
| token (CancellationToken) |
RequestAutoSave
Request an autosave.
Parameters:
| reason (AutoSaveReason) | Autosave reason. |
| autosaveId (Guid) | Autosave Id. Consecutive requests with identical Ids are ignored. |
Implements: RequestAutoSave
RequestAutoSave
Request an autosave using the instance ID of this object as a filter. This means hat subsequent autosave requests coming from the same object will be ignored.
Parameters:
| reason (AutoSaveReason) | Autosave reason. |
Implements: RequestAutoSave
ResolveIconMode
Resolve the current icon mode to one of the definite states.
Parameters:
| mode (NameIconMode) |
SetCreationInfo
public void SetCreationInfo()
Set the CreatedBy and CreatedAt fields if they haven't been set already.
Implements: SetCreationInfo
SetModificationInfo
public void SetModificationInfo()
Set the ModifiedBy and ModifiedAt fields.
Implements: SetModificationInfo
SetProgressPercentage
Set the DocumentObject.ProgressPercentage field directly. The percentage is automatically limited to the [0, 100] interval.
Parameters:
| percentage (int) |
SetProgressPercentage
Set the DocumentObject.ProgressPercentage field based on a step count. This method always limits the percentage to the [1, 99] range, as 0% and 100% are oftentimes indicative of unstarted or completed processes, which probably gives the wrong impression.
Parameters:
| writer (IWriter) |
Overrides: Component.Store
UpdateDisplay
Parameters:
| data (SolutionData) | |
| rules (DisplayRules) | |
| token (CancellationToken) |
Overrides: DocumentObject.UpdateDisplay
VariableParameterMaintenance
public virtual void VariableParameterMaintenance()
This method will be invoked whenever a parameter is added or removed via the variable parameter mechanism.
Events
ActivityChanged
Raised whenever the Enabled state of this object changes.
Implements: ActivityChanged
AutosaveRequested
Raised whenever this object requests an autosave.
Implements: AutosaveRequested
DisplayChanged
Raised whenever the display state of this object changes.
Implements: DisplayChanged
DocumentChanged
Raised whenever this object becomes part of a different document.
Implements: DocumentChanged
Expired
Raised whenever the solution currently held by this object is expired.
Implements: Expired
InstanceIdChanged
Raised whenever the InstanceId of this object changes.
Implements: InstanceIdChanged
LayoutChanged
Raised whenever the layout of this object changes. Layout invalidation triggers a canvas redraw.
Implements: LayoutChanged
NameChanged
Raised whenever the UserName of this object changes. This typically infers that the DisplayName also changes.
Implements: NameChanged
RelevanceChanged
Raised whenever the Auxiliary state of this object changes.
Implements: RelevanceChanged
SelectedChanged
Raised whenever the Selected state of this object changes.
Implements: SelectedChanged