diff options
author | Willian Padovani Germano <wpgermano@gmail.com> | 2004-07-03 09:17:04 +0400 |
---|---|---|
committer | Willian Padovani Germano <wpgermano@gmail.com> | 2004-07-03 09:17:04 +0400 |
commit | 928282772051eadd29b26a43b4c217ebf06d0ba9 (patch) | |
tree | 36e2a9906ed924e962554df716d30f0ad1bce798 /source/blender/python/api2_2x/Camera.c | |
parent | 90d4f7a3c1f6f789df61f348f974813a260014f5 (diff) |
New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
Thanks to them for the new contributions!
(I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'. Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work. G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A). Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode. It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender. Loading after the program is up has no such problems. When I finish I'll post examples of demo mode scripts.
Diffstat (limited to 'source/blender/python/api2_2x/Camera.c')
-rw-r--r-- | source/blender/python/api2_2x/Camera.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/source/blender/python/api2_2x/Camera.c b/source/blender/python/api2_2x/Camera.c index efa1300359c..66ccee15d00 100644 --- a/source/blender/python/api2_2x/Camera.c +++ b/source/blender/python/api2_2x/Camera.c @@ -113,6 +113,9 @@ static PyObject *Camera_setLens (BPy_Camera * self, PyObject * args); static PyObject *Camera_setClipStart (BPy_Camera * self, PyObject * args); static PyObject *Camera_setClipEnd (BPy_Camera * self, PyObject * args); static PyObject *Camera_setDrawSize (BPy_Camera * self, PyObject * args); +static PyObject *Camera_getScriptLinks(BPy_Camera *self, PyObject *args); +static PyObject *Camera_addScriptLink(BPy_Camera *self, PyObject *args); +static PyObject *Camera_clearScriptLinks(BPy_Camera *self); /*****************************************************************************/ /* Python BPy_Camera methods table: */ @@ -154,6 +157,16 @@ static PyMethodDef BPy_Camera_methods[] = { "(f) - Set Camera clip end value"}, {"setDrawSize", (PyCFunction) Camera_setDrawSize, METH_VARARGS, "(f) - Set Camera draw size value"}, + {"getScriptLinks", (PyCFunction)Camera_getScriptLinks, METH_VARARGS, + "(eventname) - Get a list of this camera's scriptlinks (Text names) " + "of the given type\n" + "(eventname) - string: FrameChanged or Redraw."}, + {"addScriptLink", (PyCFunction)Camera_addScriptLink, METH_VARARGS, + "(text, evt) - Add a new camera scriptlink.\n" + "(text) - string: an existing Blender Text name;\n" + "(evt) string: FrameChanged or Redraw."}, + {"clearScriptLinks", (PyCFunction)Camera_clearScriptLinks, METH_NOARGS, + "() - Delete all scriptlinks from this camera."}, {NULL, NULL, 0, NULL} }; @@ -739,6 +752,44 @@ Camera_setDrawSize (BPy_Camera * self, PyObject * args) Py_INCREF (Py_None); return Py_None; } +/* cam.addScriptLink */ +static PyObject *Camera_addScriptLink (BPy_Camera *self, PyObject *args) +{ + Camera *cam = self->camera; + ScriptLink *slink = NULL; + + slink = &(cam)->scriptlink; + + if (!EXPP_addScriptLink(slink, args, 0)) + return EXPP_incr_ret (Py_None); + else return NULL; +} + +/* cam.clearScriptLinks */ +static PyObject *Camera_clearScriptLinks (BPy_Camera *self) +{ + Camera *cam = self->camera; + ScriptLink *slink = NULL; + + slink = &(cam)->scriptlink; + + return EXPP_incr_ret(Py_BuildValue("i", EXPP_clearScriptLinks (slink))); +} + +/* cam.getScriptLinks */ +static PyObject *Camera_getScriptLinks (BPy_Camera *self, PyObject *args) +{ + Camera *cam = self->camera; + ScriptLink *slink = NULL; + PyObject *ret = NULL; + + slink = &(cam)->scriptlink; + + ret = EXPP_getScriptLinks(slink, args, 0); + + if (ret) return ret; + else return NULL; +} static void Camera_dealloc (BPy_Camera * self) |