Example of post processing plugin with template update
Here we show a piece of code that illustrates how to create a simple post processing plugin. In this case, we show an example that operates a minimum of functionality of a plugin: operating on the average produced by one iteration, allowing Dynamo to use a transform of the average as template for the next iteration. This particular example implements a transform consisting in applying a C2 transfom along all x,y,z axis of the template.
The plugin is callable through Matlab execution of the project.
Plugin code
A plugin function is a script called dynamo_plugin_post_<Some identification>. For this example you can just choose any folder in your file system, say ~/myPlugins and edit there a script file called ~/myPlugins/dynamo_plugin_post_example.m.
Activating the plugin inside a project
After writing the script, you need to make your project aware of the fact that during runtime a project will be invoked:
dvput ptest plugin_post_r1 1
Then, you need to pass the syntax of the plugin script. We don't pass the dynamo_plugin_post part.
dvput ptest plugin_post_order_r1 'example();'
Running a project that calls a plugin
After binding the plugin into the project, you need to make certain that Matlab will find it in runtime while executing the project. To this end, you need to add the path to the plugin script into the Matlab execution path:
addpath('~/myPlugins')<>;