Hi guys! So here is the problem. I need to compute some data and store it as primitive attributes.The simplest solution would be to put digital asset in each geometry object, but i want this to be done at IFD export time. So in the end, every geometry object should have this data in IFD.
I started with writing IFDHook function ("pre_geometry"), where i get access to geometry, and compute my stuff. But after some research, i figure out, that there is no way to modify SohoGeometry, it has read only access.
SohoGeometry.save(), emits original houdini geometry into stdout stream.
Then, in IFDgeo.py in method saveRetained() there is a call to objectWragler, and there is a NOTE:
"Call the object wranglers 'retainGeometry', skip inbuilt soho code if it returns True. Note. It's the responsibility of object wrangler to emit IFD correctly."
So, i can write my wrangler, and emit data to IFD by myself, but I think it is not a very good idea to implement such a thing in python. There should be a performance hit.
Any help on this? Maybe i do something wrong, and there are more elegant solutions.... !?
Best regards.
Alex