Nothing matches.
Abstract class for all components.
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
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.
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.
Implements: Nomen
Implements: Obsolete
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 CanCreateParameter(Side, int), CanRemoveParameter(Side, int), and DoCreateParameter(Side, int, ActionList) must all have been overridden.
Implements: UserName
Methods
AddInputs
#Add all standard input parameters by implementing this method. It will be called only once from the base class constructor and will thus execute *before* the constructor of the derived class.
Parameters:
| inputs (InputAdder) |
AddOutputs
#Add all standard output parameters by implementing this method. It will be called only once from the base class constructor and will thus execute *before* the constructor of the derived class.
Parameters:
| outputs (OutputAdder) |
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) |
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. |
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) |
CanCreateParameter
#Method which determines whether a parameter can be created at the given location.
CanRemoveParameter
#Method which determines whether the specified parameter can be removed.
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
#Create default attributes for this object. If attributes already exist, this method will not replace them.
Overrides: DocumentObject.CreateAttributes
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
#Method used to construct the parameter at the given location. This method is only called if CanCreateParameter(Side, int) returns true with the same side and index.
Parameters:
| side (Side) | Indicated side. |
| index (int) | Indicated index. |
| undo (ActionList) | Addition and other modification undo actions ought to be appended to this list. |
DoRemoveParameter
#Method used to remove the indicated parameter for realsies. This method is only called if CanRemoveParameter(Side, int) returns true with the same side and index.
Parameters:
| side (Side) | Indicated side. |
| index (int) | Indicated index. |
| undo (ActionList) | Removal and other modification undo actions ought to be appended to this list. |
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: ActiveObject.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
Parameters:
| map (Dictionary<Guid, Guid>) |
Implements: ApplyIdMap
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 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 Process(IDataAccess) during a single solution.
Parameters:
| solution (Solution) |
Process
#Process the logic of this component.
Parameters:
| access (IDataAccess) | Access to input and output data. |
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.
Store
#Serialise this component.
Parameters:
| writer (IWriter) | Writer object. |
Overrides: DocumentObject.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