mirror of
https://projects.blender.org/blender/blender.git
synced 2025-01-22 15:32:15 -05:00
- add template for defining custom driver functions.
- comment unused assignments.
This commit is contained in:
parent
5da894b1fe
commit
febcb91b82
3 changed files with 37 additions and 3 deletions
|
@ -233,7 +233,7 @@ check_sparse:
|
|||
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:
|
||||
|
|
34
release/scripts/templates/driver_functions.py
Normal file
34
release/scripts/templates/driver_functions.py
Normal file
|
@ -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
|
|
@ -180,7 +180,7 @@ bNodeTreeExec *ntree_exec_begin(bNodeTree *ntree)
|
|||
|
||||
/* 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 @@ bNodeTreeExec *ntree_exec_begin(bNodeTree *ntree)
|
|||
|
||||
/* 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)
|
||||
|
|
Loading…
Reference in a new issue