On 06/05/2013 at 11:27, xxxxxxxx wrote:
hi,
i can only answer partially:
1. Communication between two nodes can be a difficult task in c4d. Hidden descriptions are one
way to do it. For more complex data sets you have to use messages directly from node to node
or with a core message plugin in the middle. Also there is GetListNode.GetNodeData()which is
not documented for python for whatever reason, which lets you grab the your NodeData plugin
class implementation instance attached to a GeListNode and therefore would let you access all
its members.
2. For the update cycle - It is a quite complicated topic I also do not fully understand and have
not fully explored yet. There are several methods like BaseObject.Touch() and BaseObject.
SetDirty()which allow you to force an object to rebuild its cache. This however won't solve your
problem of priority directly.
But as all NodeData direct 'execution' methods are threaded it should be theoretically possible
for your ObjectData plugin to wait with its output until all data it is based on have been updated
for the current pass (are not dirty anymore). But that is pure theory as I said, I could always get
away with tag plugins until now, which do offer a manual priority system (the tag execution order).