15.7. Updating Values

When you change one value in an engine network, you can assume that all other values that depend on this value are updated at once. In fact, for efficiency, fields and inputs are marked when they are out of date, but they are updated only when their values are used. A complicated engine network, for example, could be connected to an unselected child of a switch group and never used. In this case, its values could be marked as needing to be updated but never actually reevaluated because the engine network is never traversed.

Some engines, such as the gate and animation engines, can selectively control when their values are updated. Many of these engines use a field of type SoSFTrigger SoSFTrigger SoSFTrigger that updates the output value one time only when the field is touched. See Section 15.11, “Gate Engine” for more information.