[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41023] trunk/blender: - add template for defining custom driver functions.
Daniel Salazar - 3Developer.com
zanqdo at gmail.com
Sat Oct 15 09:29:19 CEST 2011
woa this looks sexy!
Daniel Salazar
3Developer.com
On Sat, Oct 15, 2011 at 1:19 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> Revision: 41023
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41023
> Author: campbellbarton
> Date: 2011-10-15 07:19:34 +0000 (Sat, 15 Oct 2011)
> Log Message:
> -----------
> - add template for defining custom driver functions.
> - comment unused assignments.
>
> Modified Paths:
> --------------
> trunk/blender/GNUmakefile
> trunk/blender/source/blender/nodes/intern/node_exec.c
>
> Added Paths:
> -----------
> trunk/blender/release/scripts/templates/driver_functions.py
>
> Modified: trunk/blender/GNUmakefile
> ===================================================================
> --- trunk/blender/GNUmakefile 2011-10-15 05:01:47 UTC (rev 41022)
> +++ trunk/blender/GNUmakefile 2011-10-15 07:19:34 UTC (rev 41023)
> @@ -233,7 +233,7 @@
> doc_py:
> $(BUILD_DIR)/bin/blender --background --factory-startup --python doc/python_api/sphinx_doc_gen.py
> cd doc/python_api ; sphinx-build -n -b html sphinx-in sphinx-out
> - @echo "docs written into: 'doc/python_api/sphinx-out/index.html'"
> + @echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/contents.html'"
>
>
> clean:
>
> Added: trunk/blender/release/scripts/templates/driver_functions.py
> ===================================================================
> --- trunk/blender/release/scripts/templates/driver_functions.py (rev 0)
> +++ trunk/blender/release/scripts/templates/driver_functions.py 2011-10-15 07:19:34 UTC (rev 41023)
> @@ -0,0 +1,34 @@
> +# This script defines functions to be used directly in drivers expressions to
> +# extend the builtin set of python functions.
> +#
> +# This can be executed on manually or set to 'Register' to
> +# initialize thefunctions on file load.
> +
> +
> +# two sample functions
> +def invert(f):
> + """ Simple function call:
> +
> + invert(val)
> + """
> + return 1.0 - f
> +
> +
> +uuid_store = {}
> +
> +def slow_value(value, fac, uuid):
> + """ Delay the value by a factor, use a unique string to allow
> + use in multiple drivers without conflict:
> +
> + slow_value(val, 0.5, "my_value")
> + """
> + value_prev = uuid_store.get(uuid, value)
> + uuid_store[uuid] = value_new = (value_prev * fac) + (value * (1.0 - fac))
> + return value_new
> +
> +
> +import bpy
> +
> +# Add variable defined in this script into the drivers namespace.
> +bpy.app.driver_namespace["invert"] = invert
> +bpy.app.driver_namespace["slow_value"] = slow_value
>
> Modified: trunk/blender/source/blender/nodes/intern/node_exec.c
> ===================================================================
> --- trunk/blender/source/blender/nodes/intern/node_exec.c 2011-10-15 05:01:47 UTC (rev 41022)
> +++ trunk/blender/source/blender/nodes/intern/node_exec.c 2011-10-15 07:19:34 UTC (rev 41023)
> @@ -180,7 +180,7 @@
>
> /* prepare group tree inputs */
> for (sock=ntree->inputs.first; sock; sock=sock->next) {
> - ns = setup_stack(exec->stack, sock);
> + /* ns = */ setup_stack(exec->stack, sock);
> }
> /* prepare all internal nodes for execution */
> for(n=0, nodeexec= exec->nodeexec; n < totnodes; ++n, ++nodeexec) {
> @@ -198,7 +198,7 @@
>
> /* tag all outputs */
> for (sock=node->outputs.first; sock; sock=sock->next) {
> - ns = setup_stack(exec->stack, sock);
> + /* ns = */ setup_stack(exec->stack, sock);
> }
>
> if(node->typeinfo->initexecfunc)
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list