Hi Maxon team,
I'm creating a python ObjectData plugin which uses handles and I'm experiencing some strange behaviour.
I can transform the object and then move the handles without issue in any viewport as expected. The issue arises if I have multiple views. So, say I'm using a 2 view setup, if I transform the object in one viewport and immediately move the handle in the other viewport, sometimes it triggers erratic behavior where the handle position appears to be flickering between it's expected position and somewhere in another plane. Once the behaviour is triggered it seems to remain.
Some anectodal notes:
- Closing and reopening the file makes the issue dissapear
- Deleting the object and creating a new one and the issue remains
Here's a video showing the flickering (starts about 19 seconds) :
https://www.pixelsinprogress.com/handleissue
Here's my handles code in it's simplest form:
def GetHandleCount(self, op):
return 1
def GetHandle(self, op, i, info):
info.position = op[c4d.ID_USERDATA,1 ] # this is a simplified example so using UD instead of a parameter
info.type = c4d.HANDLECONSTRAINTTYPE_FREE
def SetHandle(self, op, i, p, info):
op[c4d.ID_USERDATA,1 ] = p
Any ideas to what's going on / what I'm doing wrong would be greatly appreciated.
Thanks,
Adam