end thoughts …
All appears to work reasonably well in h11.1.xxx –Although, I have yet to test it in any harsh or production environment. So, anyone who does, feel free to email me some feedback, it’d be appreciated.
There’s some conveniences I ran across in hscript docs that I might like in python. As mentioned in part 1, I wanted to keep the module clean, but I may implement a companion module, if I find myself really wanting it. I also made a fair attempt to add docstrings tha’tll show up in the help popups in Houdini and to keep it generally looking the same as the rest, but some finer ui things like dragging a take into the py shell and expecting the object aren’t working
There are some methods of Take object in particular that are best guess where assumptions had to be made as they were necessary features but have some error potential going forward. There are some places where there was no sense in implementing a feature and still others that are necessary ‘hacks’. This is all noted below.
what is available for download
This scripts are available in takes.py in the script downloads section as well as incorporated into eyevexTools py modules also available for download
# use for creating a new take….
mytake = eyevexTools.takes.Take(‘mytake’)
# it is recommended to use find or a listing function instead of the wrapper directly
mytake = eyevexTools.takes.findTake(‘mytake’)
curenttake = eyevexTools.takes.curTake()
roottake = eyevexTools.takes.rootTake()
alltakes = eyevexTools.takes.allTakes()
- unable to implent the XML export as the format can be arbitrary
- although it is impossible to know is the path would be returned in the presented format, It was needed for this implementation but may not be compatable
- It is not clear if insertTakeAbove and moveUnderTake will be returning parent or child. I assume it to be child.
- EYEVEX_TAKE_PREFIX is a hscript env used to store the take prefix (when not default), as hscript provided no facility to retrieve it after being set
- allAllParmsOfNode method in the docs is assumed a typo/error and that it is method addAllParmsOfNode -which is how it appears in this implementation, but can be a risky assumption.
- asCode method doesn’t include the code for wrapping the take