Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorWillian Padovani Germano <wpgermano@gmail.com>2004-06-10 19:14:49 +0400
committerWillian Padovani Germano <wpgermano@gmail.com>2004-06-10 19:14:49 +0400
commita23c6a71da4feea2e036928d260630cb26854ab1 (patch)
tree21d3f9037043436de8b8d00d2d3ec561d69f4c7c /source
parenta6d077bae243eef5f8826b2c7b27bd297428d7d4 (diff)
- small updates to scripts and bpython docs, also fixed two warnings;
- added function Blender.sys.exists(path) to check if a given file exists; - forgot to mention: in my previous commit the blender.html file was also updated slightly.
Diffstat (limited to 'source')
-rw-r--r--source/blender/python/api2_2x/Object.c8
-rw-r--r--source/blender/python/api2_2x/Sys.c80
-rw-r--r--source/blender/python/api2_2x/Sys.h50
-rw-r--r--source/blender/python/api2_2x/doc/Blender.py12
-rw-r--r--source/blender/python/api2_2x/doc/Metaball.py220
-rw-r--r--source/blender/python/api2_2x/doc/Sys.py11
6 files changed, 207 insertions, 174 deletions
diff --git a/source/blender/python/api2_2x/Object.c b/source/blender/python/api2_2x/Object.c
index f828980257c..346f8f24dd2 100644
--- a/source/blender/python/api2_2x/Object.c
+++ b/source/blender/python/api2_2x/Object.c
@@ -35,9 +35,11 @@
#include "Object.h"
#include "NLA.h"
-#include "blendef.h"
-#include "DNA_scene_types.h"
-#include "BSE_edit.h"
+#include <blendef.h>
+#include <DNA_scene_types.h>
+#include <BSE_edit.h>
+#include <BKE_mball.h>
+#include <BIF_editview.h>
/*****************************************************************************/
/* Python API function prototypes for the Blender module. */
diff --git a/source/blender/python/api2_2x/Sys.c b/source/blender/python/api2_2x/Sys.c
index 56f3a64d489..81488c2c676 100644
--- a/source/blender/python/api2_2x/Sys.c
+++ b/source/blender/python/api2_2x/Sys.c
@@ -29,10 +29,67 @@
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
-#include "BKE_utildefines.h"
-#include "PIL_time.h"
-
-#include "Sys.h"
+#include <BKE_utildefines.h>
+#include <BLI_blenlib.h>
+#include <PIL_time.h>
+#include <Python.h>
+#include "gen_utils.h"
+#include "modules.h"
+
+/*****************************************************************************/
+/* Python API function prototypes for the sys module. */
+/*****************************************************************************/
+static PyObject *M_sys_basename (PyObject *self, PyObject *args);
+static PyObject *M_sys_dirname (PyObject *self, PyObject *args);
+static PyObject *M_sys_splitext (PyObject *self, PyObject *args);
+static PyObject *M_sys_exists (PyObject *self, PyObject *args);
+static PyObject *M_sys_time (PyObject *self);
+
+/*****************************************************************************/
+/* The following string definitions are used for documentation strings. */
+/* In Python these will be written to the console when doing a */
+/* Blender.sys.__doc__ */
+/*****************************************************************************/
+static char M_sys_doc[] =
+"The Blender.sys submodule\n\
+\n\
+This is a minimal system module to supply simple functionality available\n\
+in the default Python module os.";
+
+static char M_sys_basename_doc[] =
+"(path) - Split 'path' in dir and filename.\n\
+Return the filename.";
+
+static char M_sys_dirname_doc[] =
+"(path) - Split 'path' in dir and filename.\n\
+Return the dir.";
+
+static char M_sys_splitext_doc[] =
+"(path) - Split 'path' in root and extension:\n\
+/this/that/file.ext -> ('/this/that/file','.ext').\n\
+Return the pair (root, extension).";
+
+static char M_sys_time_doc[] =
+"() - Return a float representing time elapsed in seconds.\n\
+Each successive call is garanteed to return values greater than or\n\
+equal to the previous call.";
+
+static char M_sys_exists_doc[] =
+"(path) - Return 1 if given pathname (file or dir) exists, 0 otherwise.";
+
+/*****************************************************************************/
+/* Python method structure definition for Blender.sys module: */
+/*****************************************************************************/
+struct PyMethodDef M_sys_methods[] = {
+ {"basename", M_sys_basename, METH_VARARGS, M_sys_basename_doc},
+ {"dirname", M_sys_dirname, METH_VARARGS, M_sys_dirname_doc},
+ {"splitext", M_sys_splitext, METH_VARARGS, M_sys_splitext_doc},
+ {"exists", M_sys_exists, METH_VARARGS, M_sys_exists_doc},
+ {"time", (PyCFunction)M_sys_time, METH_NOARGS, M_sys_time_doc},
+ {NULL, NULL, 0, NULL}
+};
+
+/* Module Functions */
static PyObject *g_sysmodule = NULL; /* pointer to Blender.sys module */
@@ -176,3 +233,18 @@ static PyObject *M_sys_time (PyObject *self)
return Py_BuildValue("d", t);
}
+static PyObject *M_sys_exists (PyObject *self, PyObject *args)
+{
+ char *fname = NULL;
+ int i = 0;
+
+ if (!PyArg_ParseTuple(args, "s", &fname))
+ return EXPP_ReturnPyObjError (PyExc_TypeError,
+ "expected string (file path) argument");
+
+ i = BLI_exists(fname);
+
+ if (i) return Py_BuildValue("i", 1); /* path was found */
+
+ return Py_BuildValue("i", 0); /* path doesn't exist */
+}
diff --git a/source/blender/python/api2_2x/Sys.h b/source/blender/python/api2_2x/Sys.h
index 446ac91490b..f50eba8135f 100644
--- a/source/blender/python/api2_2x/Sys.h
+++ b/source/blender/python/api2_2x/Sys.h
@@ -32,54 +32,4 @@
#ifndef EXPP_sys_H
#define EXPP_sys_H
-#include <Python.h>
-#include <BLI_blenlib.h> /* for BLI_last_slash() */
-#include "gen_utils.h"
-#include "modules.h"
-
-/*****************************************************************************/
-/* Python API function prototypes for the sys module. */
-/*****************************************************************************/
-static PyObject *M_sys_basename (PyObject *self, PyObject *args);
-static PyObject *M_sys_dirname (PyObject *self, PyObject *args);
-static PyObject *M_sys_splitext (PyObject *self, PyObject *args);
-static PyObject *M_sys_time (PyObject *self);
-
-/*****************************************************************************/
-/* The following string definitions are used for documentation strings. */
-/* In Python these will be written to the console when doing a */
-/* Blender.sys.__doc__ */
-/*****************************************************************************/
-static char M_sys_doc[] =
-"The Blender.sys submodule\n\
-\n\
-This is a minimal system module to supply simple functionality available\n\
-in the default Python module os.";
-
-static char M_sys_basename_doc[]="(path) - Split 'path' in dir and filename.\n\
-Return the filename.";
-
-static char M_sys_dirname_doc[]="(path) - Split 'path' in dir and filename.\n\
-Return the dir.";
-
-static char M_sys_splitext_doc[]="(path) - Split 'path' in root and \
-extension:\n/this/that/file.ext -> ('/this/that/file','.ext').\n\
-Return the pair (root, extension).";
-
-static char M_sys_time_doc[]="() - Return a float representing time elapsed \
-in seconds.\n\
-Each successive call is garanteed to return values greater than or\n\
-equal to the previous call.";
-
-/*****************************************************************************/
-/* Python method structure definition for Blender.sys module: */
-/*****************************************************************************/
-struct PyMethodDef M_sys_methods[] = {
- {"basename", M_sys_basename, METH_VARARGS, M_sys_basename_doc},
- {"dirname", M_sys_dirname, METH_VARARGS, M_sys_dirname_doc},
- {"splitext", M_sys_splitext, METH_VARARGS, M_sys_splitext_doc},
- {"time", (PyCFunction)M_sys_time, METH_NOARGS, M_sys_time_doc},
- {NULL, NULL, 0, NULL}
-};
-
#endif /* EXPP_sys_H */
diff --git a/source/blender/python/api2_2x/doc/Blender.py b/source/blender/python/api2_2x/doc/Blender.py
index aebbdc3c77a..6ab831f9336 100644
--- a/source/blender/python/api2_2x/doc/Blender.py
+++ b/source/blender/python/api2_2x/doc/Blender.py
@@ -21,7 +21,7 @@ The Blender Python API Reference
- L{Armature}
- L{Bone}
- - L{NLA} (new)
+ - L{NLA}
- L{BGL}
- L{Camera}
- L{Curve}
@@ -31,22 +31,22 @@ The Blender Python API Reference
- L{Ipo}
- L{Lamp}
- L{Lattice}
- - L{Library} (new)
+ - L{Library}
- L{Material}
- - L{Mathutils} (new)
+ - L{Mathutils}
- L{Metaball}
- L{NMesh}
- - L{Noise} (new)
+ - L{Noise}
- L{Object}
- L{Registry}
- L{Scene}
- - L{Render} (new)
+ - L{Render}
- L{Text}
- L{Texture}
- L{Types}
- L{Window}
- L{World}
- - L{sys<Sys>} (added time function)
+ - L{sys<Sys>}
Introduction:
-------------
diff --git a/source/blender/python/api2_2x/doc/Metaball.py b/source/blender/python/api2_2x/doc/Metaball.py
index bd772d7cd31..e4d87195134 100644
--- a/source/blender/python/api2_2x/doc/Metaball.py
+++ b/source/blender/python/api2_2x/doc/Metaball.py
@@ -5,16 +5,16 @@ The Blender.Metaball submodule
This module provides access to the B{Metaball Data} in Blender.
-Example:
-import Blender
-
-ob = Blender.Object.New("Mball","mb")
-mb = Blender.Metaball.New()
-for i in range(20):
- mb.addMetaelem([0, float(i),1.0,1.0, 2.0,1,2.0,1.0,1.0,1.0])
-ob.link(mb)
-sc = Blender.Scene.getCurrent()
-sc.link(ob)
+Example::
+ import Blender
+
+ ob = Blender.Object.New("Mball","mb")
+ mb = Blender.Metaball.New()
+ for i in range(20):
+ mb.addMetaelem([0, float(i),1.0,1.0, 2.0,1,2.0,1.0,1.0,1.0])
+ ob.link(mb)
+ sc = Blender.Scene.getCurrent()
+ sc.link(ob)
"""
@@ -38,7 +38,6 @@ def Get (name):
- (): A list with all Metaballs in the current scene.
"""
-
class Metaball:
"""
The Metaball object
@@ -49,157 +48,158 @@ class Metaball:
@cvar rot: The rotation of the metaball.
@cvar size: The size of the metaball.
"""
- def addMetaelem(paramslist):
- """
- Sets the name of a metaball object
- @type name: list
- @param name : the list of the parameters for creating a new metaelem
- This list has ten elements :
- param 1 : int : metaelem type
- 0 for a sphere
- 1 for a tubex
- 2 for a tubey
- 3 for a tubez
- 4 for a regular tube
- 5 for a plane
- 6 for an ellipsoid
- 7 for a cube
- params 2,3,4 : floats, the x, y and z coordinates of the metaelem
- param 5 : float, the rad value of the metaelem
- param 6 : int, the lay value.
- param 7 : float the s value of the metaelem
- params 8,9,10 : the expx, expy and expz values of the metaelem.
-
- @rtype: PyNone
- @return: PyNone
- """
-
+
+ def addMetaelem(paramslist):
+ """
+ Add a new metaelem to this metaball. 'paramslist' must have the
+ following ten elements:
+ - param 1: int - metaelem type:
+ - 0 for a sphere
+ - 1 for a tubex
+ - 2 for a tubey
+ - 3 for a tubez
+ - 4 for a regular tube
+ - 5 for a plane
+ - 6 for an ellipsoid
+ - 7 for a cube
+ - params 2,3,4: floats - the x, y and z coordinates of the metaelem.
+ - param 5: float - the rad value of the metaelem.
+ - param 6: int - the lay value.
+ - param 7: float - the s value of the metaelem.
+ - params 8,9,10: floats - the expx, expy and expz values of the metaelem.
+ @type paramslist: list
+ @param paramslist: the list of the parameters for creating a new metaelem.
+
+ @rtype: None
+ @return: None
+ """
+
def getName():
"""
- Retreives the name of a metaball object
+ Retrieves the name of a metaball object.
@rtype: string
- @return: the name of a metaball object
+ @return: the name of a metaball object.
"""
-
+
def setName(name):
"""
- Sets the name of a metaball object
+ Sets the name of a metaball object.
@type name: string
@param name : the new name
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
-
+
def getBbox():
"""
- Retreives the bounding box of a metaball object
+ Retrieves the bounding box of a metaball object.
@rtype: a list of 24 floats(8 points, 3 coordinates)
@return: the bounding box of a metaball object
"""
def getNMetaElems():
"""
- Retreives the number of metaelems (elementary spheres or cylinders) of a metaball object
+ Retrieves the number of metaelems (elementary spheres or cylinders) of a metaball object.
@rtype: int
@return: number of metaelems of a metaball object
"""
def getLoc():
"""
- Retreives the location of a metaball object
+ Retrieves the location of a metaball object.
@rtype: a list of 3 floats
- @return: locationof a metaball object
+ @return: location of a metaball object
"""
def setLoc(newloc):
"""
- Sets the location of a metaball object
+ Sets the location of a metaball object.
@type newloc: list of 3 floats
@param newloc: the new location
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getRot():
"""
- Retreives the rotation of a metaball object
+ Retrieves the rotation of a metaball object.
@rtype: a list of 3 floats
- @return: rotationof a metaball object
+ @return: rotation of a metaball object
"""
def setRot(newrot):
"""
- Sets the rotation of a metaball object
+ Sets the rotation of a metaball object.
@type newrot: list of 3 floats
@param newrot: the new rotation
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getSize():
"""
- Retreives the size of a metaball object
+ Retrieves the size of a metaball object.
@rtype: a list of 3 floats
@return: size a metaball object
"""
def setSize(newsize):
"""
- Sets the size of a metaball object
+ Sets the size of a metaball object.
@type newsize: list of 3 floats
@param newsize: the new size
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getWiresize():
"""
- Retreives the wiresize of a metaball object
+ Retrieves the wiresize of a metaball object.
@rtype: float
@return: wire size a metaball object
"""
def setWiresize(newsize):
"""
- Sets the wire size of a metaball object
+ Sets the wire size of a metaball object.
@type newsize: float
@param newsize: the new size
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getRendersize():
"""
- Retreives the rendersize of a metaball object
+ Retrieves the rendersize of a metaball object.
@rtype: float
@return: render size a metaball object
"""
def setRendersize(newsize):
"""
- Sets the render size of a metaball object
+ Sets the render size of a metaball object.
@type newsize: float
@param newsize: the new size
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getThresh():
"""
- Retreives the threshold of a metaball object
+ Retrieves the threshold of a metaball object.
@rtype: float
@return: threshold of the metaball object
"""
def setThresh(threshold):
"""
- Sets the threshold of a metaball object
+ Sets the threshold of a metaball object.
@type threshold: float
@param threshold: the new size
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetadata(name,num):
@@ -215,134 +215,134 @@ class Metaball:
def setMetadata(name,num,val):
"""
- The setMetadata function has the same semantics as getMetadata, except that it needs the parameter value, and always returns PyNone.
+ The setMetadata function has the same semantics as getMetadata, except that it needs the parameter value, and always returns None.
@type name: string
@param name: the name of the property to be read. The accepted values are :"type", "x", "y", "z", "expx", "expy", "expz", "rad", "rad2", "s", "len".
@type num: int
@param num: the position of the metaelem to be accessed.
@type val: float, except if name is "type".
@param val: the new value of the parameter.
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetatype(pos):
"""
- Retreives the type of a metaelem object
+ Retrieves the type of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: int
@return: type of the metaelem object
"""
def setMetatype(pos,newtype):
"""
- Sets the type of a metaelem object
+ Sets the type of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type newtype: int
@param newtype: the new type
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetax(pos):
"""
- Retreives the x parameter of a metaelem object
+ Retrieves the x parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: float
@return: x parameter of the metaelem object
"""
def setMetax(pos,newx):
"""
- Sets the x parameter of a metaelem object
+ Sets the x parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type newx: float
@param newx: the new x parameter value
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetay(pos):
"""
- Retreives the y parameter of a metaelem object
+ Retrieves the y parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: float
@return: y parameter of the metaelem object
"""
def setMetay(pos,newy):
"""
- Sets the y parameter of a metaelem object
+ Sets the y parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type newy: float
@param newy: the new y parameter value
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetaz(pos):
"""
- Retreives the z parameter of a metaelem object
+ Retrieves the z parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: float
@return: z parameter of the metaelem object
"""
def setMetaz(pos,newz):
"""
- Sets the z parameter of a metaelem object
+ Sets the z parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type newz: float
@param newz: the new z parameter value
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetas(pos):
"""
- Retreives the s parameter of a metaelem object
+ Retrieves the s parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: float
@return: s parameter of the metaelem object
"""
def setMetas(pos,news):
"""
- Sets the s parameter of a metaelem object
+ Sets the s parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type news: float
@param news: the new x parameter value
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
def getMetalen(pos):
"""
- Retreives the len parameter of a metaelem object
+ Retrieves the len parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@rtype: float
@return: len parameter of the metaelem object
"""
def setMetalen(pos,newlen):
"""
- Sets the len parameter of a metaelem object
+ Sets the len parameter of a metaelem object.
@type pos: int
- @param : the position of the metaelement
+ @param pos: the position of the metaelement
@type newlen: float
@param newlen: the new x parameter value
- @rtype: PyNone
- @return: PyNone
+ @rtype: None
+ @return: None
"""
diff --git a/source/blender/python/api2_2x/doc/Sys.py b/source/blender/python/api2_2x/doc/Sys.py
index d488c8a1f65..515bc6e3fee 100644
--- a/source/blender/python/api2_2x/doc/Sys.py
+++ b/source/blender/python/api2_2x/doc/Sys.py
@@ -6,7 +6,7 @@ The Blender.sys submodule.
sys
===
-B{New}: L{time}
+B{New}: L{exists}
This module provides a minimal set of helper functions and data. Its purpose
is to avoid the need for the standard Python module 'os', in special 'os.path',
@@ -28,6 +28,8 @@ Example::
print 'dirname:', Blender.sys.dirname(filename)
print 'splitext:', Blender.sys.splitext(filename)
+ # what would basename(splitext(filename)[0]) print?
+
@type sep: char
@var sep: the platform-specific dir separator for this Blender: '/'
everywhere, except on Win systems, that use '\\'.
@@ -66,6 +68,13 @@ def splitext (path):
@return: (root, ext)
"""
+def exists(path):
+ """
+ Tell if the given pathname (file or dir) exists.
+ @rtype: bool
+ @return: 1 if 'path' exists, 0 otherwise.
+ """
+
def time ():
"""
Get the current time in seconds since a fixed value. Successive calls to