Logo ProcessCore

IONode Type

An IONode is either a Material or a Data node.

Union cases

Union case Description

DataNode Data

Full Usage: DataNode Data

Parameters:
Item : Data

MaterialNode Material

Full Usage: MaterialNode Material

Parameters:
Item : Material

Instance members

Instance member Description

this.AllConnectedNodes

Full Usage: this.AllConnectedNodes

Parameters:
Returns: ResizeArray<IONode>

All IONodes connected to this node through the process graph (union of all upstream and downstream neighbours), excluding this node itself.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<IONode>

this.AllConnectedProcesses

Full Usage: this.AllConnectedProcesses

Parameters:
Returns: ResizeArray<LabProcess>

All processes reachable from this node by BFS through both upstream and downstream edges. Optional `scope` restricts traversal to the given process list (e.g. a single Dataset).

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<LabProcess>

this.AllPropertyValues

Full Usage: this.AllPropertyValues

Parameters:
Returns: ResizeArray<PropertyValue>

All PropertyValues from all sources (parameters, input/output node properties, protocol components) connected to this node through the graph.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<PropertyValue>

this.AsData

Full Usage: this.AsData

Returns: Data
Returns: Data

this.AsMaterial

Full Usage: this.AsMaterial

Returns: Material
Returns: Material

this.ConnectedData

Full Usage: this.ConnectedData

Parameters:
Returns: ResizeArray<Data>

All Data nodes connected to this node through the graph.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Data>

this.ConnectedMaterials

Full Usage: this.ConnectedMaterials

Parameters:
Returns: ResizeArray<Material>

All Material nodes connected to this node through the graph.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Material>

this.DownstreamData

Full Usage: this.DownstreamData

Parameters:
Returns: ResizeArray<Data>

All Data nodes reachable downstream from this node.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Data>

this.DownstreamMaterials

Full Usage: this.DownstreamMaterials

Parameters:
Returns: ResizeArray<Material>

All Material nodes reachable downstream from this node.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Material>

this.DownstreamNodes

Full Usage: this.DownstreamNodes

Parameters:
Returns: ResizeArray<IONode>

All IONodes reachable by walking downstream from this node. When a process has equal numbers of inputs and outputs the Nth input corresponds to the Nth output (positional N-to-N mapping). Falls back to all outputs when counts differ.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<IONode>

this.DownstreamProcesses

Full Usage: this.DownstreamProcesses

Parameters:
Returns: ResizeArray<LabProcess>

All processes reachable by walking downstream (InputOf edges → Outputs).

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<LabProcess>

this.DownstreamPropertyValues

Full Usage: this.DownstreamPropertyValues

Parameters:
    ?protocolName : string
    ?scope : ResizeArray<LabProcess>

Returns: ResizeArray<PropertyValue>

PropertyValues from all sources in processes downstream of this node. Optional protocolName restricts to processes whose protocol name matches.

?protocolName : string
?scope : ResizeArray<LabProcess>
Returns: ResizeArray<PropertyValue>

this.EqualTo

Full Usage: this.EqualTo

Parameters:
Returns: bool
other : IONode
Returns: bool

this.FinalNodes

Full Usage: this.FinalNodes

Parameters:
Returns: ResizeArray<IONode>

Downstream nodes that have no successors within scope (terminal sinks).

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<IONode>

this.GetInputOf

Full Usage: this.GetInputOf

Returns: HashSet<LabProcess>

Processes for which this node is an input (forward back-edges).

Returns: HashSet<LabProcess>

this.GetOutputOf

Full Usage: this.GetOutputOf

Returns: HashSet<LabProcess>

Processes for which this node is an output (backward back-edges).

Returns: HashSet<LabProcess>

this.IsDataNode

Full Usage: this.IsDataNode

Returns: bool
Returns: bool

this.IsFinalNode

Full Usage: this.IsFinalNode

Parameters:
Returns: bool

True if no in-scope process consumes this node as input (no successors in scope).

?scope : ResizeArray<LabProcess>
Returns: bool

this.IsMaterialNode

Full Usage: this.IsMaterialNode

Returns: bool
Returns: bool

this.IsRootNode

Full Usage: this.IsRootNode

Parameters:
Returns: bool

True if no in-scope process produces this node as output (no predecessors in scope).

?scope : ResizeArray<LabProcess>
Returns: bool

this.Key

Full Usage: this.Key

Returns: string

Stable string key used for identity checks and HashSet deduplication.

Returns: string

this.PathsThrough

Full Usage: this.PathsThrough

Parameters:
Returns: ResizeArray<Path>

All maximal Paths that pass through this node within the given process scope.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Path>

this.Processes

Full Usage: this.Processes

Parameters:
Returns: ResizeArray<LabProcess>

All in-scope processes in which this node appears as an input or output.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<LabProcess>

this.ProtocolParameters

Full Usage: this.ProtocolParameters

Parameters:
Returns: ResizeArray<FormalParameter>

All FormalParameters from protocols executed in processes connected to this node.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<FormalParameter>

this.RootNodes

Full Usage: this.RootNodes

Parameters:
Returns: ResizeArray<IONode>

Upstream nodes that have no predecessors within scope (terminal sources).

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<IONode>

this.TryData

Full Usage: this.TryData

Returns: Data option
Returns: Data option

this.TryMaterial

Full Usage: this.TryMaterial

Returns: Material option
Returns: Material option

this.UpstreamData

Full Usage: this.UpstreamData

Parameters:
Returns: ResizeArray<Data>

All Data nodes reachable upstream from this node.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Data>

this.UpstreamMaterials

Full Usage: this.UpstreamMaterials

Parameters:
Returns: ResizeArray<Material>

All Material nodes reachable upstream from this node.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<Material>

this.UpstreamNodes

Full Usage: this.UpstreamNodes

Parameters:
Returns: ResizeArray<IONode>

All IONodes reachable by walking upstream from this node. When a process has equal numbers of inputs and outputs the Nth output corresponds to the Nth input (positional N-to-N mapping). Falls back to all inputs when counts differ.

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<IONode>

this.UpstreamProcesses

Full Usage: this.UpstreamProcesses

Parameters:
Returns: ResizeArray<LabProcess>

All processes reachable by walking upstream (OutputOf edges → Inputs).

?scope : ResizeArray<LabProcess>
Returns: ResizeArray<LabProcess>

this.UpstreamPropertyValues

Full Usage: this.UpstreamPropertyValues

Parameters:
    ?protocolName : string
    ?scope : ResizeArray<LabProcess>

Returns: ResizeArray<PropertyValue>

PropertyValues from all sources in processes upstream of this node. Optional protocolName restricts to processes whose protocol name matches.

?protocolName : string
?scope : ResizeArray<LabProcess>
Returns: ResizeArray<PropertyValue>

Type something to start searching.