Pipe Suboperator

The Pipe suboperator lets you output one of several data inputs based on values in a "valve" stream. It provides at least two inputs: one valve (always the first input) and one or more data inputs. For example, the default Pipe suboperator has a Boolean valve and two Real data inputs, and outputs data from one or the other data input depending on the data coming into the Boolean input.

With other types of valves, you can set up ranges for the valve stream; the range in which the valve input value lies determines which data input is "piped" through. For example, you could have one Integer valve input (I1) and three Real data inputs (R2, R3, R4), and output R2 if I1 <= 0; R3 if I1 > 0 and <=50; or R4 if I1 > 50.

Interface

Data Type
Choose the data type for the incoming and outgoing "pipe" streams. Most of these are self-explanatory; for a discussion of the rest, see Data Types.
Valve Type
Choose the data type for the incoming "valve" stream, which the suboperator uses to determine which data input is piped through. These are self-explanatory.
[drop-down list]
When Valve Type is set to Vector or Integer, this list becomes available and lets you choose the available pipe conditions.

In the case of Valve, the incoming values V1.x, V1.y, V1.z (components of the vector) become the valve controllers. The drop-down list lets you choose how the vector components are used for piping: Maximal Component, Maximal Absolute Component, Minimal Component, or Minimal Absolute Component. With the Vector valve type, the Add and Remove buttons become unavailable because the number of input data channels is fixed at three, similarly to the Boolean valve type, where the number of input data channels is fixed at two.

In the case of Integer, the drop-down list shows two choices: Intervals, which is the standard mode for most valve types, and Exact Match, which tests for equality of the specified values only.

Pipe Conditions group

The list box in the Pipe Conditions group displays the conditions used to determine which data input gets piped through. For all valve types except Boolean, these are ranges based on values you specify. By default, if the valve type is not Boolean, a single condition (and input) exists, and is set to All, meaning that the input data is simply piped through. By adding conditions with the Add button, more

Remove
Deletes the highlighted condition from the list, and the corresponding input from the suboperator.
Remove All
Deletes all conditions in the list, restoring the original, single "All" condition.
Add
Adds a "<=" (less than or equal to) condition to the list, based on the current value of the numeric field to the right of this button. For example, starting with a single "All" condition, if Data Type=Matrix, Valve Type=Float, and the numeric field is set to 0.5, after clicking Add, two conditions exist: M2 if R1 <= 0.5, and M3 if R1 > 0.5.

The Pipe suboperator supports a maximum of seven "<=" conditions; after the seventh is added, the Add button becomes available. Also, conditions are automatically sorted in numeric, ascending order.

Condition is Speed Value/Spin Rate
This check box is available only when Valve Type= World Unit or Angle. When Valve Type=Angle and the check box is on (Condition is Spin Rate), the condition is considered to be angular velocity, rather than a specific angle. When Valve Type=World Unit and the check box is on (Condition is Speed Value), the condition is considered to be velocity, rather than a specific position.
Units Per
Set to Frame, Second, or Tick.