Set joint values with ikHandle

Joojaa,

I wonder how Maya updates the transform attributes of joints when they are connected to a ikHandle.
As there is no typical DG connection from the handle to the joint values the only option I see is, of course,
to set the values with MPlug.
I just ask because you always insist on "true" DG connections ( which surely is right ).
But in that case here its not possible to make a connection, because then it would not be
possible to directly key the joint transform values.

So, what do you think, is it set with the help of MPlug or do they use another internal operation which
API users cannot acess?

Ik stuff does not exactly work within normal maya rules, presumably because they would need to break the rules of the dag. Tough theres probably a more convenient reason and that is mayas requirement to work like all systems before it.

Anyway there is a separate solver for dag which ik handles participate in. It works with implicit connections so yes the dag nodes are connected to each other via perfectly valid tough ones that don't work with exactly the same rules as the dg. Theese are a bit like the macgic time connection that gets fielld in by maya as a connection to time1 unless you specify something else (the connection is there you can not just list it).  So since the handle is a dag node it does get connected in to the chain by its parent matrix attribute. Now i said above they arent normal connections well theese are but the ik solver node is globally outside he chain and it inits the positions of the matrices themselves. Now since the dag is ENSURED not to ever update child to parent this means that the ik hanlde must be evaluated differently from all other nodes for it to work properly with th handle actually being where it is in the chain. Tough theres little reason fr it to work this way you could still do it with connections, other than having to work like other existing systems.

Whenever you see a message connection you know something fishy is going on.