Namespace FlowGraph.Core.DataFlow
Classes
- GraphExecutor
Executes a graph by propagating data through connected nodes. Uses topological sorting for correct execution order. Optimized for incremental updates - only re-executes affected nodes. Thread-safe for concurrent access from multiple threads.
- InputNodeProcessor<T>
A simple processor for nodes that only output values (no processing needed). Use this for input nodes like color pickers, sliders, text inputs, etc.
- NodeProcessedEventArgs
Event args for node processed events.
- NodeProcessor
Base class for typed node processors with specific input/output types. Provides helper methods for registering ports and managing values.
- OutputNodeProcessor<T>
A processor for nodes that receive values and display/use them (no outputs). Use this for output/display nodes.
- PortValueChangedEventArgs
Event args for port value changes.
- PortValueChangedEventArgs<T>
Typed event args for port value changes. Note: This class sets both the base class properties AND provides typed accessors.
- ReactivePort<T>
A reactive port that stores a value and notifies when it changes. Thread-safe for UI binding scenarios.
Interfaces
- INodeProcessor
Interface for nodes that can process data. Implement this to create nodes that transform input values to output values.
- IPortValue
Non-generic base interface for port values. Enables working with port values without knowing their concrete type.
- IPortValue<T>
Represents a reactive port value that notifies when changed.