Exppython:
- More documentation files for epydoc. - Few minor changes in other files.
This commit is contained in:
@@ -75,7 +75,7 @@ PyObject *M_Window_Redraw(PyObject *self, PyObject *args);
|
|||||||
int g_window_redrawn;
|
int g_window_redrawn;
|
||||||
|
|
||||||
static char Draw_doc[] =
|
static char Draw_doc[] =
|
||||||
"Module Blender.Draw ... XXX improve this";
|
"The Blender.Draw submodule";
|
||||||
|
|
||||||
static void exit_pydraw (SpaceText *st);
|
static void exit_pydraw (SpaceText *st);
|
||||||
static uiBlock *Get_uiBlock (void);
|
static uiBlock *Get_uiBlock (void);
|
||||||
@@ -189,7 +189,7 @@ button\n\n\
|
|||||||
(default) The number of the option to be selected by default\n\
|
(default) The number of the option to be selected by default\n\
|
||||||
[tooltip=""] The button's tooltip\n\n\
|
[tooltip=""] The button's tooltip\n\n\
|
||||||
The menu options are specified through the name of the\n\
|
The menu options are specified through the name of the\n\
|
||||||
button. Options are followed by a format code and seperated\n\
|
button. Options are followed by a format code and separated\n\
|
||||||
by the '|' (pipe) character.\n\
|
by the '|' (pipe) character.\n\
|
||||||
Valid format codes are\n\
|
Valid format codes are\n\
|
||||||
%t - The option should be used as the title\n\
|
%t - The option should be used as the title\n\
|
||||||
@@ -267,12 +267,12 @@ static PyObject *Method_String (PyObject *self, PyObject *args);
|
|||||||
|
|
||||||
static char Method_GetStringWidth_doc[] =
|
static char Method_GetStringWidth_doc[] =
|
||||||
"(text, font = 'normal') - Return the width in pixels of the given string\n\
|
"(text, font = 'normal') - Return the width in pixels of the given string\n\
|
||||||
(font) The font type: 'normal' (default), 'small' or 'tiny'.";
|
(font) The font size: 'normal' (default), 'small' or 'tiny'.";
|
||||||
|
|
||||||
static char Method_Text_doc[] =
|
static char Method_Text_doc[] =
|
||||||
"(text, font = 'normal') - Draw text onscreen\n\n\
|
"(text, font = 'normal') - Draw text onscreen\n\n\
|
||||||
(text) The text to draw\n\
|
(text) The text to draw\n\
|
||||||
(font) The font type: 'normal' (default), 'small' or 'tiny'.\n\n\
|
(font) The font size: 'normal' (default), 'small' or 'tiny'.\n\n\
|
||||||
NEW! - This function now returns the width of the drawn string.";
|
NEW! - This function now returns the width of the drawn string.";
|
||||||
|
|
||||||
static PyObject *Method_GetStringWidth (PyObject *self, PyObject *args);
|
static PyObject *Method_GetStringWidth (PyObject *self, PyObject *args);
|
||||||
|
@@ -226,6 +226,8 @@ PyObject *Image_Init (void)
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
static PyObject *Image_getName(BPy_Image *self);
|
static PyObject *Image_getName(BPy_Image *self);
|
||||||
static PyObject *Image_getFilename(BPy_Image *self);
|
static PyObject *Image_getFilename(BPy_Image *self);
|
||||||
|
static PyObject *Image_getXRep(BPy_Image *self);
|
||||||
|
static PyObject *Image_getYRep(BPy_Image *self);
|
||||||
static PyObject *Image_setName(BPy_Image *self, PyObject *args);
|
static PyObject *Image_setName(BPy_Image *self, PyObject *args);
|
||||||
static PyObject *Image_setXRep(BPy_Image *self, PyObject *args);
|
static PyObject *Image_setXRep(BPy_Image *self, PyObject *args);
|
||||||
static PyObject *Image_setYRep(BPy_Image *self, PyObject *args);
|
static PyObject *Image_setYRep(BPy_Image *self, PyObject *args);
|
||||||
@@ -236,15 +238,19 @@ static PyObject *Image_setYRep(BPy_Image *self, PyObject *args);
|
|||||||
static PyMethodDef BPy_Image_methods[] = {
|
static PyMethodDef BPy_Image_methods[] = {
|
||||||
/* name, method, flags, doc */
|
/* name, method, flags, doc */
|
||||||
{"getName", (PyCFunction)Image_getName, METH_NOARGS,
|
{"getName", (PyCFunction)Image_getName, METH_NOARGS,
|
||||||
"() - Return Image Data name"},
|
"() - Return Image object name"},
|
||||||
{"getFilename", (PyCFunction)Image_getFilename, METH_VARARGS,
|
{"getFilename", (PyCFunction)Image_getFilename, METH_NOARGS,
|
||||||
"() - Return Image Data filename"},
|
"() - Return Image object filename"},
|
||||||
|
{"getXRep", (PyCFunction)Image_getXRep, METH_NOARGS,
|
||||||
|
"() - Return Image object x repetition value"},
|
||||||
|
{"getYRep", (PyCFunction)Image_getYRep, METH_NOARGS,
|
||||||
|
"() - Return Image object y repetition value"},
|
||||||
{"setName", (PyCFunction)Image_setName, METH_VARARGS,
|
{"setName", (PyCFunction)Image_setName, METH_VARARGS,
|
||||||
"(str) - Change Image Data name"},
|
"(str) - Change Image object name"},
|
||||||
{"setXRep", (PyCFunction)Image_setXRep, METH_VARARGS,
|
{"setXRep", (PyCFunction)Image_setXRep, METH_VARARGS,
|
||||||
"(int) - Change Image Data x repetition value"},
|
"(int) - Change Image object x repetition value"},
|
||||||
{"setYRep", (PyCFunction)Image_setYRep, METH_VARARGS,
|
{"setYRep", (PyCFunction)Image_setYRep, METH_VARARGS,
|
||||||
"(int) - Change Image Data y repetition value"},
|
"(int) - Change Image object y repetition value"},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -348,6 +354,26 @@ static PyObject *Image_getFilename(BPy_Image *self)
|
|||||||
"couldn't get Image.filename attribute"));
|
"couldn't get Image.filename attribute"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *Image_getXRep(BPy_Image *self)
|
||||||
|
{
|
||||||
|
PyObject *attr = PyInt_FromLong(self->image->xrep);
|
||||||
|
|
||||||
|
if (attr) return attr;
|
||||||
|
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
"couldn't get Image.xrep attribute");
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *Image_getYRep(BPy_Image *self)
|
||||||
|
{
|
||||||
|
PyObject *attr = PyInt_FromLong(self->image->yrep);
|
||||||
|
|
||||||
|
if (attr) return attr;
|
||||||
|
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
"couldn't get Image.yrep attribute");
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *Image_setName(BPy_Image *self, PyObject *args)
|
static PyObject *Image_setName(BPy_Image *self, PyObject *args)
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
@@ -437,7 +463,7 @@ static PyObject *Image_getAttr (BPy_Image *self, char *name)
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Function: Image_setAttr */
|
/* Function: Image_setAttr */
|
||||||
/* Description: This is a callback function for the BPy_Image type. It is the*/
|
/* Description: This is a callback function for the BPy_Image type. It is the*/
|
||||||
/* function that changes Image Data members values. If this */
|
/* function that changes Image object members values. If this */
|
||||||
/* data is linked to a Blender Image, it also gets updated. */
|
/* data is linked to a Blender Image, it also gets updated. */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
static int Image_setAttr (BPy_Image *self, char *name, PyObject *value)
|
static int Image_setAttr (BPy_Image *self, char *name, PyObject *value)
|
||||||
@@ -462,7 +488,7 @@ static int Image_setAttr (BPy_Image *self, char *name, PyObject *value)
|
|||||||
error = Image_setXRep (self, valtuple);
|
error = Image_setXRep (self, valtuple);
|
||||||
else if (strcmp (name, "yrep") == 0)
|
else if (strcmp (name, "yrep") == 0)
|
||||||
error = Image_setYRep (self, valtuple);
|
error = Image_setYRep (self, valtuple);
|
||||||
else { /* Error: no such member in the Image Data structure */
|
else { /* Error: no such member in the Image object structure */
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
Py_DECREF(valtuple);
|
Py_DECREF(valtuple);
|
||||||
return (EXPP_ReturnIntError (PyExc_KeyError,
|
return (EXPP_ReturnIntError (PyExc_KeyError,
|
||||||
|
@@ -181,7 +181,7 @@ static PyObject *M_Lamp_Get(PyObject *self, PyObject *args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *M_Lamp_TypesDict (void)
|
static PyObject *Lamp_TypesDict (void)
|
||||||
{ /* create the Blender.Lamp.Types constant dict */
|
{ /* create the Blender.Lamp.Types constant dict */
|
||||||
PyObject *Types = M_constant_New();
|
PyObject *Types = M_constant_New();
|
||||||
|
|
||||||
@@ -198,7 +198,7 @@ static PyObject *M_Lamp_TypesDict (void)
|
|||||||
return Types;
|
return Types;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *M_Lamp_ModesDict (void)
|
static PyObject *Lamp_ModesDict (void)
|
||||||
{ /* create the Blender.Lamp.Modes constant dict */
|
{ /* create the Blender.Lamp.Modes constant dict */
|
||||||
PyObject *Modes = M_constant_New();
|
PyObject *Modes = M_constant_New();
|
||||||
|
|
||||||
@@ -229,15 +229,15 @@ PyObject *Lamp_Init (void)
|
|||||||
|
|
||||||
Lamp_Type.ob_type = &PyType_Type;
|
Lamp_Type.ob_type = &PyType_Type;
|
||||||
|
|
||||||
Types = M_Lamp_TypesDict ();
|
Types = Lamp_TypesDict ();
|
||||||
Modes = M_Lamp_ModesDict ();
|
Modes = Lamp_ModesDict ();
|
||||||
|
|
||||||
submodule = Py_InitModule3("Blender.Lamp", M_Lamp_methods, M_Lamp_doc);
|
submodule = Py_InitModule3("Blender.Lamp", M_Lamp_methods, M_Lamp_doc);
|
||||||
|
|
||||||
if (Types) PyModule_AddObject(submodule, "Types", Types);
|
if (Types) PyModule_AddObject(submodule, "Types", Types);
|
||||||
if (Modes) PyModule_AddObject(submodule, "Modes", Modes);
|
if (Modes) PyModule_AddObject(submodule, "Modes", Modes);
|
||||||
|
|
||||||
return (submodule);
|
return submodule;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Three Python Lamp_Type helper functions needed by the Object module: */
|
/* Three Python Lamp_Type helper functions needed by the Object module: */
|
||||||
|
@@ -48,18 +48,18 @@
|
|||||||
#define EXPP_MAT_MODE_SHADOW MA_SHADOW
|
#define EXPP_MAT_MODE_SHADOW MA_SHADOW
|
||||||
#define EXPP_MAT_MODE_SHADELESS MA_SHLESS
|
#define EXPP_MAT_MODE_SHADELESS MA_SHLESS
|
||||||
#define EXPP_MAT_MODE_WIRE MA_WIRE
|
#define EXPP_MAT_MODE_WIRE MA_WIRE
|
||||||
#define EXPP_MAT_MODE_VCOLLIGHT MA_VERTEXCOL
|
#define EXPP_MAT_MODE_VCOL_LIGHT MA_VERTEXCOL
|
||||||
#define EXPP_MAT_MODE_HALO MA_HALO
|
#define EXPP_MAT_MODE_HALO MA_HALO
|
||||||
#define EXPP_MAT_MODE_ZTRANSP MA_ZTRA
|
#define EXPP_MAT_MODE_ZTRANSP MA_ZTRA
|
||||||
#define EXPP_MAT_MODE_VCOLPAINT MA_VERTEXCOLP
|
#define EXPP_MAT_MODE_VCOL_PAINT MA_VERTEXCOLP
|
||||||
#define EXPP_MAT_MODE_ZINVERT MA_ZINV
|
#define EXPP_MAT_MODE_ZINVERT MA_ZINV
|
||||||
#define EXPP_MAT_MODE_HALORINGS MA_HALO_RINGS
|
#define EXPP_MAT_MODE_HALORINGS MA_HALO_RINGS
|
||||||
#define EXPP_MAT_MODE_ENV MA_ENV
|
#define EXPP_MAT_MODE_ENV MA_ENV
|
||||||
#define EXPP_MAT_MODE_HALOLINES MA_HALO_LINES
|
#define EXPP_MAT_MODE_HALOLINES MA_HALO_LINES
|
||||||
#define EXPP_MAT_MODE_ONLYSHADOW MA_ONLYSHADOW
|
#define EXPP_MAT_MODE_ONLYSHADOW MA_ONLYSHADOW
|
||||||
#define EXPP_MAT_MODE_XALPHA MA_HALO_XALPHA
|
#define EXPP_MAT_MODE_HALOXALPHA MA_HALO_XALPHA
|
||||||
#define EXPP_MAT_MODE_STAR MA_STAR
|
#define EXPP_MAT_MODE_HALOSTAR MA_STAR
|
||||||
#define EXPP_MAT_MODE_FACETEX MA_FACETEXTURE
|
#define EXPP_MAT_MODE_TEXFACE MA_FACETEXTURE
|
||||||
#define EXPP_MAT_MODE_HALOTEX MA_HALOTEX
|
#define EXPP_MAT_MODE_HALOTEX MA_HALOTEX
|
||||||
#define EXPP_MAT_MODE_HALOPUNO MA_HALOPUNO
|
#define EXPP_MAT_MODE_HALOPUNO MA_HALOPUNO
|
||||||
#define EXPP_MAT_MODE_NOMIST MA_NOMIST
|
#define EXPP_MAT_MODE_NOMIST MA_NOMIST
|
||||||
@@ -79,8 +79,8 @@
|
|||||||
#define EXPP_MAT_EMIT_MAX 1.0
|
#define EXPP_MAT_EMIT_MAX 1.0
|
||||||
#define EXPP_MAT_REF_MIN 0.0
|
#define EXPP_MAT_REF_MIN 0.0
|
||||||
#define EXPP_MAT_REF_MAX 1.0
|
#define EXPP_MAT_REF_MAX 1.0
|
||||||
#define EXPP_MAT_SPEBPy_MIN 0.0
|
#define EXPP_MAT_SPEC_MIN 0.0
|
||||||
#define EXPP_MAT_SPEBPy_MAX 2.0
|
#define EXPP_MAT_SPEC_MAX 2.0
|
||||||
#define EXPP_MAT_SPECTRA_MIN 0.0
|
#define EXPP_MAT_SPECTRA_MIN 0.0
|
||||||
#define EXPP_MAT_SPECTRA_MAX 1.0
|
#define EXPP_MAT_SPECTRA_MAX 1.0
|
||||||
#define EXPP_MAT_ZOFFS_MIN 0.0
|
#define EXPP_MAT_ZOFFS_MIN 0.0
|
||||||
@@ -96,8 +96,12 @@
|
|||||||
|
|
||||||
#define EXPP_MAT_HARD_MIN 1
|
#define EXPP_MAT_HARD_MIN 1
|
||||||
#define EXPP_MAT_HARD_MAX 255 /* 127 with MODE HALO ON */
|
#define EXPP_MAT_HARD_MAX 255 /* 127 with MODE HALO ON */
|
||||||
|
#define EXPP_MAT_HALOSEED_MIN 1
|
||||||
|
#define EXPP_MAT_HALOSEED_MAX 255
|
||||||
#define EXPP_MAT_NFLARES_MIN 1
|
#define EXPP_MAT_NFLARES_MIN 1
|
||||||
#define EXPP_MAT_NFLARES_MAX 32
|
#define EXPP_MAT_NFLARES_MAX 32
|
||||||
|
#define EXPP_MAT_FLARESEED_MIN 1
|
||||||
|
#define EXPP_MAT_FLARESEED_MAX 255
|
||||||
#define EXPP_MAT_NSTARS_MIN 3
|
#define EXPP_MAT_NSTARS_MIN 3
|
||||||
#define EXPP_MAT_NSTARS_MAX 50
|
#define EXPP_MAT_NSTARS_MAX 50
|
||||||
#define EXPP_MAT_NLINES_MIN 0
|
#define EXPP_MAT_NLINES_MIN 0
|
||||||
@@ -244,18 +248,63 @@ static PyObject *M_Material_Get(PyObject *self, PyObject *args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *Lamp_ModesDict (void)
|
||||||
|
{
|
||||||
|
PyObject *Modes = M_constant_New();
|
||||||
|
|
||||||
|
#undef EXPP_ADDCONST
|
||||||
|
#define EXPP_ADDCONST(name) \
|
||||||
|
constant_insert(c, #name, PyInt_FromLong(EXPP_MAT_MODE_##name))
|
||||||
|
|
||||||
|
/* So that:
|
||||||
|
* EXPP_ADDCONST(TRACEABLE) becomes:
|
||||||
|
* constant_insert(c, "TRACEABLE", PyInt_FromLong(EXPP_MAT_MODE_TRACEABLE))
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (Modes) {
|
||||||
|
BPy_constant *c = (BPy_constant *)Modes;
|
||||||
|
|
||||||
|
EXPP_ADDCONST(TRACEABLE);
|
||||||
|
EXPP_ADDCONST(SHADOW);
|
||||||
|
EXPP_ADDCONST(SHADELESS);
|
||||||
|
EXPP_ADDCONST(WIRE);
|
||||||
|
EXPP_ADDCONST(VCOL_LIGHT);
|
||||||
|
EXPP_ADDCONST(HALO);
|
||||||
|
EXPP_ADDCONST(ZTRANSP);
|
||||||
|
EXPP_ADDCONST(VCOL_PAINT);
|
||||||
|
EXPP_ADDCONST(ZINVERT);
|
||||||
|
EXPP_ADDCONST(HALORINGS);
|
||||||
|
EXPP_ADDCONST(ENV);
|
||||||
|
EXPP_ADDCONST(HALOLINES);
|
||||||
|
EXPP_ADDCONST(ONLYSHADOW);
|
||||||
|
EXPP_ADDCONST(HALOXALPHA);
|
||||||
|
EXPP_ADDCONST(HALOSTAR);
|
||||||
|
EXPP_ADDCONST(TEXFACE);
|
||||||
|
EXPP_ADDCONST(HALOTEX);
|
||||||
|
EXPP_ADDCONST(HALOPUNO);
|
||||||
|
EXPP_ADDCONST(NOMIST);
|
||||||
|
EXPP_ADDCONST(HALOSHADE);
|
||||||
|
EXPP_ADDCONST(HALOFLARE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Modes;
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Function: Material_Init */
|
/* Function: Material_Init */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
PyObject *Material_Init (void)
|
PyObject *Material_Init (void)
|
||||||
{
|
{
|
||||||
PyObject *submodule;
|
PyObject *submodule, *Modes;
|
||||||
|
|
||||||
Material_Type.ob_type = &PyType_Type;
|
Material_Type.ob_type = &PyType_Type;
|
||||||
|
|
||||||
|
Modes = Lamp_ModesDict ();
|
||||||
|
|
||||||
submodule = Py_InitModule3("Blender.Material",
|
submodule = Py_InitModule3("Blender.Material",
|
||||||
M_Material_methods, M_Material_doc);
|
M_Material_methods, M_Material_doc);
|
||||||
|
|
||||||
|
if (Modes) PyModule_AddObject(submodule, "Modes", Modes);
|
||||||
return (submodule);
|
return (submodule);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,7 +330,9 @@ static PyObject *Material_getSpecTransp(BPy_Material *self);
|
|||||||
static PyObject *Material_getAdd(BPy_Material *self);
|
static PyObject *Material_getAdd(BPy_Material *self);
|
||||||
static PyObject *Material_getZOffset(BPy_Material *self);
|
static PyObject *Material_getZOffset(BPy_Material *self);
|
||||||
static PyObject *Material_getHaloSize(BPy_Material *self);
|
static PyObject *Material_getHaloSize(BPy_Material *self);
|
||||||
|
static PyObject *Material_getHaloSeed(BPy_Material *self);
|
||||||
static PyObject *Material_getFlareSize(BPy_Material *self);
|
static PyObject *Material_getFlareSize(BPy_Material *self);
|
||||||
|
static PyObject *Material_getFlareSeed(BPy_Material *self);
|
||||||
static PyObject *Material_getFlareBoost(BPy_Material *self);
|
static PyObject *Material_getFlareBoost(BPy_Material *self);
|
||||||
static PyObject *Material_getSubSize(BPy_Material *self);
|
static PyObject *Material_getSubSize(BPy_Material *self);
|
||||||
static PyObject *Material_getHardness(BPy_Material *self);
|
static PyObject *Material_getHardness(BPy_Material *self);
|
||||||
@@ -305,7 +356,9 @@ static PyObject *Material_setSpecTransp(BPy_Material *self, PyObject *args);
|
|||||||
static PyObject *Material_setAdd(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setAdd(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setZOffset(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setZOffset(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setHaloSize(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setHaloSize(BPy_Material *self, PyObject *args);
|
||||||
|
static PyObject *Material_setHaloSeed(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setFlareSize(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setFlareSize(BPy_Material *self, PyObject *args);
|
||||||
|
static PyObject *Material_setFlareSeed(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setFlareBoost(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setFlareBoost(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setSubSize(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setSubSize(BPy_Material *self, PyObject *args);
|
||||||
static PyObject *Material_setHardness(BPy_Material *self, PyObject *args);
|
static PyObject *Material_setHardness(BPy_Material *self, PyObject *args);
|
||||||
@@ -349,21 +402,26 @@ static PyMethodDef BPy_Material_methods[] = {
|
|||||||
{"getAdd", (PyCFunction)Material_getAdd, METH_NOARGS,
|
{"getAdd", (PyCFunction)Material_getAdd, METH_NOARGS,
|
||||||
"() - Return Material's glow factor"},
|
"() - Return Material's glow factor"},
|
||||||
{"getZOffset", (PyCFunction)Material_getZOffset, METH_NOARGS,
|
{"getZOffset", (PyCFunction)Material_getZOffset, METH_NOARGS,
|
||||||
"() - Return Material's artificial offset "},
|
"() - Return Material's artificial offset for faces"},
|
||||||
{"getHaloSize", (PyCFunction)Material_getHaloSize, METH_NOARGS,
|
{"getHaloSize", (PyCFunction)Material_getHaloSize, METH_NOARGS,
|
||||||
"() - Return Material's halo size"},
|
"() - Return Material's halo size"},
|
||||||
|
{"getHaloSeed", (PyCFunction)Material_getHaloSeed, METH_NOARGS,
|
||||||
|
"() - Return Material's seed for random ring dimension and line "
|
||||||
|
"location in halos"},
|
||||||
{"getFlareSize", (PyCFunction)Material_getFlareSize, METH_NOARGS,
|
{"getFlareSize", (PyCFunction)Material_getFlareSize, METH_NOARGS,
|
||||||
"() - Return Material's (flare size)/(halo size) factor"},
|
"() - Return Material's (flare size)/(halo size) factor"},
|
||||||
|
{"getFlareSeed", (PyCFunction)Material_getFlareSeed, METH_NOARGS,
|
||||||
|
"() - Return Material's flare offset in the seed table"},
|
||||||
{"getFlareBoost", (PyCFunction)Material_getFlareBoost, METH_NOARGS,
|
{"getFlareBoost", (PyCFunction)Material_getFlareBoost, METH_NOARGS,
|
||||||
"() - Return Material's flare boost"},
|
"() - Return Material's flare boost"},
|
||||||
{"getSubSize", (PyCFunction)Material_getSubSize, METH_NOARGS,
|
{"getSubSize", (PyCFunction)Material_getSubSize, METH_NOARGS,
|
||||||
"() - Return Material's dimension of subflare, dots and circles"},
|
"() - Return Material's dimension of subflare, dots and circles"},
|
||||||
{"getHardness", (PyCFunction)Material_getHardness, METH_NOARGS,
|
{"getHardness", (PyCFunction)Material_getHardness, METH_NOARGS,
|
||||||
"() - Return Material's hardness"},
|
"() - Return Material's specular hardness"},
|
||||||
{"getNFlares", (PyCFunction)Material_getNFlares, METH_NOARGS,
|
{"getNFlares", (PyCFunction)Material_getNFlares, METH_NOARGS,
|
||||||
"() - Return Material's number of flares in halo"},
|
"() - Return Material's number of flares in halo"},
|
||||||
{"getNStars", (PyCFunction)Material_getNStars, METH_NOARGS,
|
{"getNStars", (PyCFunction)Material_getNStars, METH_NOARGS,
|
||||||
"() - Return Material's number of stars in halo"},
|
"() - Return Material's number of points in the halo stars"},
|
||||||
{"getNLines", (PyCFunction)Material_getNLines, METH_NOARGS,
|
{"getNLines", (PyCFunction)Material_getNLines, METH_NOARGS,
|
||||||
"() - Return Material's number of lines in halo"},
|
"() - Return Material's number of lines in halo"},
|
||||||
{"getNRings", (PyCFunction)Material_getNRings, METH_NOARGS,
|
{"getNRings", (PyCFunction)Material_getNRings, METH_NOARGS,
|
||||||
@@ -373,13 +431,13 @@ static PyMethodDef BPy_Material_methods[] = {
|
|||||||
{"setMode", (PyCFunction)Material_setMode, METH_VARARGS,
|
{"setMode", (PyCFunction)Material_setMode, METH_VARARGS,
|
||||||
"([s[,s]]) - Set Material mode flag(s)"},
|
"([s[,s]]) - Set Material mode flag(s)"},
|
||||||
{"setRGBCol", (PyCFunction)Material_setRGBCol, METH_VARARGS,
|
{"setRGBCol", (PyCFunction)Material_setRGBCol, METH_VARARGS,
|
||||||
"([s[,s]]) - Set Material's rgb color triplet"},
|
"(f,f,f or [f,f,f]) - Set Material's rgb color triplet"},
|
||||||
{"setAmbCol", (PyCFunction)Material_setAmbCol, METH_VARARGS,
|
{"setAmbCol", (PyCFunction)Material_setAmbCol, METH_VARARGS,
|
||||||
"([s[,s]]) - Set Material's ambient color"},
|
"(f,f,f or [f,f,f]) - Set Material's ambient color"},
|
||||||
{"setSpecCol", (PyCFunction)Material_setSpecCol, METH_VARARGS,
|
{"setSpecCol", (PyCFunction)Material_setSpecCol, METH_VARARGS,
|
||||||
"([s[,s]]) - Set Material's specular color"},
|
"(f,f,f or [f,f,f]) - Set Material's specular color"},
|
||||||
{"setMirCol", (PyCFunction)Material_setMirCol, METH_VARARGS,
|
{"setMirCol", (PyCFunction)Material_setMirCol, METH_VARARGS,
|
||||||
"([s[,s]]) - Set Material's mirror color"},
|
"(f,f,f or [f,f,f]) - Set Material's mirror color"},
|
||||||
{"setAmb", (PyCFunction)Material_setAmb, METH_VARARGS,
|
{"setAmb", (PyCFunction)Material_setAmb, METH_VARARGS,
|
||||||
"(f) - Set how much the Material's color is affected"
|
"(f) - Set how much the Material's color is affected"
|
||||||
" by \nthe global ambient colors - [0.0, 1.0]"},
|
" by \nthe global ambient colors - [0.0, 1.0]"},
|
||||||
@@ -399,23 +457,27 @@ static PyMethodDef BPy_Material_methods[] = {
|
|||||||
"(f) - Set Material's artificial offset - [0.0, 10.0]"},
|
"(f) - Set Material's artificial offset - [0.0, 10.0]"},
|
||||||
{"setHaloSize", (PyCFunction)Material_setHaloSize, METH_VARARGS,
|
{"setHaloSize", (PyCFunction)Material_setHaloSize, METH_VARARGS,
|
||||||
"(f) - Set Material's halo size - [0.0, 100.0]"},
|
"(f) - Set Material's halo size - [0.0, 100.0]"},
|
||||||
|
{"setHaloSeed", (PyCFunction)Material_setHaloSeed, METH_VARARGS,
|
||||||
|
"(i) - Set Material's halo seed - [0, 255]"},
|
||||||
{"setFlareSize", (PyCFunction)Material_setFlareSize, METH_VARARGS,
|
{"setFlareSize", (PyCFunction)Material_setFlareSize, METH_VARARGS,
|
||||||
"(f) - Set Material's factor: (flare size)/(halo size) - [0.1, 25.0]"},
|
"(f) - Set Material's factor: (flare size)/(halo size) - [0.1, 25.0]"},
|
||||||
|
{"setFlareSeed", (PyCFunction)Material_setFlareSeed, METH_VARARGS,
|
||||||
|
"(i) - Set Material's flare seed - [0, 255]"},
|
||||||
{"setFlareBoost", (PyCFunction)Material_setFlareBoost, METH_VARARGS,
|
{"setFlareBoost", (PyCFunction)Material_setFlareBoost, METH_VARARGS,
|
||||||
"(f) - Set Material's flare boost - [0.1, 10.0]"},
|
"(f) - Set Material's flare boost - [0.1, 10.0]"},
|
||||||
{"setSubSize", (PyCFunction)Material_setSubSize, METH_VARARGS,
|
{"setSubSize", (PyCFunction)Material_setSubSize, METH_VARARGS,
|
||||||
"(f) - Set Material's dimension of subflare,"
|
"(f) - Set Material's dimension of subflare,"
|
||||||
" dots and circles - [0.1, 25.0]"},
|
" dots and circles - [0.1, 25.0]"},
|
||||||
{"setHardness", (PyCFunction)Material_setHardness, METH_VARARGS,
|
{"setHardness", (PyCFunction)Material_setHardness, METH_VARARGS,
|
||||||
"(f) - Set Material's hardness - [1, 255 (127 if halo mode is ON)]"},
|
"(i) - Set Material's hardness - [1, 255 (127 if halo mode is ON)]"},
|
||||||
{"setNFlares", (PyCFunction)Material_setNFlares, METH_VARARGS,
|
{"setNFlares", (PyCFunction)Material_setNFlares, METH_VARARGS,
|
||||||
"(f) - Set Material's number of flares in halo - [1, 32]"},
|
"(i) - Set Material's number of flares in halo - [1, 32]"},
|
||||||
{"setNStars", (PyCFunction)Material_setNStars, METH_VARARGS,
|
{"setNStars", (PyCFunction)Material_setNStars, METH_VARARGS,
|
||||||
"(f) - Set Material's number of stars in halo - [3, 50]"},
|
"(i) - Set Material's number of stars in halo - [3, 50]"},
|
||||||
{"setNLines", (PyCFunction)Material_setNLines, METH_VARARGS,
|
{"setNLines", (PyCFunction)Material_setNLines, METH_VARARGS,
|
||||||
"(f) - Set Material's number of lines in halo - [0, 250]"},
|
"(i) - Set Material's number of lines in halo - [0, 250]"},
|
||||||
{"setNRings", (PyCFunction)Material_setNRings, METH_VARARGS,
|
{"setNRings", (PyCFunction)Material_setNRings, METH_VARARGS,
|
||||||
"(f) - Set Material's number of rings in halo - [0, 24]"},
|
"(i) - Set Material's number of rings in halo - [0, 24]"},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -684,6 +746,26 @@ static PyObject *Material_getSubSize(BPy_Material *self)
|
|||||||
"couldn't get Material.subSize attribute");
|
"couldn't get Material.subSize attribute");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *Material_getHaloSeed(BPy_Material *self)
|
||||||
|
{
|
||||||
|
PyObject *attr = PyInt_FromLong((long)self->material->seed1);
|
||||||
|
|
||||||
|
if (attr) return attr;
|
||||||
|
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
"couldn't get Material.haloSeed attribute");
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *Material_getFlareSeed(BPy_Material *self)
|
||||||
|
{
|
||||||
|
PyObject *attr = PyInt_FromLong((long)self->material->seed2);
|
||||||
|
|
||||||
|
if (attr) return attr;
|
||||||
|
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
"couldn't get Material.flareSeed attribute");
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *Material_getHardness(BPy_Material *self)
|
static PyObject *Material_getHardness(BPy_Material *self)
|
||||||
{
|
{
|
||||||
PyObject *attr = PyInt_FromLong((long)self->material->har);
|
PyObject *attr = PyInt_FromLong((long)self->material->har);
|
||||||
@@ -754,7 +836,7 @@ static PyObject *Material_setName(BPy_Material *self, PyObject *args)
|
|||||||
/* Possible modes are traceable, shadow, shadeless, wire, vcolLight,
|
/* Possible modes are traceable, shadow, shadeless, wire, vcolLight,
|
||||||
* vcolPaint, halo, ztransp, zinvert, haloRings, env, haloLines,
|
* vcolPaint, halo, ztransp, zinvert, haloRings, env, haloLines,
|
||||||
* onlyShadow, xalpha, star, faceTexture, haloTex, haloPuno, noMist,
|
* onlyShadow, xalpha, star, faceTexture, haloTex, haloPuno, noMist,
|
||||||
* haloShade, haloFlare */
|
* haloShaded, haloFlare */
|
||||||
static PyObject *Material_setMode(BPy_Material *self, PyObject *args)
|
static PyObject *Material_setMode(BPy_Material *self, PyObject *args)
|
||||||
{
|
{
|
||||||
int i, flag = 0;
|
int i, flag = 0;
|
||||||
@@ -782,9 +864,9 @@ static PyObject *Material_setMode(BPy_Material *self, PyObject *args)
|
|||||||
else if (strcmp(m[i], "Wire") == 0)
|
else if (strcmp(m[i], "Wire") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_WIRE;
|
flag |= (short)EXPP_MAT_MODE_WIRE;
|
||||||
else if (strcmp(m[i], "VColLight") == 0)
|
else if (strcmp(m[i], "VColLight") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_VCOLLIGHT;
|
flag |= (short)EXPP_MAT_MODE_VCOL_LIGHT;
|
||||||
else if (strcmp(m[i], "VColPaint") == 0)
|
else if (strcmp(m[i], "VColPaint") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_VCOLPAINT;
|
flag |= (short)EXPP_MAT_MODE_VCOL_PAINT;
|
||||||
else if (strcmp(m[i], "Halo") == 0)
|
else if (strcmp(m[i], "Halo") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_HALO;
|
flag |= (short)EXPP_MAT_MODE_HALO;
|
||||||
else if (strcmp(m[i], "ZTransp") == 0)
|
else if (strcmp(m[i], "ZTransp") == 0)
|
||||||
@@ -799,19 +881,19 @@ static PyObject *Material_setMode(BPy_Material *self, PyObject *args)
|
|||||||
flag |= (short)EXPP_MAT_MODE_HALOLINES;
|
flag |= (short)EXPP_MAT_MODE_HALOLINES;
|
||||||
else if (strcmp(m[i], "OnlyShadow") == 0)
|
else if (strcmp(m[i], "OnlyShadow") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_ONLYSHADOW;
|
flag |= (short)EXPP_MAT_MODE_ONLYSHADOW;
|
||||||
else if (strcmp(m[i], "XAlpha") == 0)
|
else if (strcmp(m[i], "HaloXAlpha") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_XALPHA;
|
flag |= (short)EXPP_MAT_MODE_HALOXALPHA;
|
||||||
else if (strcmp(m[i], "Star") == 0)
|
else if (strcmp(m[i], "HaloStar") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_STAR;
|
flag |= (short)EXPP_MAT_MODE_HALOSTAR;
|
||||||
else if (strcmp(m[i], "FaceTex") == 0)
|
else if (strcmp(m[i], "TexFace") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_FACETEX;
|
flag |= (short)EXPP_MAT_MODE_TEXFACE;
|
||||||
else if (strcmp(m[i], "HaloTex") == 0)
|
else if (strcmp(m[i], "HaloTex") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_HALOTEX;
|
flag |= (short)EXPP_MAT_MODE_HALOTEX;
|
||||||
else if (strcmp(m[i], "HaloPuno") == 0)
|
else if (strcmp(m[i], "HaloPuno") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_HALOPUNO;
|
flag |= (short)EXPP_MAT_MODE_HALOPUNO;
|
||||||
else if (strcmp(m[i], "NoMist") == 0)
|
else if (strcmp(m[i], "NoMist") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_NOMIST;
|
flag |= (short)EXPP_MAT_MODE_NOMIST;
|
||||||
else if (strcmp(m[i], "HaloShade") == 0)
|
else if (strcmp(m[i], "HaloShaded") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_HALOSHADE;
|
flag |= (short)EXPP_MAT_MODE_HALOSHADE;
|
||||||
else if (strcmp(m[i], "HaloFlare") == 0)
|
else if (strcmp(m[i], "HaloFlare") == 0)
|
||||||
flag |= (short)EXPP_MAT_MODE_HALOFLARE;
|
flag |= (short)EXPP_MAT_MODE_HALOFLARE;
|
||||||
@@ -962,8 +1044,8 @@ static PyObject *Material_setSpec(BPy_Material *self, PyObject *args)
|
|||||||
return (EXPP_ReturnPyObjError (PyExc_TypeError,
|
return (EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
"expected float argument in [0.0, 1.0]"));
|
"expected float argument in [0.0, 1.0]"));
|
||||||
|
|
||||||
self->material->spec = EXPP_ClampFloat (value, EXPP_MAT_SPEBPy_MIN,
|
self->material->spec = EXPP_ClampFloat (value, EXPP_MAT_SPEC_MIN,
|
||||||
EXPP_MAT_SPEBPy_MAX);
|
EXPP_MAT_SPEC_MAX);
|
||||||
|
|
||||||
return EXPP_incr_ret (Py_None);
|
return EXPP_incr_ret (Py_None);
|
||||||
}
|
}
|
||||||
@@ -1052,6 +1134,35 @@ static PyObject *Material_setSubSize(BPy_Material *self, PyObject *args)
|
|||||||
return EXPP_incr_ret (Py_None);
|
return EXPP_incr_ret (Py_None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *Material_setHaloSeed(BPy_Material *self, PyObject *args)
|
||||||
|
{
|
||||||
|
short value;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "h", &value))
|
||||||
|
return (EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
|
"expected int argument in [1, 255]"));
|
||||||
|
|
||||||
|
self->material->seed1 = EXPP_ClampInt (value, EXPP_MAT_HALOSEED_MIN,
|
||||||
|
EXPP_MAT_HALOSEED_MAX);
|
||||||
|
|
||||||
|
return EXPP_incr_ret (Py_None);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *Material_setFlareSeed(BPy_Material *self, PyObject *args)
|
||||||
|
{
|
||||||
|
short value;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "h", &value))
|
||||||
|
return (EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
|
"expected int argument in [1, 255]"));
|
||||||
|
|
||||||
|
self->material->seed2 = EXPP_ClampInt (value, EXPP_MAT_FLARESEED_MIN,
|
||||||
|
EXPP_MAT_FLARESEED_MAX);
|
||||||
|
|
||||||
|
return EXPP_incr_ret (Py_None);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static PyObject *Material_setHardness(BPy_Material *self, PyObject *args)
|
static PyObject *Material_setHardness(BPy_Material *self, PyObject *args)
|
||||||
{
|
{
|
||||||
short value;
|
short value;
|
||||||
@@ -1168,10 +1279,14 @@ static PyObject *Material_getAttr (BPy_Material *self, char *name)
|
|||||||
attr = PyFloat_FromDouble((double)self->material->zoffs);
|
attr = PyFloat_FromDouble((double)self->material->zoffs);
|
||||||
else if (strcmp(name, "haloSize") == 0)
|
else if (strcmp(name, "haloSize") == 0)
|
||||||
attr = PyFloat_FromDouble((double)self->material->hasize);
|
attr = PyFloat_FromDouble((double)self->material->hasize);
|
||||||
|
else if (strcmp(name, "haloSeed") == 0)
|
||||||
|
attr = PyInt_FromLong((double)self->material->seed1);
|
||||||
else if (strcmp(name, "flareSize") == 0)
|
else if (strcmp(name, "flareSize") == 0)
|
||||||
attr = PyFloat_FromDouble((double)self->material->flaresize);
|
attr = PyFloat_FromDouble((double)self->material->flaresize);
|
||||||
else if (strcmp(name, "flareBoost") == 0)
|
else if (strcmp(name, "flareBoost") == 0)
|
||||||
attr = PyFloat_FromDouble((double)self->material->flareboost);
|
attr = PyFloat_FromDouble((double)self->material->flareboost);
|
||||||
|
else if (strcmp(name, "flareSeed") == 0)
|
||||||
|
attr = PyInt_FromLong((double)self->material->seed2);
|
||||||
else if (strcmp(name, "subSize") == 0)
|
else if (strcmp(name, "subSize") == 0)
|
||||||
attr = PyFloat_FromDouble((double)self->material->subsize);
|
attr = PyFloat_FromDouble((double)self->material->subsize);
|
||||||
else if (strcmp(name, "hard") == 0)
|
else if (strcmp(name, "hard") == 0)
|
||||||
@@ -1186,13 +1301,13 @@ static PyObject *Material_getAttr (BPy_Material *self, char *name)
|
|||||||
attr = PyInt_FromLong((long)self->material->ringc);
|
attr = PyInt_FromLong((long)self->material->ringc);
|
||||||
|
|
||||||
else if (strcmp(name, "__members__") == 0) {
|
else if (strcmp(name, "__members__") == 0) {
|
||||||
attr = /* 26 items */
|
attr = /* 28 items */
|
||||||
Py_BuildValue("[s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s]",
|
Py_BuildValue("[s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s]",
|
||||||
"name", "mode", "rgbCol", "ambCol", "specCol", "mirCol",
|
"name", "mode", "rgbCol", "ambCol", "specCol", "mirCol",
|
||||||
"R", "G", "B", "alpha", "amb", "emit", "ref",
|
"R", "G", "B", "alpha", "amb", "emit", "ref", "spec",
|
||||||
"spec", "specTransp", "add", "zOffset", "haloSize",
|
"specTransp", "add", "zOffset", "haloSize", "haloSeed",
|
||||||
"flareSize", "flareBoost", "subSize", "hard", "nFlares",
|
"flareSize", "flareBoost", "flareSeed", "subSize", "hard",
|
||||||
"nStars", "nLines", "nRings");
|
"nFlares", "nStars", "nLines", "nRings");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!attr)
|
if (!attr)
|
||||||
@@ -1266,10 +1381,14 @@ static int Material_setAttr (BPy_Material *self, char *name, PyObject *value)
|
|||||||
error = Material_setZOffset (self, valtuple);
|
error = Material_setZOffset (self, valtuple);
|
||||||
else if (strcmp (name, "haloSize") == 0)
|
else if (strcmp (name, "haloSize") == 0)
|
||||||
error = Material_setHaloSize (self, valtuple);
|
error = Material_setHaloSize (self, valtuple);
|
||||||
|
else if (strcmp (name, "haloSeed") == 0)
|
||||||
|
error = Material_setHaloSeed (self, valtuple);
|
||||||
else if (strcmp (name, "flareSize") == 0)
|
else if (strcmp (name, "flareSize") == 0)
|
||||||
error = Material_setFlareSize (self, valtuple);
|
error = Material_setFlareSize (self, valtuple);
|
||||||
else if (strcmp (name, "flareBoost") == 0)
|
else if (strcmp (name, "flareBoost") == 0)
|
||||||
error = Material_setFlareBoost (self, valtuple);
|
error = Material_setFlareBoost (self, valtuple);
|
||||||
|
else if (strcmp (name, "flareSeed") == 0)
|
||||||
|
error = Material_setFlareSeed (self, valtuple);
|
||||||
else if (strcmp (name, "subSize") == 0)
|
else if (strcmp (name, "subSize") == 0)
|
||||||
error = Material_setSubSize (self, valtuple);
|
error = Material_setSubSize (self, valtuple);
|
||||||
else if (strcmp (name, "hard") == 0)
|
else if (strcmp (name, "hard") == 0)
|
||||||
|
@@ -79,6 +79,8 @@ static PyObject *NMCol_getattr(PyObject *self, char *name)
|
|||||||
else if (strcmp(name, "g") == 0) return Py_BuildValue("i", mc->g);
|
else if (strcmp(name, "g") == 0) return Py_BuildValue("i", mc->g);
|
||||||
else if (strcmp(name, "b") == 0) return Py_BuildValue("i", mc->b);
|
else if (strcmp(name, "b") == 0) return Py_BuildValue("i", mc->b);
|
||||||
else if (strcmp(name, "a") == 0) return Py_BuildValue("i", mc->a);
|
else if (strcmp(name, "a") == 0) return Py_BuildValue("i", mc->a);
|
||||||
|
else if (strcmp(name, "__members__") == 0)
|
||||||
|
return Py_BuildValue("[s,s,s,s]", "r", "g", "b", "a");
|
||||||
|
|
||||||
return EXPP_ReturnPyObjError(PyExc_AttributeError, name);
|
return EXPP_ReturnPyObjError(PyExc_AttributeError, name);
|
||||||
}
|
}
|
||||||
@@ -112,7 +114,7 @@ PyTypeObject NMCol_Type =
|
|||||||
{
|
{
|
||||||
PyObject_HEAD_INIT(NULL)
|
PyObject_HEAD_INIT(NULL)
|
||||||
0, /* ob_size */
|
0, /* ob_size */
|
||||||
"NMCol", /* tp_name */
|
"Blender NMCol", /* tp_name */
|
||||||
sizeof(BPy_NMCol), /* tp_basicsize */
|
sizeof(BPy_NMCol), /* tp_basicsize */
|
||||||
0, /* tp_itemsize */
|
0, /* tp_itemsize */
|
||||||
/* methods */
|
/* methods */
|
||||||
@@ -231,6 +233,10 @@ static PyObject *NMFace_getattr(PyObject *self, char *name)
|
|||||||
else if (strcmp(name, "uv") == 0)
|
else if (strcmp(name, "uv") == 0)
|
||||||
return Py_BuildValue("O", mf->uv);
|
return Py_BuildValue("O", mf->uv);
|
||||||
|
|
||||||
|
else if (strcmp(name, "__members__") == 0)
|
||||||
|
return Py_BuildValue("[s,s,s,s,s,s,s,s,s,s]",
|
||||||
|
"v", "col", "mat", "materialIndex", "smooth",
|
||||||
|
"image", "mode", "flag", "transp", "uv");
|
||||||
return Py_FindMethod(NMFace_methods, (PyObject*)self, name);
|
return Py_FindMethod(NMFace_methods, (PyObject*)self, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,7 +357,7 @@ PyTypeObject NMFace_Type =
|
|||||||
{
|
{
|
||||||
PyObject_HEAD_INIT(NULL)
|
PyObject_HEAD_INIT(NULL)
|
||||||
0, /*ob_size*/
|
0, /*ob_size*/
|
||||||
"NMFace", /*tp_name*/
|
"Blender NMFace", /*tp_name*/
|
||||||
sizeof(BPy_NMFace), /*tp_basicsize*/
|
sizeof(BPy_NMFace), /*tp_basicsize*/
|
||||||
0, /*tp_itemsize*/
|
0, /*tp_itemsize*/
|
||||||
/* methods */
|
/* methods */
|
||||||
@@ -405,6 +411,8 @@ static PyObject *NMVert_getattr(PyObject *self, char *name)
|
|||||||
else if (strcmp(name, "no") == 0) return newVectorObject(mv->no, 3);
|
else if (strcmp(name, "no") == 0) return newVectorObject(mv->no, 3);
|
||||||
else if (strcmp(name, "uvco") == 0) return newVectorObject(mv->uvco, 3);
|
else if (strcmp(name, "uvco") == 0) return newVectorObject(mv->uvco, 3);
|
||||||
else if (strcmp(name, "index") == 0) return PyInt_FromLong(mv->index);
|
else if (strcmp(name, "index") == 0) return PyInt_FromLong(mv->index);
|
||||||
|
else if (strcmp(name, "__members__") == 0)
|
||||||
|
return Py_BuildValue("[s,s,s,s]", "co", "no", "uvco", "index");
|
||||||
|
|
||||||
return EXPP_ReturnPyObjError (PyExc_AttributeError, name);
|
return EXPP_ReturnPyObjError (PyExc_AttributeError, name);
|
||||||
}
|
}
|
||||||
@@ -522,7 +530,7 @@ PyTypeObject NMVert_Type =
|
|||||||
{
|
{
|
||||||
PyObject_HEAD_INIT(NULL)
|
PyObject_HEAD_INIT(NULL)
|
||||||
0, /*ob_size*/
|
0, /*ob_size*/
|
||||||
"NMVert", /*tp_name*/
|
"Blender NMVert", /*tp_name*/
|
||||||
sizeof(BPy_NMVert), /*tp_basicsize*/
|
sizeof(BPy_NMVert), /*tp_basicsize*/
|
||||||
0, /*tp_itemsize*/
|
0, /*tp_itemsize*/
|
||||||
/* methods */
|
/* methods */
|
||||||
@@ -547,6 +555,49 @@ static void NMesh_dealloc(PyObject *self)
|
|||||||
PyObject_DEL(self);
|
PyObject_DEL(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *NMesh_removeAllKeys (PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
BPy_NMesh *nm = (BPy_NMesh *)self;
|
||||||
|
Mesh *me = nm->mesh;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple (args, ""))
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
|
"this function expects no arguments");
|
||||||
|
|
||||||
|
if (!me || !me->key) return EXPP_incr_ret (Py_False);
|
||||||
|
|
||||||
|
me->key->id.us--;
|
||||||
|
me->key = 0;
|
||||||
|
|
||||||
|
return EXPP_incr_ret (Py_True);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *NMesh_insertKey(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
int fra = -1, oldfra = -1;
|
||||||
|
BPy_NMesh *nm = (BPy_NMesh *)self;
|
||||||
|
Mesh *mesh = nm->mesh;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "|i", &fra))
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
|
"expected int argument (or nothing)");
|
||||||
|
|
||||||
|
if (fra > 0) {
|
||||||
|
oldfra = G.scene->r.cfra;
|
||||||
|
G.scene->r.cfra = fra;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mesh)
|
||||||
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
"update this NMesh first with its .update() method");
|
||||||
|
|
||||||
|
insert_meshkey(mesh);
|
||||||
|
|
||||||
|
if (fra > 0) G.scene->r.cfra = oldfra;
|
||||||
|
|
||||||
|
return EXPP_incr_ret (Py_None);
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *NMesh_getSelectedFaces(PyObject *self, PyObject *args)
|
static PyObject *NMesh_getSelectedFaces(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
BPy_NMesh *nm = (BPy_NMesh *)self;
|
BPy_NMesh *nm = (BPy_NMesh *)self;
|
||||||
@@ -780,6 +831,8 @@ static struct PyMethodDef NMesh_methods[] =
|
|||||||
MethodDef(getActiveFace),
|
MethodDef(getActiveFace),
|
||||||
MethodDef(getSelectedFaces),
|
MethodDef(getSelectedFaces),
|
||||||
MethodDef(getVertexInfluences),
|
MethodDef(getVertexInfluences),
|
||||||
|
MethodDef(insertKey),
|
||||||
|
MethodDef(removeAllKeys),
|
||||||
MethodDef(update),
|
MethodDef(update),
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
@@ -812,6 +865,10 @@ static PyObject *NMesh_getattr(PyObject *self, char *name)
|
|||||||
else if (strcmp(name, "faces") == 0)
|
else if (strcmp(name, "faces") == 0)
|
||||||
return EXPP_incr_ret(me->faces);
|
return EXPP_incr_ret(me->faces);
|
||||||
|
|
||||||
|
else if (strcmp(name, "__members__") == 0)
|
||||||
|
return Py_BuildValue("[s,s,s,s,s]",
|
||||||
|
"name", "materials", "verts", "users", "faces");
|
||||||
|
|
||||||
return Py_FindMethod(NMesh_methods, (PyObject*)self, name);
|
return Py_FindMethod(NMesh_methods, (PyObject*)self, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -866,7 +923,7 @@ PyTypeObject NMesh_Type =
|
|||||||
{
|
{
|
||||||
PyObject_HEAD_INIT(NULL)
|
PyObject_HEAD_INIT(NULL)
|
||||||
0, /*ob_size*/
|
0, /*ob_size*/
|
||||||
"NMesh", /*tp_name*/
|
"Blender NMesh", /*tp_name*/
|
||||||
sizeof(BPy_NMesh), /*tp_basicsize*/
|
sizeof(BPy_NMesh), /*tp_basicsize*/
|
||||||
0, /*tp_itemsize*/
|
0, /*tp_itemsize*/
|
||||||
/* methods */
|
/* methods */
|
||||||
@@ -1139,8 +1196,12 @@ static PyObject *M_NMesh_GetRawFromObject(PyObject *self, PyObject *args)
|
|||||||
else
|
else
|
||||||
nmesh = new_NMesh(me);
|
nmesh = new_NMesh(me);
|
||||||
}
|
}
|
||||||
((BPy_NMesh *) nmesh)->mesh = 0; // hack: to mark that (deformed) mesh is readonly,
|
|
||||||
// so the update function will not try to write it.
|
/* hack: to mark that (deformed) mesh is readonly, so the update function
|
||||||
|
* will not try to write it. */
|
||||||
|
|
||||||
|
((BPy_NMesh *) nmesh)->mesh = 0;
|
||||||
|
|
||||||
return nmesh;
|
return nmesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1316,10 +1377,28 @@ static int check_validFaceUV(BPy_NMesh *nmesh)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* this is a copy of unlink_mesh in mesh.c, because ... */
|
||||||
|
void EXPP_unlink_mesh(Mesh *me)
|
||||||
|
{
|
||||||
|
int a;
|
||||||
|
|
||||||
|
if(me==0) return;
|
||||||
|
|
||||||
|
for(a=0; a<me->totcol; a++) {
|
||||||
|
if(me->mat[a]) me->mat[a]->id.us--;
|
||||||
|
me->mat[a]= 0;
|
||||||
|
}
|
||||||
|
/* ... here we want to preserve mesh keys
|
||||||
|
if(me->key) me->key->id.us--;
|
||||||
|
me->key= 0;
|
||||||
|
*/
|
||||||
|
if(me->texcomesh) me->texcomesh= 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int unlink_existingMeshData(Mesh *mesh)
|
static int unlink_existingMeshData(Mesh *mesh)
|
||||||
{
|
{
|
||||||
freedisplist(&mesh->disp);
|
freedisplist(&mesh->disp);
|
||||||
unlink_mesh(mesh);
|
EXPP_unlink_mesh(mesh);
|
||||||
if(mesh->mvert) MEM_freeN(mesh->mvert);
|
if(mesh->mvert) MEM_freeN(mesh->mvert);
|
||||||
if(mesh->mface) MEM_freeN(mesh->mface);
|
if(mesh->mface) MEM_freeN(mesh->mface);
|
||||||
if(mesh->mcol) MEM_freeN(mesh->mcol);
|
if(mesh->mcol) MEM_freeN(mesh->mcol);
|
||||||
@@ -1501,7 +1580,7 @@ static int convert_NMeshToMesh (Mesh *mesh, BPy_NMesh *nmesh)
|
|||||||
|
|
||||||
newtf++;
|
newtf++;
|
||||||
newmf++;
|
newmf++;
|
||||||
if (newmc) newmc++;
|
if (newmc) newmc += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
nmesh->flags |= NMESH_HASFACEUV;
|
nmesh->flags |= NMESH_HASFACEUV;
|
||||||
|
@@ -54,6 +54,7 @@
|
|||||||
#include "BLI_blenlib.h"
|
#include "BLI_blenlib.h"
|
||||||
#include "BIF_space.h"
|
#include "BIF_space.h"
|
||||||
#include "DNA_mesh_types.h"
|
#include "DNA_mesh_types.h"
|
||||||
|
#include "DNA_key_types.h"
|
||||||
#include "DNA_object_types.h"
|
#include "DNA_object_types.h"
|
||||||
#include "DNA_material_types.h"
|
#include "DNA_material_types.h"
|
||||||
#include "DNA_armature_types.h"
|
#include "DNA_armature_types.h"
|
||||||
@@ -66,6 +67,9 @@
|
|||||||
#include "gen_utils.h"
|
#include "gen_utils.h"
|
||||||
#include "modules.h"
|
#include "modules.h"
|
||||||
|
|
||||||
|
|
||||||
|
void insert_meshkey(Mesh *me); /* defined in editkey.c */
|
||||||
|
|
||||||
/* EXPP PyType Objects */
|
/* EXPP PyType Objects */
|
||||||
|
|
||||||
PyTypeObject NMesh_Type;
|
PyTypeObject NMesh_Type;
|
||||||
@@ -87,7 +91,7 @@ static PyObject *g_nmeshmodule = NULL;
|
|||||||
#define BPy_NMCol_Check(v) ((v)->ob_type == &NMCol_Type)
|
#define BPy_NMCol_Check(v) ((v)->ob_type == &NMCol_Type)
|
||||||
|
|
||||||
static char M_NMesh_doc[] =
|
static char M_NMesh_doc[] =
|
||||||
"The Blender.NMesh module";
|
"The Blender.NMesh submodule";
|
||||||
|
|
||||||
static char M_NMesh_Col_doc[]=
|
static char M_NMesh_Col_doc[]=
|
||||||
"([r, g, b, a]) - Get a new mesh color\n\n\
|
"([r, g, b, a]) - Get a new mesh color\n\n\
|
||||||
@@ -103,6 +107,15 @@ static char M_NMesh_Vert_doc[] =
|
|||||||
"([x, y, z]) - Get a new vertice\n\n\
|
"([x, y, z]) - Get a new vertice\n\n\
|
||||||
[x, y, z] Specify new coordinates";
|
[x, y, z] Specify new coordinates";
|
||||||
|
|
||||||
|
static char NMesh_insertKey_doc[] =
|
||||||
|
"(frame = None) - inserts a Mesh key at the given frame\n\
|
||||||
|
if called without arguments, it inserts the key at the current Scene frame";
|
||||||
|
|
||||||
|
static char NMesh_removeAllKeys_doc[] =
|
||||||
|
"() - removes all keys from this mesh\n\
|
||||||
|
returns True if successful or False if this NMesh wasn't linked to a real\n\
|
||||||
|
Blender Mesh yet or the Mesh had no keys";
|
||||||
|
|
||||||
static char NMesh_getSelectedFaces_doc[] =
|
static char NMesh_getSelectedFaces_doc[] =
|
||||||
"(flag = None) - returns list of selected Faces\n\
|
"(flag = None) - returns list of selected Faces\n\
|
||||||
If flag = 1, return indices instead";
|
If flag = 1, return indices instead";
|
||||||
|
@@ -52,6 +52,8 @@ PyObject *M_Object_Get (PyObject *self, PyObject *args); /* from Object.c */
|
|||||||
/* Python BPy_Scene defaults: */
|
/* Python BPy_Scene defaults: */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
#define EXPP_SCENE_FRAME_MAX 18000
|
#define EXPP_SCENE_FRAME_MAX 18000
|
||||||
|
#define EXPP_SCENE_RENDER_WINRESOLUTION_MIN 4
|
||||||
|
#define EXPP_SCENE_RENDER_WINRESOLUTION_MAX 10000
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Python API function prototypes for the Scene module. */
|
/* Python API function prototypes for the Scene module. */
|
||||||
@@ -59,23 +61,30 @@ PyObject *M_Object_Get (PyObject *self, PyObject *args); /* from Object.c */
|
|||||||
static PyObject *M_Scene_New (PyObject *self, PyObject *args,
|
static PyObject *M_Scene_New (PyObject *self, PyObject *args,
|
||||||
PyObject *keywords);
|
PyObject *keywords);
|
||||||
static PyObject *M_Scene_Get (PyObject *self, PyObject *args);
|
static PyObject *M_Scene_Get (PyObject *self, PyObject *args);
|
||||||
static PyObject *M_Scene_getCurrent (PyObject *self);
|
static PyObject *M_Scene_GetCurrent (PyObject *self);
|
||||||
static PyObject *M_Scene_unlink (PyObject *self, PyObject *arg);
|
static PyObject *M_Scene_Unlink (PyObject *self, PyObject *arg);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* The following string definitions are used for documentation strings. */
|
/* The following string definitions are used for documentation strings. */
|
||||||
/* In Python these will be written to the console when doing a */
|
/* In Python these will be written to the console when doing a */
|
||||||
/* Blender.Scene.__doc__ */
|
/* Blender.Scene.__doc__ */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
static char M_Scene_doc[] = "";
|
static char M_Scene_doc[] =
|
||||||
|
"The Blender.Scene submodule";
|
||||||
|
|
||||||
static char M_Scene_New_doc[] = "";
|
static char M_Scene_New_doc[] =
|
||||||
|
"(name = 'Scene') - Create a new Scene called 'name' in Blender.";
|
||||||
|
|
||||||
static char M_Scene_Get_doc[] = "";
|
static char M_Scene_Get_doc[] =
|
||||||
|
"(name = None) - Return the scene called 'name'.\n\
|
||||||
|
If 'name' is None, return a list with all Scenes.";
|
||||||
|
|
||||||
static char M_Scene_getCurrent_doc[] = "";
|
static char M_Scene_GetCurrent_doc[] =
|
||||||
|
"() - Return the currently active Scene in Blender.";
|
||||||
|
|
||||||
static char M_Scene_unlink_doc[] = "";
|
static char M_Scene_Unlink_doc[] =
|
||||||
|
"(scene) - Unlink (delete) scene 'Scene' from Blender.\n\
|
||||||
|
(scene) is of type Blender scene.";
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Python method structure definition for Blender.Scene module: */
|
/* Python method structure definition for Blender.Scene module: */
|
||||||
@@ -85,9 +94,12 @@ struct PyMethodDef M_Scene_methods[] = {
|
|||||||
M_Scene_New_doc},
|
M_Scene_New_doc},
|
||||||
{"Get", M_Scene_Get, METH_VARARGS, M_Scene_Get_doc},
|
{"Get", M_Scene_Get, METH_VARARGS, M_Scene_Get_doc},
|
||||||
{"get", M_Scene_Get, METH_VARARGS, M_Scene_Get_doc},
|
{"get", M_Scene_Get, METH_VARARGS, M_Scene_Get_doc},
|
||||||
{"getCurrent",(PyCFunction)M_Scene_getCurrent,
|
{"GetCurrent",(PyCFunction)M_Scene_GetCurrent,
|
||||||
METH_NOARGS, M_Scene_getCurrent_doc},
|
METH_NOARGS, M_Scene_GetCurrent_doc},
|
||||||
{"unlink", M_Scene_unlink, METH_VARARGS, M_Scene_unlink_doc},
|
{"getCurrent",(PyCFunction)M_Scene_GetCurrent,
|
||||||
|
METH_NOARGS, M_Scene_GetCurrent_doc},
|
||||||
|
{"Unlink", M_Scene_Unlink, METH_VARARGS, M_Scene_Unlink_doc},
|
||||||
|
{"unlink", M_Scene_Unlink, METH_VARARGS, M_Scene_Unlink_doc},
|
||||||
{NULL, NULL, 0, NULL}
|
{NULL, NULL, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -123,9 +135,9 @@ static PyMethodDef BPy_Scene_methods[] = {
|
|||||||
{"setName", (PyCFunction)Scene_setName, METH_VARARGS,
|
{"setName", (PyCFunction)Scene_setName, METH_VARARGS,
|
||||||
"(str) - Change Scene name"},
|
"(str) - Change Scene name"},
|
||||||
{"getWinSize", (PyCFunction)Scene_getWinSize, METH_NOARGS,
|
{"getWinSize", (PyCFunction)Scene_getWinSize, METH_NOARGS,
|
||||||
"() - Return Scene size"},
|
"() - Return Render window [x,y] dimensions"},
|
||||||
{"setWinSize", (PyCFunction)Scene_setWinSize, METH_VARARGS,
|
{"setWinSize", (PyCFunction)Scene_setWinSize, METH_VARARGS,
|
||||||
"(str) - Change Scene size"},
|
"(str) - Change Render window [x,y] dimensions"},
|
||||||
{"copy", (PyCFunction)Scene_copy, METH_VARARGS,
|
{"copy", (PyCFunction)Scene_copy, METH_VARARGS,
|
||||||
"(duplicate_objects = 1) - Return a copy of this scene\n"
|
"(duplicate_objects = 1) - Return a copy of this scene\n"
|
||||||
"The optional argument duplicate_objects defines how the scene\n"
|
"The optional argument duplicate_objects defines how the scene\n"
|
||||||
@@ -288,12 +300,12 @@ static PyObject *M_Scene_Get(PyObject *self, PyObject *args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *M_Scene_getCurrent (PyObject *self)
|
static PyObject *M_Scene_GetCurrent (PyObject *self)
|
||||||
{
|
{
|
||||||
return Scene_CreatePyObject ((Scene *)G.scene);
|
return Scene_CreatePyObject ((Scene *)G.scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *M_Scene_unlink (PyObject *self, PyObject *args)
|
static PyObject *M_Scene_Unlink (PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *pyobj;
|
PyObject *pyobj;
|
||||||
Scene *scene;
|
Scene *scene;
|
||||||
@@ -381,33 +393,37 @@ static PyObject *Scene_setName(BPy_Scene *self, PyObject *args)
|
|||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static PyObject *Scene_getWinSize(BPy_Scene *self)
|
static PyObject *Scene_getWinSize(BPy_Scene *self)
|
||||||
{
|
{
|
||||||
PyObject* list = PyList_New (0);
|
PyObject* list = PyList_New (0);
|
||||||
Scene *scene = self->scene;
|
Scene *scene = self->scene;
|
||||||
|
|
||||||
PyList_Append (list, PyInt_FromLong(scene->r.xsch));
|
PyList_Append (list, PyInt_FromLong(scene->r.xsch));
|
||||||
PyList_Append (list, PyInt_FromLong(scene->r.ysch));
|
PyList_Append (list, PyInt_FromLong(scene->r.ysch));
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *Scene_setWinSize(BPy_Scene *self, PyObject *args)
|
static PyObject *Scene_setWinSize(BPy_Scene *self, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *listargs=0, * tmp;
|
int xres = -1, yres = -1;
|
||||||
int i;
|
|
||||||
if (!PyArg_ParseTuple(args, "O", &listargs))
|
if (!PyArg_ParseTuple(args, "(ii)", &xres, &yres))
|
||||||
return (EXPP_ReturnPyObjError(PyExc_TypeError,"expected a list"));
|
return EXPP_ReturnPyObjError (PyExc_TypeError,
|
||||||
if (!PyList_Check(listargs))
|
"expected a [x, y] list as argument");
|
||||||
return (EXPP_ReturnPyObjError(PyExc_TypeError,"expected a list"));
|
|
||||||
puts("popo");
|
if (xres > 0)
|
||||||
tmp = PyList_GetItem(listargs,0);
|
self->scene->r.xsch = EXPP_ClampInt(xres,
|
||||||
printf("%d\n",self->scene->r.xsch);
|
EXPP_SCENE_RENDER_WINRESOLUTION_MIN,
|
||||||
self->scene->r.xsch = (short)PyInt_AsLong(tmp);
|
EXPP_SCENE_RENDER_WINRESOLUTION_MAX);
|
||||||
printf("%d\n",self->scene->r.xsch);
|
|
||||||
tmp = PyList_GetItem(listargs,1);
|
if (yres > 0)
|
||||||
self->scene->r.ysch = (short)PyInt_AsLong(tmp);
|
self->scene->r.ysch = EXPP_ClampInt(yres,
|
||||||
|
EXPP_SCENE_RENDER_WINRESOLUTION_MIN,
|
||||||
|
EXPP_SCENE_RENDER_WINRESOLUTION_MAX);
|
||||||
|
|
||||||
Py_INCREF(Py_None);
|
Py_INCREF(Py_None);
|
||||||
|
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,7 +511,7 @@ static PyObject *Scene_update (BPy_Scene *self)
|
|||||||
static PyObject *Scene_link (BPy_Scene *self, PyObject *args)
|
static PyObject *Scene_link (BPy_Scene *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Scene *scene = self->scene;
|
Scene *scene = self->scene;
|
||||||
BPy_Object *bpy_obj; /* XXX Change to BPy or whatever is chosen */
|
BPy_Object *bpy_obj;
|
||||||
|
|
||||||
if (!scene)
|
if (!scene)
|
||||||
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
return EXPP_ReturnPyObjError (PyExc_RuntimeError,
|
||||||
|
@@ -60,6 +60,8 @@ PyObject *Types_Init (void)
|
|||||||
|
|
||||||
/* Blender Object Data Types */
|
/* Blender Object Data Types */
|
||||||
|
|
||||||
|
PyDict_SetItemString(dict, "SceneType", (PyObject *)&Scene_Type);
|
||||||
|
|
||||||
PyDict_SetItemString(dict, "NMeshType", (PyObject *)&NMesh_Type);
|
PyDict_SetItemString(dict, "NMeshType", (PyObject *)&NMesh_Type);
|
||||||
PyDict_SetItemString(dict, "NMFaceType", (PyObject *)&NMFace_Type);
|
PyDict_SetItemString(dict, "NMFaceType", (PyObject *)&NMFace_Type);
|
||||||
PyDict_SetItemString(dict, "NMVertType", (PyObject *)&NMVert_Type);
|
PyDict_SetItemString(dict, "NMVertType", (PyObject *)&NMVert_Type);
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
extern PyTypeObject Button_Type, Material_Type;
|
extern PyTypeObject Button_Type, Material_Type;
|
||||||
|
|
||||||
extern PyTypeObject Object_Type;
|
extern PyTypeObject Object_Type;
|
||||||
|
extern PyTypeObject Scene_Type;
|
||||||
extern PyTypeObject NMesh_Type, NMFace_Type, NMVert_Type, NMCol_Type;
|
extern PyTypeObject NMesh_Type, NMFace_Type, NMVert_Type, NMCol_Type;
|
||||||
extern PyTypeObject Camera_Type, Lamp_Type, Image_Type, Text_Type;
|
extern PyTypeObject Camera_Type, Lamp_Type, Image_Type, Text_Type;
|
||||||
extern PyTypeObject Armature_Type, Bone_Type;
|
extern PyTypeObject Armature_Type, Bone_Type;
|
||||||
|
76
source/blender/python/api2_2x/doc/Armature.py
Normal file
76
source/blender/python/api2_2x/doc/Armature.py
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Blender.Armature module and the Armature PyType object
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Armature submodule.
|
||||||
|
|
||||||
|
Armature
|
||||||
|
========
|
||||||
|
|
||||||
|
This module provides access to B{Armature} objects in Blender. These are
|
||||||
|
"skeletons", used to deform and animate other objects -- meshes, for
|
||||||
|
example.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
import Blender
|
||||||
|
from Blender import Armature
|
||||||
|
#
|
||||||
|
armatures = Armature.Get()
|
||||||
|
for a in armatures:
|
||||||
|
print "Armature ", a
|
||||||
|
print "- The root bones of %s: %s" % (a.name, a.getBones())
|
||||||
|
"""
|
||||||
|
|
||||||
|
def New (name = 'ArmatureData'):
|
||||||
|
"""
|
||||||
|
Create a new Armature object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The Armature name.
|
||||||
|
@rtype: Blender Armature
|
||||||
|
@return: The created Armature object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Get (name = None):
|
||||||
|
"""
|
||||||
|
Get the Armature object(s) from Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of the Armature.
|
||||||
|
@rtype: Blender Armature or a list of Blender Armatures
|
||||||
|
@return: It depends on the I{name} parameter:
|
||||||
|
- (name): The Armature object with the given I{name};
|
||||||
|
- (): A list with all Armature objects in the current scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Armature:
|
||||||
|
"""
|
||||||
|
The Armature object
|
||||||
|
===================
|
||||||
|
This object gives access to Armature-specific data in Blender.
|
||||||
|
@cvar name: The Armature name.
|
||||||
|
@cvar bones: The Armature root bones (cannot be set yet).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getName():
|
||||||
|
"""
|
||||||
|
Get the name of this Armature object.
|
||||||
|
@rtype: string
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setName(name):
|
||||||
|
"""
|
||||||
|
Set the name of this Armature object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The new name.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getBones():
|
||||||
|
"""
|
||||||
|
Get the Armature root bones.
|
||||||
|
@rtype: list
|
||||||
|
@return: a list of Armature bones.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setBones(bones):
|
||||||
|
"""
|
||||||
|
Set the Armature root bones (still unimplemented).
|
||||||
|
@warn: This method wasn't implemented yet.
|
||||||
|
"""
|
@@ -12,14 +12,22 @@ This is the main Blender module.
|
|||||||
Blender Python
|
Blender Python
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
- The L{Blender} module
|
||||||
|
|
||||||
Submodules:
|
Submodules:
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
- L{Types}
|
||||||
|
- L{Scene}
|
||||||
|
- L{NMesh}
|
||||||
- L{Material}
|
- L{Material}
|
||||||
|
- L{Armature}
|
||||||
- L{Camera}
|
- L{Camera}
|
||||||
- L{Lamp}
|
- L{Lamp}
|
||||||
- L{BGL}
|
- L{BGL}
|
||||||
- L{Window}
|
- L{Window}
|
||||||
|
- L{Draw}
|
||||||
|
- L{Image}
|
||||||
- L{Text}
|
- L{Text}
|
||||||
|
|
||||||
Introduction:
|
Introduction:
|
||||||
@@ -31,7 +39,7 @@ Blender Python
|
|||||||
- Links to Blender, Blender Python, later: script lists
|
- Links to Blender, Blender Python, later: script lists
|
||||||
|
|
||||||
@author: The Blender Python Team
|
@author: The Blender Python Team
|
||||||
@requires: Blender 2.28 or newer.
|
@requires: Blender 2.27-NewPy (2.28 pre-release) or newer.
|
||||||
@version: 0.1
|
@version: 0.1
|
||||||
@see: U{www.blender.org<http://www.blender.org>}
|
@see: U{www.blender.org<http://www.blender.org>}
|
||||||
@see: U{projects.blender.org<http://projects.blender.org>}
|
@see: U{projects.blender.org<http://projects.blender.org>}
|
||||||
|
@@ -37,8 +37,8 @@ def Get (name = None):
|
|||||||
@type name: string
|
@type name: string
|
||||||
@param name: The name of the Camera Data.
|
@param name: The name of the Camera Data.
|
||||||
@rtype: Blender Camera or a list of Blender Cameras
|
@rtype: Blender Camera or a list of Blender Cameras
|
||||||
@return: It depends on the 'name' parameter:
|
@return: It depends on the I{name} parameter:
|
||||||
- (name): The Camera Data object with the given name;
|
- (name): The Camera Data object with the given I{name};
|
||||||
- (): A list with all Camera Data objects in the current scene.
|
- (): A list with all Camera Data objects in the current scene.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
353
source/blender/python/api2_2x/doc/Draw.py
Normal file
353
source/blender/python/api2_2x/doc/Draw.py
Normal file
@@ -0,0 +1,353 @@
|
|||||||
|
# Blender.Draw module and the Button PyType object
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Draw submodule.
|
||||||
|
|
||||||
|
Draw
|
||||||
|
====
|
||||||
|
|
||||||
|
This module provides access to a B{windowing interface} in Blender. Its widgets
|
||||||
|
include many kinds of buttons: push, toggle, menu, number, string, slider,
|
||||||
|
scrollbar, plus support for text drawing. It also includes keyboard keys and
|
||||||
|
mouse button code values in its dictionary (print dir(Blender.Draw)).
|
||||||
|
|
||||||
|
Example::
|
||||||
|
import Blender
|
||||||
|
from Blender import Draw, BGL
|
||||||
|
#
|
||||||
|
mystring = ""
|
||||||
|
mymsg = ""
|
||||||
|
toggle = 0
|
||||||
|
#
|
||||||
|
def event(evt, val): # the function to handle input events
|
||||||
|
global mystring, mymsg
|
||||||
|
|
||||||
|
if not val: # val = 0: it's a key/mbutton release
|
||||||
|
if evt in [Draw.LEFTMOUSE, Draw.MIDDLEMOUSE, Draw.RIGHTMOUSE]:
|
||||||
|
mymsg = "You released a mouse button."
|
||||||
|
Draw.Redraw(1)
|
||||||
|
return
|
||||||
|
|
||||||
|
if evt == Draw.ESCKEY:
|
||||||
|
Draw.Exit() # exit when user presses ESC
|
||||||
|
return
|
||||||
|
|
||||||
|
elif Draw.AKEY <= evt <= Draw.ZKEY: mystring += chr(evt)
|
||||||
|
elif evt == Draw.SPACEKEY: mystring += ' '
|
||||||
|
elif evt == Draw.BACKSPACEKEY and len(mystring):
|
||||||
|
mystring = mystring[:-1]
|
||||||
|
else: return # this is important: only re-register if an event was caught
|
||||||
|
|
||||||
|
Draw.Register(gui, event, button_event) # re-register to stay in the loop
|
||||||
|
#
|
||||||
|
def button_event(evt): # the function to handle Draw Button events
|
||||||
|
global mymsg, toggle
|
||||||
|
if evt == 1:
|
||||||
|
mymsg = "You pressed the toggle button."
|
||||||
|
toggle = 1 - toggle
|
||||||
|
Draw.Redraw(1)
|
||||||
|
else:
|
||||||
|
Draw.Register(gui, event, button_event)
|
||||||
|
#
|
||||||
|
def gui(): # the function to draw the screen
|
||||||
|
global mystring, mymsg, toggle
|
||||||
|
if len(mystring) > 90: mystring = ""
|
||||||
|
BGL.glClearColor(0,0,1,1)
|
||||||
|
BGL.glClear(BGL.GL_COLOR_BUFFER_BIT)
|
||||||
|
BGL.glColor3f(1,1,1)
|
||||||
|
Draw.Toggle("Toggle", 1, 10, 10, 55, 20, toggle,"A toggle button")
|
||||||
|
BGL.glRasterPos2i(72, 16)
|
||||||
|
if toggle: toggle_state = "down"
|
||||||
|
else: toggle_state = "up"
|
||||||
|
Draw.Text("The toggle button is %s." % toggle_state, "small")
|
||||||
|
BGL.glRasterPos2i(10, 230)
|
||||||
|
Draw.Text("Type letters from a to z, ESC to leave.")
|
||||||
|
BGL.glRasterPos2i(20, 200)
|
||||||
|
Draw.Text(mystring)
|
||||||
|
BGL.glColor3f(1,0.4,0.3)
|
||||||
|
BGL.glRasterPos2i(340, 70)
|
||||||
|
Draw.Text(mymsg, "tiny")
|
||||||
|
#
|
||||||
|
Draw.Register(gui, event, button_event) # registering the 3 callbacks
|
||||||
|
@warn: Inside the windowing loop (after Draw.Register() has been executed and
|
||||||
|
before Draw.Exit() is called), don't use the redraw functions from other
|
||||||
|
modules (Blender and Window). The Draw submodule has its own Draw.Redraw() and
|
||||||
|
Draw.Draw() functions that can be used inside the windowing loop.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Exit():
|
||||||
|
"""
|
||||||
|
Exit the windowing interface.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Register(draw = None, event = None, button = None):
|
||||||
|
"""
|
||||||
|
Register callbacks for windowing.
|
||||||
|
@type draw: function
|
||||||
|
@type event: function
|
||||||
|
@type button: function
|
||||||
|
@param draw: A function to draw the screen, taking no arguments: f().
|
||||||
|
@param event: A function to handle keyboard and mouse input events, taking
|
||||||
|
two arguments: f(evt, val), where:
|
||||||
|
- 'evt' (int) is the event number;
|
||||||
|
- 'val' (int) is the value modifier. If val = 0, the event refers to a
|
||||||
|
key or mouse button being released. Otherwise it's a key/button press.
|
||||||
|
@param button: A function to handle Draw Button events, taking one argument:
|
||||||
|
f(evt), where:
|
||||||
|
- 'evt' is the button number (see the I{event} parameter in L{Button}).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Redraw(after = 0):
|
||||||
|
"""
|
||||||
|
Queue a redraw event. Redraw events are buffered so that, regardless of how
|
||||||
|
many events are queued, the window only receives one redraw event.
|
||||||
|
@type after: int
|
||||||
|
@param after: If non-zero, the redraw is processed before other input events.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Draw():
|
||||||
|
"""
|
||||||
|
Force an immediate redraw. Forced redraws are not buffered. In other words,
|
||||||
|
the window is redrawn once every time this function is called.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Create(value):
|
||||||
|
"""
|
||||||
|
Create a default Button object.
|
||||||
|
@type value: int, float or string
|
||||||
|
@param value: The value to store in the button.
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Button(name, event, x, y, width, height, tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new (push) Button object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Menu(name, event, x, y, width, height, default, tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new Menu Button object.
|
||||||
|
|
||||||
|
The menu options are specified through the 'name' of the button. Options are
|
||||||
|
I{followed} by a format code and separated by the '|' (pipe) character. Valid
|
||||||
|
format codes are:
|
||||||
|
- %t - The option should be used as the title;
|
||||||
|
- %xB{N} - The option should set the integer B{N} in the button value.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
name = "The Title %t|First Entry %x1|Second Entry %x2|Third Entry %x3"
|
||||||
|
menu = Draw.Menu(name, 2, 60, 120, 200, 40, 3, "Just a test menu.")
|
||||||
|
# note that, since default = 3, the "Third Entry"
|
||||||
|
# will appear as the default choice in the Menu.
|
||||||
|
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type default: int
|
||||||
|
@param default: The number of the option to be selected by default.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Toggle(name, event, x, y, width, height, default, tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new Toggle Button object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type default: int
|
||||||
|
@param default: The value specifying the default state:
|
||||||
|
(0 for "up", 1 for "down").
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Slider(name, event, x, y, width, height, initial, min, max, realtime = 1,
|
||||||
|
tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new Toggle Button object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type initial: int or float
|
||||||
|
@type min: int or float
|
||||||
|
@type max: int or float
|
||||||
|
@param initial: The initial value.
|
||||||
|
@param min: The minimum value.
|
||||||
|
@param max: The maximum value.
|
||||||
|
@type realtime: int
|
||||||
|
@param realtime: If non-zero (the default), the slider will emit events as
|
||||||
|
it is edited.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Scrollbar(event, x, y, width, height, initial, min, max, realtime = 1,
|
||||||
|
tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new Scrollbar Button object.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type initial: int or float
|
||||||
|
@type min: int or float
|
||||||
|
@type max: int or float
|
||||||
|
@param initial: The initial value.
|
||||||
|
@param min: The minimum value.
|
||||||
|
@param max: The maximum value.
|
||||||
|
@type realtime: int
|
||||||
|
@param realtime: If non-zero (the default), the slider will emit events as
|
||||||
|
it is edited.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Number(name, event, x, y, width, height, initial, min, max, realtime = 1,
|
||||||
|
tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new Number Button object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type initial: int or float
|
||||||
|
@type min: int or float
|
||||||
|
@type max: int or float
|
||||||
|
@param initial: The initial value.
|
||||||
|
@param min: The minimum value.
|
||||||
|
@param max: The maximum value.
|
||||||
|
@type realtime: int
|
||||||
|
@param realtime: If non-zero (the default), the slider will emit events as
|
||||||
|
it is edited.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def String(name, event, x, y, width, height, initial, length, tooltip = None):
|
||||||
|
"""
|
||||||
|
Create a new String Button object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The string to display on the button.
|
||||||
|
@type event: int
|
||||||
|
@param event: The event number to pass to the button event function when
|
||||||
|
activated.
|
||||||
|
@type x: int
|
||||||
|
@type y: int
|
||||||
|
@param x: The lower left x (horizontal) coordinate of the button.
|
||||||
|
@param y: The lower left y (vertical) coordinate of the button.
|
||||||
|
@type width: int
|
||||||
|
@type height: int
|
||||||
|
@param width: The button width.
|
||||||
|
@param height: The button height.
|
||||||
|
@type initial: string
|
||||||
|
@param initial: The string to display initially.
|
||||||
|
@type length: int
|
||||||
|
@param length: The maximum input length.
|
||||||
|
@type tooltip: string
|
||||||
|
@param tooltip: The button's tooltip (the string that appears when the mouse
|
||||||
|
is kept over the button).
|
||||||
|
@rtype: Blender Button
|
||||||
|
@return: The Button created.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def GetStringWidth(string, fontsize = 'normal'):
|
||||||
|
"""
|
||||||
|
Get the width in pixels of a string.
|
||||||
|
@type string: string
|
||||||
|
@param string: A string.
|
||||||
|
@type fontsize: string
|
||||||
|
@param fontsize: The size of the font: 'normal', 'small' or 'tiny'.
|
||||||
|
@rtype: int
|
||||||
|
@return: The width of I{string} with the chosen I{fontsize}.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Text(string, fontsize = 'normal'):
|
||||||
|
"""
|
||||||
|
Draw a string on the screen.
|
||||||
|
@type string: string
|
||||||
|
@param string: The text string to draw.
|
||||||
|
@type fontsize: string
|
||||||
|
@param fontsize: The size of the font: 'normal', 'small' or 'tiny'.
|
||||||
|
@rtype: int
|
||||||
|
@return: The width of I{string} drawn with the chosen I{fontsize}.
|
||||||
|
"""
|
115
source/blender/python/api2_2x/doc/Image.py
Normal file
115
source/blender/python/api2_2x/doc/Image.py
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
# Blender.Image module and the Image PyType object
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Image submodule.
|
||||||
|
|
||||||
|
Image
|
||||||
|
=====
|
||||||
|
|
||||||
|
This module provides access to B{Image} objects in Blender.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
import Blender
|
||||||
|
from Blender import Image
|
||||||
|
#
|
||||||
|
image = Image.Load("/path/to/my/image.png") # load an image file
|
||||||
|
print "Image from", image.getFilename(),
|
||||||
|
print "loaded to obj", image.getName())
|
||||||
|
image.setXRep(4) # set x tiling factor
|
||||||
|
image.setYRep(2) # set y tiling factor
|
||||||
|
print "All Images available now:", Image.Get()
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Load (filename):
|
||||||
|
"""
|
||||||
|
Load the image called 'filename' into an Image object.
|
||||||
|
@type filename: string
|
||||||
|
@param filename: The full path to the image file.
|
||||||
|
@rtype: Blender Image
|
||||||
|
@return: A Blender Image object with the data from I{filename}.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def New (name):
|
||||||
|
"""
|
||||||
|
Create a new Image object (not implemented yet!).
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of the new Image object.
|
||||||
|
@rtype: Blender Image
|
||||||
|
@return: A new Blender Image object.
|
||||||
|
@warn: This function wasn't implemented yet. It simply returns None.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Get (name = None):
|
||||||
|
"""
|
||||||
|
Get the Image object(s) from Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of the Image object.
|
||||||
|
@rtype: Blender Image or a list of Blender Images
|
||||||
|
@return: It depends on the I{name} parameter:
|
||||||
|
- (name): The Image object called I{name}, None if not found;
|
||||||
|
- (): A list with all Image objects in the current scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class Image:
|
||||||
|
"""
|
||||||
|
The Image object
|
||||||
|
================
|
||||||
|
This object gives access to Images in Blender. In the future it will allow
|
||||||
|
direct read/write access to their pixel buffers, too.
|
||||||
|
@cvar name: The name of this Image object.
|
||||||
|
@cvar filename: The filename (path) to the image file loaded into this Image
|
||||||
|
object.
|
||||||
|
@cvar xrep: Texture tiling: the number of repetitions in the x (horizontal)
|
||||||
|
axis.
|
||||||
|
@cvar yrep: Texture tiling: the number of repetitions in the y (vertical)
|
||||||
|
axis.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getName():
|
||||||
|
"""
|
||||||
|
Get the name of this Image object.
|
||||||
|
@rtype: string
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getFilename():
|
||||||
|
"""
|
||||||
|
Get the filename of the image file loaded into this Image object.
|
||||||
|
@rtype: string
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getXRep():
|
||||||
|
"""
|
||||||
|
Get the number of repetitions in the x (horizontal) axis for this Image.
|
||||||
|
This is for texture tiling.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getYRep():
|
||||||
|
"""
|
||||||
|
Get the number of repetitions in the y (vertical) axis for this Image.
|
||||||
|
This is for texture tiling.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setName(name):
|
||||||
|
"""
|
||||||
|
Set the name of this Image object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The new name.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setXRep(xrep):
|
||||||
|
"""
|
||||||
|
Texture tiling: set the number of x repetitions for this Image.
|
||||||
|
@type xrep: int
|
||||||
|
@param xrep: The new value in [1, 16].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setYRep(yrep):
|
||||||
|
"""
|
||||||
|
Texture tiling: set the number of y repetitions for this Image.
|
||||||
|
@type yrep: int
|
||||||
|
@param yrep: The new value in [1, 16].
|
||||||
|
"""
|
||||||
|
|
@@ -34,8 +34,8 @@ def Get (name = None):
|
|||||||
@type name: string
|
@type name: string
|
||||||
@param name: The name of the Lamp Data.
|
@param name: The name of the Lamp Data.
|
||||||
@rtype: Blender Lamp or a list of Blender Lamps
|
@rtype: Blender Lamp or a list of Blender Lamps
|
||||||
@return: It depends on the 'name' parameter:
|
@return: It depends on the I{name} parameter:
|
||||||
- (name): The Lamp Data object with the given name;
|
- (name): The Lamp Data object with the given I{name};
|
||||||
- (): A list with all Lamp Data objects in the current scene.
|
- (): A list with all Lamp Data objects in the current scene.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
468
source/blender/python/api2_2x/doc/Material.py
Normal file
468
source/blender/python/api2_2x/doc/Material.py
Normal file
@@ -0,0 +1,468 @@
|
|||||||
|
# Blender.Material module and the Material PyObject
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Material submodule.
|
||||||
|
|
||||||
|
Material
|
||||||
|
========
|
||||||
|
|
||||||
|
This module provides access to B{Material} objects in Blender.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
import Blender
|
||||||
|
from Blender import Material
|
||||||
|
mat = Material.New('newMat') # create a new Material called 'newMat'
|
||||||
|
print mat.rgbCol # print its rgb color triplet
|
||||||
|
mat.rgbCol = [0.8, 0.2, 0.2] # change its color
|
||||||
|
mat.setAlpha(0.2) # mat.alpha = 0.2 -- almost transparent
|
||||||
|
mat.emit = 0.7 # equivalent to mat.setEmit(0.8)
|
||||||
|
mat.mode |= Material.Modes.ZTRANSP # turn on Z-Buffer transparency
|
||||||
|
mat.setName('RedBansheeSkin') # change its name
|
||||||
|
mat.setAdd(0.8) # make it glow
|
||||||
|
mat.setMode('Halo') # turn 'Halo' "on" and all others "off"
|
||||||
|
|
||||||
|
@type Modes: readonly dictionary
|
||||||
|
@var Modes: The available Material Modes.
|
||||||
|
- TRACEABLE - Make Material visible for shadow lamps.
|
||||||
|
- SHADOW - Enable Material for shadows.
|
||||||
|
- SHADELESS - Make Material insensitive to light or shadow.
|
||||||
|
- WIRE - Render only the edges of faces.
|
||||||
|
- VCOL_LIGHT - Add vertex colors as extra light.
|
||||||
|
- VCOL_PAINT - Replace basic colors with vertex colors.
|
||||||
|
- HALO - Render as a halo.
|
||||||
|
- ZTRANSP - Z-buffer transparent faces.
|
||||||
|
- ZINVERT - Render with inverted Z-buffer.
|
||||||
|
- - HALORINGS - Render rings over the basic halo.
|
||||||
|
- ENV - Do not render Material.
|
||||||
|
- - HALOLINES - Render star shaped lines over the basic halo.
|
||||||
|
- ONLYSHADOW - Let alpha be determined on the degree of shadow.
|
||||||
|
- - HALOXALPHA - Use extreme alpha.
|
||||||
|
- TEXFACE - UV-Editor assigned texture gives color and texture info
|
||||||
|
for faces.
|
||||||
|
- - HALOSTAR - Render halo as a star.
|
||||||
|
- NOMIST - Set the Material insensitive to mist.
|
||||||
|
- - HALOSHADED - Let halo receive light.
|
||||||
|
- HALOTEX - Give halo a texture.
|
||||||
|
- HALOPUNO - Use the vertex normal to specify the dimension of the halo.
|
||||||
|
- HALOFLARE - Render halo as a lens flare.
|
||||||
|
|
||||||
|
@warn: Some Modes are only available when the 'Halo' mode is I{off} and
|
||||||
|
others only when it is I{on}. But these two subsets of modes share the same
|
||||||
|
numerical values in their Blender C #defines. So, for example, if 'Halo' is
|
||||||
|
on, then 'NoMist' is actually interpreted as 'HaloShaded'. We marked all
|
||||||
|
such possibilities in the Modes dict below: each halo-related mode that
|
||||||
|
uses an already taken value is preceded by "-" and appear below the normal
|
||||||
|
mode which also uses that value.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def New (name = 'Mat'):
|
||||||
|
"""
|
||||||
|
Create a new Material object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The Material name.
|
||||||
|
@rtype: Blender Material
|
||||||
|
@return: The created Material object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Get (name = None):
|
||||||
|
"""
|
||||||
|
Get the Material object(s) from Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of the Material.
|
||||||
|
@rtype: Blender Material or a list of Blender Materials
|
||||||
|
@return: It depends on the 'name' parameter:
|
||||||
|
- (name): The Material object with the given name;
|
||||||
|
- (): A list with all Material objects in the current scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Material:
|
||||||
|
"""
|
||||||
|
The Material object
|
||||||
|
===================
|
||||||
|
This object gives access to Materials in Blender.
|
||||||
|
@cvar name: Material's name.
|
||||||
|
@type mode: int
|
||||||
|
@cvar mode: Mode flags as an or'ed int value. See the Modes dictionary keys
|
||||||
|
and descriptions in L{Modes}.
|
||||||
|
@cvar rgbCol: Material's RGB color triplet.
|
||||||
|
@cvar ambCol: Ambient color rgb triplet.
|
||||||
|
@cvar specCol: Specular color rgb triplet.
|
||||||
|
@cvar mirCol: Mirror color rgb triplet.
|
||||||
|
@cvar R: Red component of L{rgbCol} - [0.0, 1.0].
|
||||||
|
@cvar G: Green component of L{rgbCol} - [0.0, 1.0].
|
||||||
|
@cvar B: Blue component of L{rgbCol} - [0.0, 1.0].
|
||||||
|
@cvar alpha: Alpha (translucency) component of the Material - [0.0, 1.0].
|
||||||
|
@cvar amb: Ambient factor - [0.0, 1.0].
|
||||||
|
@cvar emit: Emitting light intensity - [0.0, 1.0].
|
||||||
|
@cvar ref: Reflectivity - [0.0, 1.0].
|
||||||
|
@cvar spec: Specularity - [0.0, 2.0].
|
||||||
|
@cvar specTransp: Specular transparency - [0.0, 1.0].
|
||||||
|
@cvar add: Glow factor - [0.0, 1.0].
|
||||||
|
@cvar zOffset: Artificial Z offset for faces - [0.0, 10.0].
|
||||||
|
@cvar haloSize: Dimension of the halo - [0.0, 100.0].
|
||||||
|
@cvar flareSize: Factor the flare is larger than the halo - [0.1, 25.0].
|
||||||
|
@cvar flareBoost: Flare's extra strength - [0.1, 10.0].
|
||||||
|
@cvar haloSeed: To use random values for ring dimension and line location -
|
||||||
|
[0, 255].
|
||||||
|
@cvar flareSeed: Offset in the seed table - [0, 255].
|
||||||
|
@cvar subSize: Dimension of subflares, dots and circles - [0.1, 25.0].
|
||||||
|
@cvar hard: Hardness of the specularity - [1, 255].
|
||||||
|
@cvar nFlares: Number of halo subflares - [1, 32].
|
||||||
|
@cvar nStars: Number of points on the halo stars - [3, 50].
|
||||||
|
@cvar nLines: Number of star shaped lines on each halo - [0, 250].
|
||||||
|
@cvar nRings: Number of halo rings - [0, 24].
|
||||||
|
@warning: Most member variables assume values in some [Min, Max] interval.
|
||||||
|
When trying to set them, the given parameter will be clamped to lie in
|
||||||
|
that range: if val < Min, then val = Min, if val > Max, then val = Max.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getName():
|
||||||
|
"""
|
||||||
|
Get the name of this Material object.
|
||||||
|
@rtype: string
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setName(name):
|
||||||
|
"""
|
||||||
|
Set the name of this Material object.
|
||||||
|
@type name: string
|
||||||
|
@param name: The new name.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getMode():
|
||||||
|
"""
|
||||||
|
Get this Material's mode flags.
|
||||||
|
@rtype: int
|
||||||
|
@return: B{OR'ed value}. Use the Modes dictionary to check which flags
|
||||||
|
are 'on'.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
import Blender
|
||||||
|
from Blender import Material
|
||||||
|
flags = mymat.getMode()
|
||||||
|
if flags & Material.Modes['HALO']:
|
||||||
|
print "This material is rendered as a halo"
|
||||||
|
else:
|
||||||
|
print "Not a halo"
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setMode(m = None, m2 = None, m3 = None, and_so_on = None,
|
||||||
|
up_to_21 = None):
|
||||||
|
"""
|
||||||
|
Set this Material's mode flags. Mode strings given are turned 'on'.
|
||||||
|
Those not provided are turned 'off', so mat.setMode() -- without
|
||||||
|
arguments -- turns off all mode flags for Material mat.
|
||||||
|
@type m: string
|
||||||
|
@param m: A mode flag. From 1 to 21 can be set at the same time.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getRGBCol():
|
||||||
|
"""
|
||||||
|
Get the rgb color triplet.
|
||||||
|
@rtype: list of 3 floats
|
||||||
|
@return: [r, g, b]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setRGBCol(rgb = None):
|
||||||
|
"""
|
||||||
|
Set the rgb color triplet. If B{rgb} is None, set the color to black.
|
||||||
|
@type rgb: three floats or a list of three floats
|
||||||
|
@param rgb: The rgb color values in [0.0, 1.0] as:
|
||||||
|
- a list of three floats: setRGBCol ([r, g, b]) B{or}
|
||||||
|
- three floats as separate parameters: setRGBCol (r,g,b).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getAmbCol():
|
||||||
|
"""
|
||||||
|
Get the ambient color triplet.
|
||||||
|
@rtype: list of 3 floats
|
||||||
|
@return: [ambR, ambG, ambB]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setAmbCol(rgb = None):
|
||||||
|
"""
|
||||||
|
Set the ambient color triplet. If B{rgb} is None, set the color to black.
|
||||||
|
@type rgb: three floats or a list of three floats
|
||||||
|
@param rgb: The rgb color values in [0.0, 1.0] as:
|
||||||
|
- a list of three floats: setAmbCol ([r, g, b]) B{or}
|
||||||
|
- three floats as separate parameters: setAmbCol (r,g,b).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getSpecCol():
|
||||||
|
"""
|
||||||
|
Get the specular color triplet.
|
||||||
|
@rtype: list of 3 floats
|
||||||
|
@return: [specR, specG, specB]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setSpecCol(rgb = None):
|
||||||
|
"""
|
||||||
|
Set the specular color triplet. If B{rgb} is None, set the color to black.
|
||||||
|
@type rgb: three floats or a list of three floats
|
||||||
|
@param rgb: The rgb color values in [0.0, 1.0] as:
|
||||||
|
- a list of three floats: setSpecCol ([r, g, b]) B{or}
|
||||||
|
- three floats as separate parameters: setSpecCol (r,g,b).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getMirCol():
|
||||||
|
"""
|
||||||
|
Get the mirror color triplet.
|
||||||
|
@rtype: list of 3 floats
|
||||||
|
@return: [mirR, mirG, mirb]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setMirCol(rgb = None):
|
||||||
|
"""
|
||||||
|
Set the mirror color triplet. If B{rgb} is None, set the color to black.
|
||||||
|
@type rgb: three floats or a list of three floats
|
||||||
|
@param rgb: The rgb color values in [0.0, 1.0] as:
|
||||||
|
- a list of three floats: setMirCol ([r, g, b]) B{or}
|
||||||
|
- three floats as separate parameters: setMirCol (r,g,b).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getAlpha():
|
||||||
|
"""
|
||||||
|
Get the alpha (transparency) value.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setAlpha(alpha):
|
||||||
|
"""
|
||||||
|
Set the alpha (transparency) value.
|
||||||
|
@type alpha: float
|
||||||
|
@param alpha: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getAmb():
|
||||||
|
"""
|
||||||
|
Get the ambient color blend factor.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setAmb(amb):
|
||||||
|
"""
|
||||||
|
Set the ambient color blend factor.
|
||||||
|
@type amb: float
|
||||||
|
@param amb: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getEmit():
|
||||||
|
"""
|
||||||
|
Get the emitting light intensity.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setEmit(emit):
|
||||||
|
"""
|
||||||
|
Set the emitting light intensity.
|
||||||
|
@type emit: float
|
||||||
|
@param emit: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getRef():
|
||||||
|
"""
|
||||||
|
Get the reflectivity value.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setRef(ref):
|
||||||
|
"""
|
||||||
|
Set the reflectivity value.
|
||||||
|
@type ref: float
|
||||||
|
@param ref: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getSpec():
|
||||||
|
"""
|
||||||
|
Get the specularity value.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setSpec(spec):
|
||||||
|
"""
|
||||||
|
Set the specularity value.
|
||||||
|
@type spec: float
|
||||||
|
@param spec: The new value in [0.0, 2.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getSpecTransp():
|
||||||
|
"""
|
||||||
|
Get the specular transparency.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setSpecTransp(spectransp):
|
||||||
|
"""
|
||||||
|
Set the specular transparency.
|
||||||
|
@type spectransp: float
|
||||||
|
@param spectransp: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getAdd():
|
||||||
|
"""
|
||||||
|
Get the glow factor.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setAdd(add):
|
||||||
|
"""
|
||||||
|
Set the glow factor.
|
||||||
|
@type add: float
|
||||||
|
@param add: The new value in [0.0, 1.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getZOffset():
|
||||||
|
"""
|
||||||
|
Get the artificial offset for faces with this Material.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setZOffset(zoffset):
|
||||||
|
"""
|
||||||
|
Set the artificial offset for faces with this Material.
|
||||||
|
@type zoffset: float
|
||||||
|
@param zoffset: The new value in [0.0, 10.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getHaloSize():
|
||||||
|
"""
|
||||||
|
Get the halo size.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setHaloSize(halosize):
|
||||||
|
"""
|
||||||
|
Set the halo size.
|
||||||
|
@type halosize: float
|
||||||
|
@param halosize: The new value in [0.0, 100.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getHaloSeed():
|
||||||
|
"""
|
||||||
|
Get the seed for random ring dimension and line location in halos.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setHaloSeed(haloseed):
|
||||||
|
"""
|
||||||
|
Set the seed for random ring dimension and line location in halos.
|
||||||
|
@type haloseed: int
|
||||||
|
@param haloseed: The new value in [0, 255].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getFlareSize():
|
||||||
|
"""
|
||||||
|
Get the ratio: flareSize / haloSize.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setFlareSize(flaresize):
|
||||||
|
"""
|
||||||
|
Set the ratio: flareSize / haloSize.
|
||||||
|
@type flaresize: float
|
||||||
|
@param flaresize: The new value in [0.1, 25.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getFlareSeed():
|
||||||
|
"""
|
||||||
|
Get flare's offset in the seed table.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setFlareSeed(flareseed):
|
||||||
|
"""
|
||||||
|
Set flare's offset in the seed table.
|
||||||
|
@type flareseed: int
|
||||||
|
@param flareseed: The new value in [0, 255].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getFlareBoost():
|
||||||
|
"""
|
||||||
|
Get the flare's extra strength.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setFlareBoost(flareboost):
|
||||||
|
"""
|
||||||
|
Set the flare's extra strength.
|
||||||
|
@type flareboost: float
|
||||||
|
@param flareboost: The new value in [0.1, 10.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getSubSize():
|
||||||
|
"""
|
||||||
|
Get the dimension of subflare, dots and circles.
|
||||||
|
@rtype: float
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setSubSize(subsize):
|
||||||
|
"""
|
||||||
|
Set the dimension of subflare, dots and circles.
|
||||||
|
@type subsize: float
|
||||||
|
@param subsize: The new value in [0.1, 25.0].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getHardness():
|
||||||
|
"""
|
||||||
|
Get the hardness of the specularity.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setHardness(hardness):
|
||||||
|
"""
|
||||||
|
Set the hardness of the specularity.
|
||||||
|
@type hardness: int
|
||||||
|
@param hardness: The new value in [1, 255].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getNFlares():
|
||||||
|
"""
|
||||||
|
Get the number of halo subflares.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setNFlares(nflares):
|
||||||
|
"""
|
||||||
|
Set the number of halo subflares.
|
||||||
|
@type nflares: int
|
||||||
|
@param nflares: The new value in [1, 32].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getNStars():
|
||||||
|
"""
|
||||||
|
Get the number of points in the halo stars.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setNStars(nstars):
|
||||||
|
"""
|
||||||
|
Set the number of points in the halo stars.
|
||||||
|
@type nstars: int
|
||||||
|
@param nstars: The new value in [3, 50].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getNLines():
|
||||||
|
"""
|
||||||
|
Get the number of star shaped lines on each halo.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setNLines(nlines):
|
||||||
|
"""
|
||||||
|
Set the number of star shaped lines on each halo.
|
||||||
|
@type nlines: int
|
||||||
|
@param nlines: The new value in [0, 250].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getNRings():
|
||||||
|
"""
|
||||||
|
Get the number of rings on each halo.
|
||||||
|
@rtype: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setNRings(nrings):
|
||||||
|
"""
|
||||||
|
Set the number of rings on each halo.
|
||||||
|
@type nrings: int
|
||||||
|
@param nrings: The new value in [0, 24].
|
||||||
|
"""
|
297
source/blender/python/api2_2x/doc/NMesh.py
Normal file
297
source/blender/python/api2_2x/doc/NMesh.py
Normal file
@@ -0,0 +1,297 @@
|
|||||||
|
# Blender.NMesh module and the NMesh PyType object
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.NMesh submodule.
|
||||||
|
|
||||||
|
Mesh Data
|
||||||
|
=========
|
||||||
|
|
||||||
|
This module provides access to B{Mesh Data} objects in Blender.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
|
||||||
|
import Blender
|
||||||
|
from Blender import NMesh, Object, Scene
|
||||||
|
#
|
||||||
|
me = NMesh.GetRaw("Plane") # get the mesh data called "Plane"
|
||||||
|
if me.materials:
|
||||||
|
print me.materials # print the list of materials
|
||||||
|
mat = me.materials[0] # grab the first material in the list
|
||||||
|
mat.R = 1.0 # redefine its red component
|
||||||
|
for v in me.verts: # loop the list of vertices
|
||||||
|
v.co[0] *= 2.5 # multiply the coordinates
|
||||||
|
v.co[1] *= 5.0
|
||||||
|
v.co[2] *= 2.5
|
||||||
|
me.update() # update the real mesh in Blender
|
||||||
|
|
||||||
|
@type FaceFlags: readonly dictionary
|
||||||
|
@type FaceModes: readonly dictionary
|
||||||
|
@type FaceTranspModes: readonly dictionary
|
||||||
|
@var FaceFlags: The available face selection flags:
|
||||||
|
- SELECT - selected.
|
||||||
|
- HIDE - hidden.
|
||||||
|
- ACTIVE - the active face.
|
||||||
|
@var FaceModes: The available face modes:
|
||||||
|
- ALL - set all modes at once.
|
||||||
|
- BILLBOARD - always orient after camera.
|
||||||
|
- HALO - halo face, always point to camera.
|
||||||
|
- DINAMYC - respond to collisions.
|
||||||
|
- INVISIBLE - invisible face.
|
||||||
|
- LIGHT - dinamyc lighting.
|
||||||
|
- OBCOL - use object colour instead of vertex colours.
|
||||||
|
- SHADOW - shadow type.
|
||||||
|
- SHAREDVERT - apparently unused in Blender.
|
||||||
|
- SHAREDCOL - shared vertex colours (per vertex).
|
||||||
|
- TEX - has texture image.
|
||||||
|
- TILES - uses tiled image.
|
||||||
|
- TWOSIDE - two-sided face.
|
||||||
|
@var FaceTranspModes: Note: these are ENUMS, they can't be combined (and'ed,
|
||||||
|
or'ed, etc) like a bit vector. The available face transparency modes:
|
||||||
|
- SOLID - draw solid.
|
||||||
|
- ADD - add to background (halo).
|
||||||
|
- ALPHA - draw with transparency.
|
||||||
|
- SUB - subtract from background.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Col(col = [255, 255, 255, 255]):
|
||||||
|
"""
|
||||||
|
Get a new mesh rgba color.
|
||||||
|
@type col: list
|
||||||
|
@param col: A list [red, green, blue, alpha] of int values in [0, 255].
|
||||||
|
@rtype: NMCol
|
||||||
|
@return: A new NMCol (mesh rgba color) object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Vert(x = 0, y = 0, z = 0):
|
||||||
|
"""
|
||||||
|
Get a new vertex object.
|
||||||
|
@type x: float
|
||||||
|
@type y: float
|
||||||
|
@type z: float
|
||||||
|
@param x: The x coordinate of the vertex.
|
||||||
|
@param y: The y coordinate of the vertex.
|
||||||
|
@param z: The z coordinate of the vertex.
|
||||||
|
@rtype: NMVert
|
||||||
|
@return: A new NMVert object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Face(vertexList = None):
|
||||||
|
"""
|
||||||
|
Get a new face object.
|
||||||
|
@type vertexList: list
|
||||||
|
@param vertexList: A list of B{up to 4} NMVerts (mesh vertex
|
||||||
|
objects).
|
||||||
|
@rtype: NMFace
|
||||||
|
@return: A new NMFace object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def New():
|
||||||
|
"""
|
||||||
|
Create a new mesh object.
|
||||||
|
rtype: NMesh
|
||||||
|
@return: A new (B{empty}) NMesh object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def GetRaw(name = None):
|
||||||
|
"""
|
||||||
|
Get the mesh data object called I{name} from Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of the mesh data object.
|
||||||
|
@rtype: NMesh
|
||||||
|
@return: It depends on the 'name' parameter:
|
||||||
|
- (name) - The NMesh wrapper of the mesh called I{name},
|
||||||
|
None if not found.
|
||||||
|
- () - A new (empty) NMesh object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def GetRawFromObject(name):
|
||||||
|
"""
|
||||||
|
Get the mesh data object from the Object in Blender called I{name}.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of an Object of type "Mesh".
|
||||||
|
@rtype: NMesh
|
||||||
|
@return: The NMesh wrapper of the mesh data from the Object called I{name}.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def PutRaw(nmesh, name = None, recalculate_normals = 1):
|
||||||
|
"""
|
||||||
|
Put an NMesh object back in Blender.
|
||||||
|
@type nmesh: NMesh
|
||||||
|
@type name: string
|
||||||
|
@type recalculate_normals: int
|
||||||
|
@param name: The name of the mesh data object in Blender which will receive
|
||||||
|
this nmesh data. It can be an existing mesh data object or a new one.
|
||||||
|
@param recalculate_normals: If non-zero, the vertex normals for the mesh will
|
||||||
|
be recalculated.
|
||||||
|
@rtype: None or Object
|
||||||
|
@return: It depends on the 'name' parameter:
|
||||||
|
- I{name} refers to an existing mesh data obj already linked to an
|
||||||
|
object: return None.
|
||||||
|
- I{name} refers to a new mesh data obj or an unlinked (no users) one:
|
||||||
|
return the created Blender Object wrapper.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class NMCol:
|
||||||
|
"""
|
||||||
|
The NMCol object
|
||||||
|
================
|
||||||
|
This object is a list of ints: [r, g, b, a] representing an
|
||||||
|
rgba colour.
|
||||||
|
@cvar r: The Red component in [0, 255].
|
||||||
|
@cvar g: The Green component in [0, 255].
|
||||||
|
@cvar b: The Blue component in [0, 255].
|
||||||
|
@cvar a: The Alpha (transparency) component in [0, 255].
|
||||||
|
"""
|
||||||
|
|
||||||
|
class NMVert:
|
||||||
|
"""
|
||||||
|
The NMVert object
|
||||||
|
=================
|
||||||
|
This object holds mesh vertex data.
|
||||||
|
@cvar co: The vertex coordinates (x, y, z).
|
||||||
|
@cvar no: The vertex normal vector (nx, ny, nz).
|
||||||
|
@cvar uvco: The vertex texture "sticky" coordinates.
|
||||||
|
@cvar index: The vertex index, if owned by a mesh.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class NMFace:
|
||||||
|
"""
|
||||||
|
The NMFace object
|
||||||
|
=================
|
||||||
|
This object holds mesh face data.
|
||||||
|
@type v: list
|
||||||
|
@cvar v: The list of face vertices (B{up to 4}).
|
||||||
|
@cvar col: The list of vertex colours.
|
||||||
|
@cvar mat: Same as I{materialIndex} below.
|
||||||
|
@cvar materialIndex: The index of this face's material in its NMesh materials
|
||||||
|
list.
|
||||||
|
@cvar smooth: If non-zero, the vertex normals are averaged to make this
|
||||||
|
face look smooth.
|
||||||
|
@cvar image: The Image used as a texture for this face.
|
||||||
|
@cvar mode: The display mode (see L{Mesh.FaceModes<FaceModes>})
|
||||||
|
@cvar flag: Bit vector specifying selection flags
|
||||||
|
(see L{NMesh.FaceFlags<FaceFlags>}).
|
||||||
|
@cvar transp: Transparency mode bit vector
|
||||||
|
(see L{NMesh.FaceTranspModes<FaceTranspModes>}).
|
||||||
|
@cvar uv: List of per-face UV coordinates: [(u0, v0), (u1, v1), ...].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def append(vertex):
|
||||||
|
"""
|
||||||
|
Append a vertex to this face's vertex list.
|
||||||
|
@type vertex: NMVert
|
||||||
|
@param vertex: An NMVert object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class NMesh :
|
||||||
|
"""
|
||||||
|
The NMesh Data object
|
||||||
|
=====================
|
||||||
|
This object gives access to mesh data in Blender. We refer to mesh as the
|
||||||
|
object in Blender and NMesh as its Python counterpart.
|
||||||
|
@cvar name: The NMesh name. It's common to use this field to store extra
|
||||||
|
data about the mesh (to be exported to another program, for example).
|
||||||
|
@cvar materials: The list of materials used by this NMesh.
|
||||||
|
@cvar verts: The list of NMesh vertices (NMVerts).
|
||||||
|
@cvar users: The number of Objects using (linked to) this mesh.
|
||||||
|
@cvar faces: The list of NMesh faces (NMFaces).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def hasVertexColours(flag = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) if this NMesh has vertex colours.
|
||||||
|
@type flag: int
|
||||||
|
@param flag: If given and non-zero, the "vertex colour" flag for this NMesh
|
||||||
|
is turned I{on}.
|
||||||
|
@rtype: bool
|
||||||
|
@return: The current value of the "vertex colour" flag.
|
||||||
|
@warn: If a mesh has both vertex colours and textured faces, this function
|
||||||
|
will return False. This is due to the way Blender deals internally with
|
||||||
|
the vertex colours array (if there are textured faces, it is copied to
|
||||||
|
the textured face structure and the original array is freed/deleted).
|
||||||
|
If you want to know if a mesh has both textured faces and vertex
|
||||||
|
colours, set *in Blender* the "VCol Paint" flag for each material that
|
||||||
|
covers an area that was also vertex painted and then check in your
|
||||||
|
Python script if that material flag is set. Of course also tell others
|
||||||
|
who use your script to do the same. The "VCol Paint" material mode flag
|
||||||
|
is the way to tell Blender itself to render with vertex colours, too, so
|
||||||
|
it's a natural solution.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def hasFaceUV(flag = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) if this NMesh has UV-mapped textured faces.
|
||||||
|
@type flag: int
|
||||||
|
@param flag: If given and non-zero, the "textured faces" flag for this
|
||||||
|
NMesh is turned I{on}.
|
||||||
|
@rtype: bool
|
||||||
|
@return: The current value of the "textured faces" flag.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def hasVertexUV(flag = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) the "sticky" flag that controls if a mesh has
|
||||||
|
per vertex UV coordinates.
|
||||||
|
@type flag: int
|
||||||
|
@param flag: If given and non-zero, the "sticky" flag for this NMesh is
|
||||||
|
turned I{on}.
|
||||||
|
@rtype: bool
|
||||||
|
@return: The current value of the "sticky" flag.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getActiveFace():
|
||||||
|
"""
|
||||||
|
Get the index of the active face.
|
||||||
|
@rtype: int
|
||||||
|
@return: The index of the active face.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getSelectedFaces(flag = None):
|
||||||
|
"""
|
||||||
|
Get list of selected faces.
|
||||||
|
@type flag: int
|
||||||
|
@param flag: If given and non-zero, the list will have indices instead of
|
||||||
|
the NMFace objects themselves.
|
||||||
|
@rtype: list
|
||||||
|
@return: It depends on the I{flag} parameter:
|
||||||
|
- if None or zero: List of NMFace objects.
|
||||||
|
- if non-zero: List of indices to NMFace objects.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getVertexInfluences(index):
|
||||||
|
"""
|
||||||
|
Get influences of bones in a specific vertex.
|
||||||
|
@type index: int
|
||||||
|
@param index: The index of a vertex.
|
||||||
|
@rtype: list
|
||||||
|
@return: List of pairs (name, weight), where name is the bone name (string)
|
||||||
|
and its weight is a float value.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def insertKey(frame = None):
|
||||||
|
"""
|
||||||
|
Insert a mesh key at the given frame.
|
||||||
|
@type frame: int
|
||||||
|
@param frame: The Scene frame where the mesh key should be inserted. If
|
||||||
|
None, the current frame is used.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def removeAllKeys():
|
||||||
|
"""
|
||||||
|
Remove all mesh keys stored in this mesh.
|
||||||
|
@rtype: bool
|
||||||
|
@return: True if succesful or False if this NMesh wasn't linked to a real
|
||||||
|
Blender Mesh yet (or was, but the Mesh had no keys).
|
||||||
|
@warn: Currently the mesh keys from meshs that are grabbed with
|
||||||
|
NMesh.GetRaw() or .GetRawFromObject() are preserved, so if you want to
|
||||||
|
clear them or don't want them at all, remember to call this method. Of
|
||||||
|
course NMeshes created with NMesh.New() don't have mesh keys until you
|
||||||
|
add them.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def update():
|
||||||
|
"""
|
||||||
|
Update the mesh in Blender. The changes made are put back to the mesh in
|
||||||
|
Blender, if available, or put in a newly created mesh object if this NMesh
|
||||||
|
wasn't linked to one, yet.
|
||||||
|
"""
|
193
source/blender/python/api2_2x/doc/Scene.py
Normal file
193
source/blender/python/api2_2x/doc/Scene.py
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
# Blender.Scene module and the Scene PyType object
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Scene submodule.
|
||||||
|
|
||||||
|
Scene
|
||||||
|
=====
|
||||||
|
|
||||||
|
This module provides access to B{Scenes} in Blender.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
def New (name = 'Scene'):
|
||||||
|
"""
|
||||||
|
Create a new Scene in Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The Scene name.
|
||||||
|
@rtype: Blender Scene
|
||||||
|
@return: The created Scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Get (name = None):
|
||||||
|
"""
|
||||||
|
Get the Scene(s) from Blender.
|
||||||
|
@type name: string
|
||||||
|
@param name: The name of a Scene.
|
||||||
|
@rtype: Blender Scene or a list of Blender Scenes
|
||||||
|
@return: It depends on the I{name} parameter:
|
||||||
|
- (name): The Scene with the given I{name};
|
||||||
|
- (): A list with all Scenes currently in Blender.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def GetCurrent():
|
||||||
|
"""
|
||||||
|
Get the currently active Scene in Blender.
|
||||||
|
@rtype: Blender Scene
|
||||||
|
@return: The currently active Scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def Unlink(scene):
|
||||||
|
"""
|
||||||
|
Unlink (delete) a Scene from Blender.
|
||||||
|
@type scene: Blender Scene
|
||||||
|
@param scene: The Scene to be unlinked.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Scene:
|
||||||
|
"""
|
||||||
|
The Scene object
|
||||||
|
================
|
||||||
|
This object gives access to Scene data in Blender.
|
||||||
|
@cvar name: The Scene name.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getName():
|
||||||
|
"""
|
||||||
|
Get the name of this Scene.
|
||||||
|
@rtype: string
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setName(name):
|
||||||
|
"""
|
||||||
|
Set the name of this Scene.
|
||||||
|
@type name: string
|
||||||
|
@param name: The new name.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getWinSize():
|
||||||
|
"""
|
||||||
|
Get the current x,y resolution of the render window. These are the
|
||||||
|
dimensions of the image created by the Blender Renderer.
|
||||||
|
@rtype: list
|
||||||
|
@return: [width, height].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setWinSize(dimensions):
|
||||||
|
"""
|
||||||
|
Set the width and height of the render window. These are the dimensions
|
||||||
|
of the image created by the Blender Renderer.
|
||||||
|
@type dimensions: list
|
||||||
|
@param dimensions: The new [width, height] values.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def copy(duplicate_objects = 1):
|
||||||
|
"""
|
||||||
|
Make a copy of this Scene.
|
||||||
|
@type duplicate_objects: int
|
||||||
|
@param duplicate_objects: Defines how the Scene children are duplicated:
|
||||||
|
- 0: Link Objects;
|
||||||
|
- 1: Link Object Data;
|
||||||
|
- 2: Full copy.
|
||||||
|
@rtype: Scene
|
||||||
|
@return: The copied Blender Scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def startFrame(frame = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) the start frame value.
|
||||||
|
@type frame: int
|
||||||
|
@param frame: The start frame. If None, this method simply returns the
|
||||||
|
current start frame.
|
||||||
|
@rtype: int
|
||||||
|
@return: The start frame value.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def endFrame(frame = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) the end frame value.
|
||||||
|
@type frame: int
|
||||||
|
@param frame: The end frame. If None, this method simply returns the
|
||||||
|
current end frame.
|
||||||
|
@rtype: int
|
||||||
|
@return: The end frame value.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def currentFrame(frame = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) the current frame value.
|
||||||
|
@type frame: int
|
||||||
|
@param frame: The current frame. If None, this method simply returns the
|
||||||
|
current frame value.
|
||||||
|
@rtype: int
|
||||||
|
@return: The current frame value.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def frameSettings(start = None, end = None, current = None):
|
||||||
|
"""
|
||||||
|
Get (and optionally set) the start, end and current frame values.
|
||||||
|
@type start: int
|
||||||
|
@type end: int
|
||||||
|
@type current: int
|
||||||
|
@param start: The start frame value.
|
||||||
|
@param end: The end frame value.
|
||||||
|
@param current: The current frame value.
|
||||||
|
@rtype: tuple
|
||||||
|
@return: The frame values in a tuple: [start, end, current].
|
||||||
|
"""
|
||||||
|
|
||||||
|
def makeCurrent():
|
||||||
|
"""
|
||||||
|
Make this Scene the currently active one in Blender.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def link(object):
|
||||||
|
"""
|
||||||
|
Link an Object to this Scene.
|
||||||
|
@type object: Blender Object
|
||||||
|
@param object: A Blender Object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def unlink(object):
|
||||||
|
"""
|
||||||
|
Unlink an Object from this Scene.
|
||||||
|
@type object: Blender Object
|
||||||
|
@param object: A Blender Object.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getRenderdir():
|
||||||
|
"""
|
||||||
|
Get the current directory where rendered images are saved.
|
||||||
|
@rtype: string
|
||||||
|
@return: The path to the current render dir
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getBackbufdir():
|
||||||
|
"""
|
||||||
|
Get the location of the backbuffer image.
|
||||||
|
@rtype: string
|
||||||
|
@return: The path to the chosen backbuffer image.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getChildren():
|
||||||
|
"""
|
||||||
|
Get all objects linked to this Scene.
|
||||||
|
@rtype: list
|
||||||
|
@return: A list with all Blender Objects linked to this Scene.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def getCurrentCamera():
|
||||||
|
"""
|
||||||
|
Get the currently active Camera for this Scene.
|
||||||
|
@rtype: Blender Camera
|
||||||
|
@return: The currently active Camera.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setCurrentCamera(camera):
|
||||||
|
"""
|
||||||
|
Set the currently active Camera in this Scene.
|
||||||
|
@type camera: Blender Camera
|
||||||
|
@param camera: The new active Camera.
|
||||||
|
"""
|
53
source/blender/python/api2_2x/doc/Types.py
Normal file
53
source/blender/python/api2_2x/doc/Types.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# The Blender.Types submodule
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Blender.Types submodule
|
||||||
|
===========================
|
||||||
|
|
||||||
|
This module is a dictionary of Blender Python types, for type checking.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
|
||||||
|
import Blender
|
||||||
|
from Blender import Types, Object, NMesh, Camera, Lamp
|
||||||
|
#
|
||||||
|
objs = Object.Get() # a list of all objects in the current scene
|
||||||
|
for o in objs:
|
||||||
|
print
|
||||||
|
print o, type(o)
|
||||||
|
data = o.getData()
|
||||||
|
print type(data)
|
||||||
|
if type(data) == Types.NMeshType:
|
||||||
|
if len(data.verts):
|
||||||
|
print "its vertices are obviously of type:", type(data.verts[0])
|
||||||
|
print "and its faces:", Types.NMFaceType
|
||||||
|
elif type(data) == Types.CameraType:
|
||||||
|
print "It's a Camera."
|
||||||
|
elif type(data) == Types.LampType:
|
||||||
|
print "Let there be light!"
|
||||||
|
|
||||||
|
@var ObjectType: Blender Object. The base object, linked to its specific data
|
||||||
|
at its .data member variable.
|
||||||
|
@var NMeshType: Blender NMesh. The mesh structure.
|
||||||
|
@var NMFaceType: Blender NMFace. A mesh face, with one (a point), two (an edge),
|
||||||
|
three (a triangular face) or four (a quad face) vertices.
|
||||||
|
@var NMVertType: Blender NMVert. A mesh vertex.
|
||||||
|
@var NMColType: Blender NMCol. A mesh rgba colour.
|
||||||
|
@var ArmatureType: Blender Armature. The "skeleton", for animating and deforming
|
||||||
|
objects.
|
||||||
|
@var BoneType: Blender Bone. Bones are, obviously, the "pieces" of an Armature.
|
||||||
|
@var CurveType: Blender Curve.
|
||||||
|
@var IpoType: Blender Ipo.
|
||||||
|
@var MetaballType: Blender Metaball.
|
||||||
|
@var CameraType: Blender Camera.
|
||||||
|
@var ImageType: Blender Image.
|
||||||
|
@var LampType: Blender Lamp.
|
||||||
|
@var TextType: Blender Text.
|
||||||
|
@var MaterialType: Blender Material.
|
||||||
|
@var SceneType: A Blender Scene. Container of all other objects.
|
||||||
|
@var ButtonType: Blender Button. One of the Draw widgets.
|
||||||
|
@var vectorType: Blender vector. Used in NMesh.
|
||||||
|
@var bufferType: Blender buffer. A contiguous piece of storage, used in BGL.
|
||||||
|
@var constantType: Blender constant. A constant dictionary.
|
||||||
|
@var rgbTupleType: Blender rgbTuple. A (red, green, blue) triplet.
|
||||||
|
"""
|
@@ -108,9 +108,10 @@ def ImageSelector (callback, title = 'SELECT IMAGE'):
|
|||||||
def DrawProgressBar (done, text):
|
def DrawProgressBar (done, text):
|
||||||
"""
|
"""
|
||||||
Draw a progress bar in the upper right corner of the screen. To cancel it
|
Draw a progress bar in the upper right corner of the screen. To cancel it
|
||||||
prematurely, users can press the "Esc" key.
|
prematurely, users can press the "Esc" key. Start it with done = 0 and end
|
||||||
|
it with done = 1.
|
||||||
@type done: float
|
@type done: float
|
||||||
@param done: A float in [0, 1] that tells the advance in the progress
|
@param done: A float in [0.0, 1.0] that tells the advance in the progress
|
||||||
bar.
|
bar.
|
||||||
@type text: string
|
@type text: string
|
||||||
@param text: Info about what is currently being done "behind the scenes".
|
@param text: Info about what is currently being done "behind the scenes".
|
||||||
|
Reference in New Issue
Block a user