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.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user