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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2006-08-13 14:13:19 +0400
committerCampbell Barton <ideasman42@gmail.com>2006-08-13 14:13:19 +0400
commit352623544688f596197d9f6faaf907e9a7cc8f69 (patch)
tree73d9c4cd04cebe0b9a7ca137785f1749f38bba52 /source
parentbdb12f23cf068680ffdd5675db6587dc31e5fc73 (diff)
Added .radius support for curves, and material's lightGroup
Diffstat (limited to 'source')
-rw-r--r--source/blender/python/api2_2x/BezTriple.c21
-rw-r--r--source/blender/python/api2_2x/Material.c39
-rw-r--r--source/blender/python/api2_2x/doc/BezTriple.py2
-rw-r--r--source/blender/python/api2_2x/doc/Material.py2
4 files changed, 61 insertions, 3 deletions
diff --git a/source/blender/python/api2_2x/BezTriple.c b/source/blender/python/api2_2x/BezTriple.c
index 3087d69c67c..86a4139679f 100644
--- a/source/blender/python/api2_2x/BezTriple.c
+++ b/source/blender/python/api2_2x/BezTriple.c
@@ -326,6 +326,23 @@ static int BezTriple_setWeight( BPy_BezTriple * self, PyObject *value )
return 0;
}
+static PyObject *BezTriple_getRadius( BPy_BezTriple * self )
+{
+ return PyFloat_FromDouble( self->beztriple->radius );
+}
+
+static int BezTriple_setRadius( BPy_BezTriple * self, PyObject *value )
+{
+ PyObject *num = PyNumber_Float( value );
+
+ if( !num )
+ return EXPP_ReturnIntError( PyExc_TypeError, "expected a float" );
+
+ self->beztriple->radius = (float)PyFloat_AsDouble( num );
+ Py_DECREF( num );
+ return 0;
+}
+
static PyObject *BezTriple_getHide( BPy_BezTriple * self )
{
return PyInt_FromLong( self->beztriple->hide == IPO_BEZ );
@@ -454,6 +471,10 @@ static PyGetSetDef BPy_BezTriple_getseters[] = {
(getter)BezTriple_getWeight, (setter)BezTriple_setWeight,
"point weight",
NULL},
+ {"radius",
+ (getter)BezTriple_getRadius, (setter)BezTriple_setRadius,
+ "point radius",
+ NULL},
{NULL,NULL,NULL,NULL,NULL} /* Sentinel */
};
diff --git a/source/blender/python/api2_2x/Material.c b/source/blender/python/api2_2x/Material.c
index 1efff7b329a..600d5f71440 100644
--- a/source/blender/python/api2_2x/Material.c
+++ b/source/blender/python/api2_2x/Material.c
@@ -50,6 +50,7 @@
#include "MTex.h"
#include "Texture.h"
#include "Ipo.h"
+#include "Group.h"
#include "gen_utils.h"
/*****************************************************************************/
@@ -466,7 +467,7 @@ static PyObject *Matr_oldsetDiffuseDarkness( BPy_Material * self, PyObject * arg
static PyObject *Matr_oldsetRefracIndex( BPy_Material * self, PyObject * args );
static PyObject *Matr_oldsetRms( BPy_Material * self, PyObject * args );
static PyObject *Matr_oldsetTranslucency( BPy_Material * self, PyObject * args );
-;
+
static int Material_setIpo( BPy_Material * self, PyObject * value );
static int Material_setName( BPy_Material * self, PyObject * value );
static int Material_setMode( BPy_Material * self, PyObject * value );
@@ -482,6 +483,7 @@ static int Material_setAlpha( BPy_Material * self, PyObject * value );
static int Material_setRef( BPy_Material * self, PyObject * value );
static int Material_setSpec( BPy_Material * self, PyObject * value );
static int Material_setZOffset( BPy_Material * self, PyObject * value );
+static int Material_setLightGroup( BPy_Material * self, PyObject * value );
static int Material_setAdd( BPy_Material * self, PyObject * value );
static int Material_setHaloSize( BPy_Material * self, PyObject * value );
static int Material_setFlareSize( BPy_Material * self, PyObject * value );
@@ -525,8 +527,8 @@ static PyObject *Material_getColorComponent( BPy_Material * self,
static PyObject *Material_getOopsLoc( BPy_Material * self );
static PyObject *Material_getOopsSel( BPy_Material * self );
static PyObject *Material_getUsers( BPy_Material * self );
-//static int Material_setSeptex( BPy_Material * self, PyObject * value );
-//static PyObject *Material_getSeptex( BPy_Material * self );
+/*static int Material_setSeptex( BPy_Material * self, PyObject * value );
+ static PyObject *Material_getSeptex( BPy_Material * self );*/
/*****************************************************************************/
/* Python BPy_Material methods declarations: */
@@ -546,6 +548,7 @@ static PyObject *Material_getSpec( BPy_Material * self );
static PyObject *Material_getSpecTransp( BPy_Material * self );
static PyObject *Material_getAdd( BPy_Material * self );
static PyObject *Material_getZOffset( BPy_Material * self );
+static PyObject *Material_getLightGroup( BPy_Material * self );
static PyObject *Material_getHaloSize( BPy_Material * self );
static PyObject *Material_getHaloSeed( BPy_Material * self );
static PyObject *Material_getFlareSize( BPy_Material * self );
@@ -1046,6 +1049,10 @@ static PyGetSetDef BPy_Material_getseters[] = {
(getter)Material_getZOffset, (setter)Material_setZOffset,
"Artificial offset in the Z buffer (for Ztransp option)",
NULL},
+ {"lightGroup",
+ (getter)Material_getLightGroup, (setter)Material_setLightGroup,
+ "Set the light group for this material",
+ NULL},
{"R",
(getter)Material_getColorComponent, (setter)Material_setColorComponent,
"Diffuse color red component",
@@ -1517,6 +1524,18 @@ static PyObject *Material_getZOffset( BPy_Material * self )
"couldn't get Material.zOffset attribute" );
}
+static PyObject *Material_getLightGroup( BPy_Material * self )
+{
+ PyObject *attr =
+ Group_CreatePyObject( self->material->group );
+
+ if( attr )
+ return attr;
+
+ return EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ "couldn't get Material.lightGroup attribute" );
+}
+
static PyObject *Material_getHaloSize( BPy_Material * self )
{
PyObject *attr =
@@ -2098,6 +2117,20 @@ static int Material_setZOffset( BPy_Material * self, PyObject * value )
EXPP_MAT_ZOFFS_MAX );
}
+static int Material_setLightGroup( BPy_Material * self, PyObject * value ) {
+ BPy_Group *pygrp=NULL;
+ if ( PyObject_TypeCheck(value, &Group_Type) ) {
+ pygrp= (BPy_Group *)value;
+ self->material->group= pygrp->group;
+ } else if (value==Py_None) {
+ self->material->group= NULL;
+ } else {
+ return EXPP_ReturnIntError( PyExc_TypeError,
+ "expected a group or None" );
+ }
+ return 0;
+}
+
static int Material_setAdd( BPy_Material * self, PyObject * value )
{
return EXPP_setFloatClamped ( value, &self->material->add,
diff --git a/source/blender/python/api2_2x/doc/BezTriple.py b/source/blender/python/api2_2x/doc/BezTriple.py
index 2ac78bdcbec..eb12dd0051e 100644
--- a/source/blender/python/api2_2x/doc/BezTriple.py
+++ b/source/blender/python/api2_2x/doc/BezTriple.py
@@ -51,6 +51,8 @@ class BezTriple:
@type vec: list of points
@ivar tilt: the tilt/alpha value for the point
@type tilt: float
+ @ivar radius: the radius of this point (used for tapering bevels)
+ @type radius: float
@ivar hide: the visibility status of the knot. B{Note}: true/nonzero means
I{not} hidden. B{Note}: primarily intended for curves; not a good idea to
hide IPO control points.
diff --git a/source/blender/python/api2_2x/doc/Material.py b/source/blender/python/api2_2x/doc/Material.py
index 2b161e558d4..5c920930170 100644
--- a/source/blender/python/api2_2x/doc/Material.py
+++ b/source/blender/python/api2_2x/doc/Material.py
@@ -276,6 +276,8 @@ class Material:
@ivar zOffset: Artificial offset in the Z buffer (for Ztransp option).
Value is clamped to the range [0.0,10.0].
@type zOffset: float
+ @ivar lightGroup: Limits lights that affect this material to a group.
+ @type lightGroup: Group or None
@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.