--> I dont realy se why you cant just connect the relevant atributes from your target nodes to a input plug in your object?
Because I don't quite understand how to do it.
Do I have to create an Attribute called "ChangeTo1ToTriggerCollisionDetectionFuntion" so that one node can request a calculation in another node.
I've got three nodes. Theese nodes communicate to existing nodes via plugs, just the way it should be. The operator can connect to them like he's used to, they call their validateAndSet function properly and do a clean work.
But the three nodes need to communicate between them.
Node Type-Head tracks if it collides with node Type-Stone. So, each time I move one of both nodes, Type-Head node must call CheckCollision to evauate and, if true, set a Plug to "True" (this here might be a problem since during Type-Stone's getMatrix(...) evaluation plugs get modified ).
This Type-Stone node can connect to up to hundreds of type-Head nodes, the one which calculates if the Type-Stone node collides with it.
So, this function get's called up to 9 times if posxyz, rotxyz, scalexyz change "at the same time".
During each of those calls, the CheckCollision function in Type-Head needs to know the transformationMatrix of Type-Stone node, so it's got to retreive it. If Type-Head has a pointer to Type-Stone, then the transformationMatrix is just as easily accessible as the local one, no data will have to flow.
Actually, passing the matrix through a Plug is not much of a bulk, but I don't know how to retreive the matrix effectively. I don't know how to make an Attribute out of the transformMatrix of a Node, so that Maya takes care of dumping the matrix over from Type-Stone to the Type-Head node, and I then can read the matrix and use it with the CheckCollision function. Maybe I'd also prefer this way, but I don't know how to do it and the issue with the pointer seems to have done it. Renaming or reparenting doesn't cause problems. Sometimes they seem not to load after recompilation until I restart Maya, and I can't do undos, but the latter has also been a problem before using those pointers.