====== Description ====== The if node selects a value or path based on the value of its first child-node. The mode of operation is dependent on how many child-nodes the if node has. In all cases it is the value of the first (leftmost) node that controls the evaluation. ^ child-node count ^ returns ^ | 1 | 0 or 1 | | 2 | 0 or value2 | | 3 | value2 or value3 | | 4 | value2 or value3 or value4 | ====== Constraints ====== * Minimum number of child-nodes: 1 * Maximum number of child-nodes: 4 ====== Calculus ====== ===== General ===== The first (leftmost) child-node is evaluated and compared to the child-node's weight((Weight is a node property that has meaning in only some situations. By default its value is 1, but can be changed to any numeric value.)) to give a meta result. This meta result then determines how the if node will act. (see below) ^ value1 ^ meta result ^ | ''>''= weight1 | true | | ''<'' weight1 AND ''>'' -weight1 | undetermined | | ''<''= -weight1 | false | | ERROR | ERROR | ===== 1 child-node ===== ^ value1 ^ meta result ^ returns ^ | ''>''= weight1 | true | 1 | | ''<'' weight1 AND ''>'' -weight1 | undetermined | 0 | | ''<''= -weight1 | false | 0 | | ERROR | ERROR | ERROR | ===== 2 child-nodes ===== ^ value1 ^ meta result ^ returns ^ | ''>''= weight1 | true | value2 | | ''<'' weight1 AND ''>'' -weight1 | undetermined | 0 | | ''<''= -weight1 | false | 0 | | ERROR | ERROR | ERROR | ===== 3 child-nodes ===== ^ value1 ^ meta result ^ returns ^ | ''>''= weight1 | true | value2 | | ''<'' weight1 AND ''>'' -weight1 | undetermined | value3 | | ''<''= -weight1 | false | value3 | | ERROR | ERROR | ERROR | ===== 4 child-nodes ===== ^ value1 ^ meta result ^ returns ^ | ''>''= weight1 | true | value2 | | ''<'' weight1 AND ''>'' -weight1 | undetermined | value3 | | ''<''= -weight1 | false | value4 | | ERROR | ERROR | ERROR |