On 06/05/2013 at 13:19, xxxxxxxx wrote:
Originally posted by xxxxxxxx
You have to get the priorities right. Cinema executes generators sequentially ...
are you sure about that ? c4d obviously passes the objects sequentially, or in other
words works its way down the object manager, but as i already wrote above, as
BaseObject.GVO(), BaseTag.Execute() and so on are all threaded, should it not be
possible to 'wait' for other objects to be updated ?
edit: is does work, i am using it. not sure why it is not documented. as i am exclusively
python right now, except from our polylight cpp excursion, i haven't bothered testing it
cross language yet, but you are right it does not work (which is not really surprising IMHO).
[OK] fhArraySampleObject.GetNodeData()
<__main__.fhArraySampleObjectData object at 0x000000000FA193F0>
[OK] hook = fhVertexmapShade.GetNodeData()
[OK] dir(hook)
['Draw', 'Execute', 'FakeMaterial', 'GetDEnabling', 'Init', 'InitAttr', 'IsInit', 'IsInstanceOf', 'IsRenderDirty', 'Message', 'Sampler', 'ShaderContainerCache', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'initHost', 'isDirty']
[OK] print hook.IsRenderDirty
False
edit2: first one is an ObjectData, second one is a TagData. i did extend the example a bit,
mainly for the op.