Dependency Graph

Dependency Graph

bayareadeck
Enthusiast Enthusiast
809 Views
3 Replies
Message 1 of 4

Dependency Graph

bayareadeck
Enthusiast
Enthusiast

Can anybody explain the statement below in a little more detail?
Unlike DAG nodes, dependency graph nodes can be cyclic, meaning they can pass information both directions.

0 Likes
Accepted solutions (1)
810 Views
3 Replies
Replies (3)
Message 2 of 4

jmreinhart
Advisor
Advisor

DAG stands for Directed Acyclic Graph. DAG nodes are nodes like transforms and joints which exist in a hierarchy. The hierarchy is a acyclic, meaning it only goes in one direction. So a child cannot be the parent of it's parent.

 

DG stands for directed graph. When you are using the node editor you are seeing that directed graph. All the connections between nodes have a direction, meaning the data comes from one attribute and gets put into another attribute on another node, and that connection can't be reversed). That directionality is illustrated by the little arrow on the line that connects the two nodes. The DG is NOT acyclic. Meaning that nodes can be connected in a cycle (you can see this on a parentConstraint).

jonahrnhrt_0-1630846608786.png

Importantly, this connection is on a node level. The individual attributes cannot form a cycle.

 

I hope that answers your question.

 

0 Likes
Message 3 of 4

bayareadeck
Enthusiast
Enthusiast
jonahrnhrt,

Thanks for response and clarification. I always thought DG stood for
Dependency Graph. Maybe Directed Graph means the same thing.
Im all clear with DAG nodes. For the DG nodes,
I guess im not understanding exactly what cyclic means and that
nodes can be connected in a cycle like in a parent constraint. ??

Dependency graph nodes can be cyclic, meaning they can
pass information both directions. Does this mean that information
can travel in opposition to the arrows displayed in the node editor
or hypergraph ?

0 Likes
Message 4 of 4

jmreinhart
Advisor
Advisor
Accepted solution

You are right, DG stands for dependency graph, not directed graph (my mistake). The information cannot travel in the opposite direction to the arrow. You cannot have a cycle on an attribute level. Something you should look into is how dirty propagation works in the DG, that is key to understanding how it works under the hood.

 

0 Likes