On 20/10/2017 at 02:51, xxxxxxxx wrote:
I have an object plugin and I want to detect when the Visibility (Editor or Rendered) or Enabled of the child object changes?
I am checking IsDirty in GetVirtualObjects(), but the child is not dirty when I change the Visibility or Enabled.
dirty = child.IsDirty(c4d.DIRTY_MATRIX | c4d.DIRTY_DATA | c4d.DIRTY_CACHE)
On 23/10/2017 at 22:14, xxxxxxxx wrote:
Hi Pim, thanks for writing us.
From a brief test I can't reproduce the issue you mentioned since the code below properly regenerates "new" geometry every time render/editor visibility is changed or the object is turned on/off.
def GetVirtualObjects(self, op, hh) :
if op is None or hh is None:
child = op.GetDown()
if not child:
childDirty = child.IsDirty(c4d.DIRTY_MATRIX | c4d.DIRTY_DATA | c4d.DIRTY_CACHE)
cache = op.GetCache()
if not childDirty and cache is not None:
sphere = c4d.BaseObject(c4d.Osphere)
Maybe I didn't properly get your point?
On 31/10/2017 at 00:52, xxxxxxxx wrote:
Sorry, together with the answers in the other post, the issue is now solved and I guess you are correct.
I took the wrong approach.