General plugin questions

On 04/08/2014 at 05:21, xxxxxxxx wrote:

Greetings to all!

I've recently decided to try and turn a bunch of code I prototyped in a Python tag into a more fully featured plugin, and I've got a few questions that I haven't been able to get answered through the SDK- I was hoping you guys could help me out here.

  1. I'd like to setup my plugin as a tag (not sure if this matters or not), but I need an option to read the deformed points of an input polygon. How can I access this data, preferably without cloning the input mesh? I know there's GetDeformCache(), but the docs state that the caches may not be built (and indeed they're not on scene load) and suggest that I use CSTO instead. Is there some way of setting up my plugin so that it is only executed after the deformation caches are guaranteed to be built?

  2. Is it possible to create a custom GUI in a *.pyp plugin that displays in the attribute manager (well, it'd have to if the plugin is a tag)? Or am I limited to user data style controls (which I find awfully limiting and that's one of the reasons I want to get this thing into a plugin)? I'm only really interested in a few buttons, some dropdown lists with custom icons, a few images located near some status text and a graphical title bar header.

  3. When are python plugins "executed"? Is the behaviour of this somewhat similar to a Python tag? The documents are quite clear on which method is called on execution, but I'm not sure how the behaviour of this differs (if at all) from a Python tag.

  4. How would one handle Retina styled graphics (@2x) under Mac OS X? I know Cinema 4D is "retina ready" in that most of the MAXON GUI icons have both resolutions (standard and double), but there doesn't seem to be any documentation on handling this yourself in regards to plugins and image loading.

Thanks in advance!