Visualization Pipeline Loops

From K-3D

Jump to: navigation, search

When property A is dependent on property B (written B -> A), reading the value of A returns the internal value of B.

This lookup process may be arbitrarily-long, e.g. reading the value of A when C -> B -> A returns the internal value of C.

If the set of dependencies are cyclic, reading the value of a property returns its internal value, e.g:

  • Reading A when A -> A returns the internal value of A.
  • Reading A when A -> B -> A returns the internal value of A.
  • Reading A when A -> C -> B -> A returns the internal value of A.
  • Reading B when A -> C -> B -> A returns the internal value of B.
  • Reading C when A -> C -> B -> A returns the internal value of C.
  • And-so-on ...

Note that as of this writing there is little reason to deliberately introduce a loop in the pipeline; the main reason we specify well-defined behavior for loops is to prevent crashes / infinite loops in the case where a loop is accidentally introduced by a user.