Flow Control

Overview

Flow Control Nodes are used to define the order in which the Logic is evaluated, allow a program to consider multiple conditions, and perform different actions based on those variable conditions.

Nodes in the Flow Control category fall into two subcategories:

Relational Expression Nodes

Relational Expression Nodes compare two values and yield a value based on the relationship between those inputs. These include the following:

  • IsEqual - Compares whether two values are equal, or not equal, depending on Mode. This is the equivalent of the == and != operators in computer programming.

  • IsGreaterEqual - Compares whether one value is greater than another, or if they are equal, depending on Mode. This is the equivalent of the > and >= operators in computer programming.

  • IsLessEqual - Compares whether one value is less than another, or if they are equal, depending on Mode. This is the equivalent of the < and <= operators in computer programming.

Pulse Flow Nodes

Pulse Flow Nodes are mainly used to change the control flow of Logic, which means executing different Logic Branches based on various conditions. To achieve truly dynamic programs, they are used in synergy with Relational Expression and Logical Operator Nodes.

  • Branch - Takes one of two paths based on its input Boolean value. Similar to an if statement in computer programming.

  • Switch - Takes one of several paths if the input value is equal to a path's corresponding, pre-defined value. If not, then the Default path is taken. Similar to a switch statement in computer programming.

  • Toggle - Holds a Boolean state, which alternates between its opposite state every time the input Pulse is triggered.

  • Select Data - Takes two or more pairs of Pulse and Data inputs and outputs the value corresponding to the input Pulse that the Node was executed by. This is a useful way to converge Pulse Flow into a single path.

Additionally, Incari has the Sequential Node, which triggers all output Pulses sequentially and is used primarily as a means of grouping and organizing blocks of Logic with a similar or combined purpose into a more visually readable way.

See Also

Last updated