0.2.0
|
Nodes, also known as "modules" in flow-based programming, are the primary encapsulation mechanism inside INSTINCT. A Node can provide one or more input and/or output Pins . Matching pins can be linked in the GUI to provide nodes a mean to exchange data with each other.
Each node starts a thread during its Constructor which handles state transitions. Later on the thread will also handle data processing.
The State enum defines all possible state a node can be in within its lifetime. To change from one state to the next, the user can call certain functions:
Usually the user only calls the doInitialize(bool wait) or doDeinitialize(bool wait) as the other functions can be triggered over the GUI.
An overview when which function can be called and which state transition is performed can be seen in the following graph.
The doReinitialize(bool wait) function takes a slightly different state transition route.
The doDisable(bool wait) function can transition from Deinitialized state but also from Initialized as follows