Struct InitContext
A unique initialization context provided to a node on instantiation that allows it to internally configure its specific instance.
Allows forwarding port declarations to another node instance on a port of the same type.
The effect is that any external connection made to those forwarded ports are converted into a direct connection between the 3rd party and the the node forwarded to.
This is invisible to anyone external to the node, and handled transparently by the node set.
This system allows a node to create sub graphs that appear as single node to everyone else.
Init(InitContext)
Syntax
public struct InitContext
Fields
Set
Declaration
public readonly NodeSetAPI Set
Field Value
Properties
Handle
A handle uniquely identifying the currently initializing node.
Declaration
public NodeHandle Handle { get; }
Property Value
Methods
EmitMessage<T, TNodeDefinition>(MessageOutput<TNodeDefinition, T>, T)
Emit a message from yourself on a port. Everything connected to it will receive your message.
Declaration
public void EmitMessage<T, TNodeDefinition>(MessageOutput<TNodeDefinition, T> port, in T msg)
where TNodeDefinition : NodeDefinition
Parameters
Type |
Name |
Description |
MessageOutput<TNodeDefinition, T> |
port |
|
T |
msg |
|
Type Parameters
Name |
Description |
T |
|
TNodeDefinition |
|
EmitMessage<T, TNodeDefinition>(PortArray<MessageOutput<TNodeDefinition, T>>, Int32, T)
Emit a message from yourself on a port array. Everything connected to it will receive your message.
Declaration
public void EmitMessage<T, TNodeDefinition>(PortArray<MessageOutput<TNodeDefinition, T>> port, int arrayIndex, in T msg)
where TNodeDefinition : NodeDefinition
Parameters
Type Parameters
Name |
Description |
T |
|
TNodeDefinition |
|
ForwardInput<TDefinition, TForwardedDefinition, TType>(DataInput<TDefinition, TType>, NodeHandle<TForwardedDefinition>, DataInput<TForwardedDefinition, TType>)
Declaration
public void ForwardInput<TDefinition, TForwardedDefinition, TType>(DataInput<TDefinition, TType> origin, NodeHandle<TForwardedDefinition> replacedNode, DataInput<TForwardedDefinition, TType> replacement)
where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
Parameters
Type |
Name |
Description |
DataInput<TDefinition, TType> |
origin |
|
NodeHandle<TForwardedDefinition> |
replacedNode |
|
DataInput<TForwardedDefinition, TType> |
replacement |
|
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TType |
|
ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageInput<TForwardedDefinition, TMsg>)
Sets up forwarding of the given input port to another input port on a different (sub) node.
Declaration
public void ForwardInput<TDefinition, TForwardedDefinition, TMsg>(MessageInput<TDefinition, TMsg> origin, NodeHandle<TForwardedDefinition> replacedNode, MessageInput<TForwardedDefinition, TMsg> replacement)
where TDefinition : NodeDefinition, new()
where TForwardedDefinition : NodeDefinition
Parameters
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TMsg |
|
ForwardInput<TDefinition, TForwardedDefinition, TType>(PortArray<DataInput<TDefinition, TType>>, NodeHandle<TForwardedDefinition>, PortArray<DataInput<TForwardedDefinition, TType>>)
Declaration
public void ForwardInput<TDefinition, TForwardedDefinition, TType>(PortArray<DataInput<TDefinition, TType>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<DataInput<TForwardedDefinition, TType>> replacement)
where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
Parameters
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TType |
|
ForwardInput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageInput<TDefinition, TMsg>>, NodeHandle<TForwardedDefinition>, PortArray<MessageInput<TForwardedDefinition, TMsg>>)
Declaration
public void ForwardInput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageInput<TDefinition, TMsg>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<MessageInput<TForwardedDefinition, TMsg>> replacement)
where TDefinition : NodeDefinition, new()
where TForwardedDefinition : NodeDefinition
Parameters
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TMsg |
|
ForwardInput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLInput<TDefinition, TDSLDefinition, IDSL>, NodeHandle<TForwardedDefinition>, DSLInput<TForwardedDefinition, TDSLDefinition, IDSL>)
Declaration
public void ForwardInput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLInput<TDefinition, TDSLDefinition, IDSL> origin, NodeHandle<TForwardedDefinition> replacedNode, DSLInput<TForwardedDefinition, TDSLDefinition, IDSL> replacement)
where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler<IDSL>, new()
where IDSL : class
Parameters
Type |
Name |
Description |
DSLInput<TDefinition, TDSLDefinition, IDSL> |
origin |
|
NodeHandle<TForwardedDefinition> |
replacedNode |
|
DSLInput<TForwardedDefinition, TDSLDefinition, IDSL> |
replacement |
|
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TDSLDefinition |
|
IDSL |
|
ForwardOutput<TDefinition, TForwardedDefinition, TType>(DataOutput<TDefinition, TType>, NodeHandle<TForwardedDefinition>, DataOutput<TForwardedDefinition, TType>)
Declaration
public void ForwardOutput<TDefinition, TForwardedDefinition, TType>(DataOutput<TDefinition, TType> origin, NodeHandle<TForwardedDefinition> replacedNode, DataOutput<TForwardedDefinition, TType> replacement)
where TDefinition : NodeDefinition where TForwardedDefinition : NodeDefinition where TType : struct
Parameters
Type |
Name |
Description |
DataOutput<TDefinition, TType> |
origin |
|
NodeHandle<TForwardedDefinition> |
replacedNode |
|
DataOutput<TForwardedDefinition, TType> |
replacement |
|
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TType |
|
ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg>, NodeHandle<TForwardedDefinition>, MessageOutput<TForwardedDefinition, TMsg>)
Sets up forwarding of the given output port to another output port on a different (sub) node.
Declaration
public void ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(MessageOutput<TDefinition, TMsg> origin, NodeHandle<TForwardedDefinition> replacedNode, MessageOutput<TForwardedDefinition, TMsg> replacement)
where TDefinition : NodeDefinition, new()
where TForwardedDefinition : NodeDefinition
Parameters
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TMsg |
|
ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageOutput<TDefinition, TMsg>>, NodeHandle<TForwardedDefinition>, PortArray<MessageOutput<TForwardedDefinition, TMsg>>)
Declaration
public void ForwardOutput<TDefinition, TForwardedDefinition, TMsg>(PortArray<MessageOutput<TDefinition, TMsg>> origin, NodeHandle<TForwardedDefinition> replacedNode, PortArray<MessageOutput<TForwardedDefinition, TMsg>> replacement)
where TDefinition : NodeDefinition, new()
where TForwardedDefinition : NodeDefinition
Parameters
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TMsg |
|
ForwardOutput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLOutput<TDefinition, TDSLDefinition, IDSL>, NodeHandle<TForwardedDefinition>, DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL>)
Declaration
public void ForwardOutput<TDefinition, TForwardedDefinition, TDSLDefinition, IDSL>(DSLOutput<TDefinition, TDSLDefinition, IDSL> origin, NodeHandle<TForwardedDefinition> replacedNode, DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL> replacement)
where TDefinition : NodeDefinition, IDSL where TForwardedDefinition : NodeDefinition, IDSL where TDSLDefinition : DSLHandler<IDSL>, new()
where IDSL : class
Parameters
Type |
Name |
Description |
DSLOutput<TDefinition, TDSLDefinition, IDSL> |
origin |
|
NodeHandle<TForwardedDefinition> |
replacedNode |
|
DSLOutput<TForwardedDefinition, TDSLDefinition, IDSL> |
replacement |
|
Type Parameters
Name |
Description |
TDefinition |
|
TForwardedDefinition |
|
TDSLDefinition |
|
IDSL |
|
RegisterForUpdate()
Declaration
public void RegisterForUpdate()
Exceptions
RemoveFromUpdate()
Declaration
public void RemoveFromUpdate()
Exceptions
SetKernelBufferSize<TGraphKernel>(TGraphKernel)
Declaration
public void SetKernelBufferSize<TGraphKernel>(in TGraphKernel requestedSize)
where TGraphKernel : IGraphKernel
Parameters
Type |
Name |
Description |
TGraphKernel |
requestedSize |
|
Type Parameters
Name |
Description |
TGraphKernel |
|
UpdateKernelData<TKernelData>(TKernelData)
Updates the associated TKernelData
asynchronously,
to be available in a IGraphKernel in the next render.
Declaration
public void UpdateKernelData<TKernelData>(in TKernelData data)
where TKernelData : struct, IKernelData
Parameters
Type |
Name |
Description |
TKernelData |
data |
|
Type Parameters
Name |
Description |
TKernelData |
|