diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-06-18 11:41:21 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-06-18 11:41:21 +0400 |
commit | 01e8789f3f950a15aea9947ebadb1dcdcccf6a7e (patch) | |
tree | 6c9d3fa3b93d427728c1a0ce619f765227c9e677 /source/blender/python/BPY_extern.h | |
parent | 770291b9ea1ec03d98b6bae4fd2a2d3f0091be41 (diff) |
== PyConstraints ==
At last! The ability to code constraints in Python. This opens up many interesting rigging possibilities, as well as making prototyping constraints easier.
* A PyConstraint script must begin with the line
#BPYCONSTRAINT
* It must also define a doConstraint function, which performs the core actions of the constraint.
* PyConstraints use IDProperties to store custom properties for each PyConstraint instance. The scripter can choose which of these ID-Properties to expose to a user to control the behaviour of the constraint. This must be done using the Draw.PupBlock method.
Credits to Joe Eager (joeedh) for coding the original patch on which this is based. I've made heavy revisions to large parts of the patch.
For more detailed information, and some demo scripts, see the following page:
http://aligorith.googlepages.com/pyconstraints2
Diffstat (limited to 'source/blender/python/BPY_extern.h')
-rw-r--r-- | source/blender/python/BPY_extern.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h index d7db680a458..34271efc4f1 100644 --- a/source/blender/python/BPY_extern.h +++ b/source/blender/python/BPY_extern.h @@ -46,11 +46,16 @@ struct SpaceScript; /* DNA_space_types.h */ struct Script; /* BPI_script.h */ struct ScrArea; /* DNA_screen_types.h */ struct bScreen; /* DNA_screen_types.h */ - +struct bPythonConstraint; /* DNA_constraint_types.h */ #ifdef __cplusplus extern "C" { #endif + void BPY_pyconstraint_eval(struct bPythonConstraint *con, float obmat[][4], short ownertype, void *ownerdata, float targetmat[][4]); + void BPY_pyconstraint_settings(void *arg1, void *arg2); + int BPY_pyconstraint_targets(struct bPythonConstraint *con, float targetmat[][4]); + int BPY_is_pyconstraint(struct Text *text); + void BPY_start_python( int argc, char **argv ); void BPY_end_python( void ); void BPY_post_start_python( void ); |