diff options
author | Campbell Barton <ideasman42@gmail.com> | 2006-08-13 14:13:19 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2006-08-13 14:13:19 +0400 |
commit | 352623544688f596197d9f6faaf907e9a7cc8f69 (patch) | |
tree | 73d9c4cd04cebe0b9a7ca137785f1749f38bba52 /source | |
parent | bdb12f23cf068680ffdd5675db6587dc31e5fc73 (diff) |
Added .radius support for curves, and material's lightGroup
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/python/api2_2x/BezTriple.c | 21 | ||||
-rw-r--r-- | source/blender/python/api2_2x/Material.c | 39 | ||||
-rw-r--r-- | source/blender/python/api2_2x/doc/BezTriple.py | 2 | ||||
-rw-r--r-- | source/blender/python/api2_2x/doc/Material.py | 2 |
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. |