[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11230] branches/pyapi_devel/source/ blender/python/api2_2x: lamp module now uses generic functions for getting and settings floats and ints ,
Campbell Barton
cbarton at metavr.com
Wed Jul 11 19:30:07 CEST 2007
Revision: 11230
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11230
Author: campbellbarton
Date: 2007-07-11 19:30:07 +0200 (Wed, 11 Jul 2007)
Log Message:
-----------
lamp module now uses generic functions for getting and settings floats and ints,
instead of a function for getting and setting each value.
This is much of what needs to be done for the new python api.
(just constants and lamp-textures to finish)
Modified Paths:
--------------
branches/pyapi_devel/source/blender/python/api2_2x/Blender.c
branches/pyapi_devel/source/blender/python/api2_2x/Lamp.c
branches/pyapi_devel/source/blender/python/api2_2x/Lamp.h
branches/pyapi_devel/source/blender/python/api2_2x/Material.c
Modified: branches/pyapi_devel/source/blender/python/api2_2x/Blender.c
===================================================================
--- branches/pyapi_devel/source/blender/python/api2_2x/Blender.c 2007-07-11 12:58:39 UTC (rev 11229)
+++ branches/pyapi_devel/source/blender/python/api2_2x/Blender.c 2007-07-11 17:30:07 UTC (rev 11230)
@@ -956,7 +956,7 @@
PyDict_SetItemString(dict, "IpoCurve", IpoCurve_Init());
PyDict_SetItemString(dict, "Image", Image_Init());
PyDict_SetItemString(dict, "Key", Key_Init());
- PyDict_SetItemString(dict, "Lamp", Lamp_Init());
+ Lamp_Init();
Lattice_Init();
PyDict_SetItemString(dict, "Library", oldLibrary_Init());
PyDict_SetItemString(dict, "Material", Material_Init());
Modified: branches/pyapi_devel/source/blender/python/api2_2x/Lamp.c
===================================================================
--- branches/pyapi_devel/source/blender/python/api2_2x/Lamp.c 2007-07-11 12:58:39 UTC (rev 11229)
+++ branches/pyapi_devel/source/blender/python/api2_2x/Lamp.c 2007-07-11 17:30:07 UTC (rev 11230)
@@ -46,116 +46,70 @@
#include "gen_utils.h"
#include "gen_library.h"
#include "bpy_list.h"
+#include "bpy_float.h"
/*****************************************************************************/
/* Python BPy_Lamp defaults: */
/*****************************************************************************/
-/* Lamp types */
-
-/* NOTE:
- these are the same values as LA_* from DNA_lamp_types.h
- is there some reason we are not simply using those #defines?
- s. swaney 8-oct-2004
-*/
-
-#define EXPP_LAMP_TYPE_LAMP 0
-#define EXPP_LAMP_TYPE_SUN 1
-#define EXPP_LAMP_TYPE_SPOT 2
-#define EXPP_LAMP_TYPE_HEMI 3
-#define EXPP_LAMP_TYPE_AREA 4
-#define EXPP_LAMP_TYPE_YF_PHOTON 5
-/*
- define a constant to keep magic numbers out of the code
- this value should be equal to the last EXPP_LAMP_TYPE_*
-*/
-#define EXPP_LAMP_TYPE_MAX 5
-
-/* Lamp mode flags */
-
-#define EXPP_LAMP_MODE_SHADOWS 1
-#define EXPP_LAMP_MODE_HALO 2
-#define EXPP_LAMP_MODE_LAYER 4
-#define EXPP_LAMP_MODE_QUAD 8
-#define EXPP_LAMP_MODE_NEGATIVE 16
-#define EXPP_LAMP_MODE_ONLYSHADOW 32
-#define EXPP_LAMP_MODE_SPHERE 64
-#define EXPP_LAMP_MODE_SQUARE 128
-#define EXPP_LAMP_MODE_TEXTURE 256
-#define EXPP_LAMP_MODE_OSATEX 512
-#define EXPP_LAMP_MODE_DEEPSHADOW 1024
-#define EXPP_LAMP_MODE_NODIFFUSE 2048
-#define EXPP_LAMP_MODE_NOSPECULAR 4096
-#define EXPP_LAMP_MODE_SHAD_RAY 8192
-/* Lamp MIN, MAX values */
-
-#define EXPP_LAMP_SAMPLES_MIN 1
-#define EXPP_LAMP_SAMPLES_MAX 16
-#define EXPP_LAMP_BUFFERSIZE_MIN 512
-#define EXPP_LAMP_BUFFERSIZE_MAX 5120
-#define EXPP_LAMP_ENERGY_MIN 0.0
-#define EXPP_LAMP_ENERGY_MAX 10.0
-#define EXPP_LAMP_DIST_MIN 0.1f
-#define EXPP_LAMP_DIST_MAX 5000.0
-#define EXPP_LAMP_SPOTSIZE_MIN 1.0
-#define EXPP_LAMP_SPOTSIZE_MAX 180.0
-#define EXPP_LAMP_SPOTBLEND_MIN 0.00
-#define EXPP_LAMP_SPOTBLEND_MAX 1.00
-#define EXPP_LAMP_CLIPSTART_MIN 0.1f
-#define EXPP_LAMP_CLIPSTART_MAX 1000.0
-#define EXPP_LAMP_CLIPEND_MIN 1.0
-#define EXPP_LAMP_CLIPEND_MAX 5000.0
-#define EXPP_LAMP_BIAS_MIN 0.01f
-#define EXPP_LAMP_BIAS_MAX 5.00
-#define EXPP_LAMP_SOFTNESS_MIN 1.0
-#define EXPP_LAMP_SOFTNESS_MAX 100.0
-#define EXPP_LAMP_HALOINT_MIN 0.0
-#define EXPP_LAMP_HALOINT_MAX 5.0
-#define EXPP_LAMP_HALOSTEP_MIN 0
-#define EXPP_LAMP_HALOSTEP_MAX 12
-#define EXPP_LAMP_QUAD1_MIN 0.0
-#define EXPP_LAMP_QUAD1_MAX 1.0
-#define EXPP_LAMP_QUAD2_MIN 0.0
-#define EXPP_LAMP_QUAD2_MAX 1.0
-#define EXPP_LAMP_COL_MIN 0.0
-#define EXPP_LAMP_COL_MAX 1.0
-
-/* Raytracing settings */
-#define EXPP_LAMP_RAYSAMPLES_MIN 1
-#define EXPP_LAMP_RAYSAMPLES_MAX 16
-#define EXPP_LAMP_AREASIZE_MIN 0.01f
-#define EXPP_LAMP_AREASIZE_MAX 100.0f
-
-/* Lamp_setComponent() keys for which color to get/set */
-#define EXPP_LAMP_COMP_R 0x00
-#define EXPP_LAMP_COMP_G 0x01
-#define EXPP_LAMP_COMP_B 0x02
-
#define IPOKEY_RGB 0
#define IPOKEY_ENERGY 1
#define IPOKEY_SPOTSIZE 2
#define IPOKEY_OFFSET 3
#define IPOKEY_SIZE 4
+enum lamp_float_consts {
+ /*EXPP_LAMP_ATTR_R = 0,
+ EXPP_LAMP_ATTR_G,
+ EXPP_LAMP_ATTR_B,*/
+ EXPP_LAMP_ATTR_ENERGY = 0,
+ EXPP_LAMP_ATTR_DIST,
+ EXPP_LAMP_ATTR_SPOTSIZE,
+ EXPP_LAMP_ATTR_SPOTBLEND,
+ EXPP_LAMP_ATTR_HAINT,
+ EXPP_LAMP_ATTR_QUAD1,
+ EXPP_LAMP_ATTR_QUAD2,
+ EXPP_LAMP_ATTR_CLIPSTA,
+ EXPP_LAMP_ATTR_CLIPEND,
+ /*EXPP_LAMP_ATTR_SHADSPOTSIZE, not used anywhere */
+ EXPP_LAMP_ATTR_BIAS,
+ EXPP_LAMP_ATTR_SOFT,
+ EXPP_LAMP_ATTR_AREA_SIZE,
+ EXPP_LAMP_ATTR_AREA_SIZEY,
+ EXPP_LAMP_ATTR_AREA_SIZEZ,
+ EXPP_LAMP_ATTR_YF_CAUSTICBLUR,
+ EXPP_LAMP_ATTR_YF_LTRADIUS,
+ EXPP_LAMP_ATTR_YF_GLOWINT,
+ EXPP_LAMP_ATTR_YF_GLOWOFS,
+};
+
+/* int/short/char */
+enum lamp_int_consts {
+ /*EXPP_LAMP_ATTR_TYPE,*/
+ /*EXPP_LAMP_ATTR_MODE,*/
+ EXPP_LAMP_ATTR_BUFSIZE = 0,
+ EXPP_LAMP_ATTR_SAMP,
+ EXPP_LAMP_ATTR_BUFFERS,
+ EXPP_LAMP_ATTR_FILTERTYPE,
+ EXPP_LAMP_ATTR_BUFTYPE,
+ EXPP_LAMP_ATTR_RAY_SAMP,
+ EXPP_LAMP_ATTR_RAY_SAMPY,
+ /*EXPP_LAMP_ATTR_RAY_SAMPZ, - unused so far */
+ EXPP_LAMP_ATTR_AREA_SHAPE,
+ EXPP_LAMP_ATTR_AREA_SHADHALOSTEP,
+ EXPP_LAMP_ATTR_AREA_YF_NUMPHOTONS,
+ EXPP_LAMP_ATTR_AREA_YF_NUMSEARCH,
+ EXPP_LAMP_ATTR_AREA_YF_PHDEPTH,
+ EXPP_LAMP_ATTR_AREA_YF_USEQMC,
+ EXPP_LAMP_ATTR_AREA_YF_BUFSIZE,
+ EXPP_LAMP_ATTR_AREA_YF_GLOWTYPE,
+};
+
/*****************************************************************************/
/* Python API function prototypes for the Lamp module. */
/*****************************************************************************/
/*****************************************************************************/
-/* The following string definitions are used for documentation strings. */
-/* In Python these will be written to the console when doing a */
-/* Blender.Lamp.__doc__ */
-/*****************************************************************************/
-static char M_Lamp_doc[] = "The Blender Lamp module\n\n\
-This module provides control over **Lamp Data** objects in Blender.\n\n\
-Example::\n\n\
- from Blender import Lamp\n\
- l = Lamp.New('Spot') # create new 'Spot' lamp data\n\
- l.setMode('square', 'shadow') # set these two lamp mode flags\n\
- ob = Object.New('Lamp') # create new lamp object\n\
- ob.link(l) # link lamp obj with lamp data\n";
-
-/*****************************************************************************/
/* Python method structure definition for Blender.Lamp module: */
/*****************************************************************************/
struct PyMethodDef M_Lamp_methods[] = {
@@ -166,55 +120,21 @@
/* Python BPy_Lamp methods declarations: */
/*****************************************************************************/
static PyObject *Lamp_getType( BPy_Lamp * self );
-static PyObject *Lamp_getTypesConst( void );
-static PyObject *Lamp_getMode( BPy_Lamp * self );
-static PyObject *Lamp_getModesConst( void );
-static PyObject *Lamp_getSamples( BPy_Lamp * self );
-static PyObject *Lamp_getRaySamplesX( BPy_Lamp * self );
-static PyObject *Lamp_getRaySamplesY( BPy_Lamp * self );
-static PyObject *Lamp_getAreaSizeX( BPy_Lamp * self );
-static PyObject *Lamp_getAreaSizeY( BPy_Lamp * self );
-static PyObject *Lamp_getBufferSize( BPy_Lamp * self );
-static PyObject *Lamp_getHaloStep( BPy_Lamp * self );
-static PyObject *Lamp_getEnergy( BPy_Lamp * self );
-static PyObject *Lamp_getDist( BPy_Lamp * self );
-static PyObject *Lamp_getSpotSize( BPy_Lamp * self );
-static PyObject *Lamp_getSpotBlend( BPy_Lamp * self );
-static PyObject *Lamp_getClipStart( BPy_Lamp * self );
-static PyObject *Lamp_getClipEnd( BPy_Lamp * self );
-static PyObject *Lamp_getBias( BPy_Lamp * self );
-static PyObject *Lamp_getSoftness( BPy_Lamp * self );
-static PyObject *Lamp_getHaloInt( BPy_Lamp * self );
-static PyObject *Lamp_getQuad1( BPy_Lamp * self );
-static PyObject *Lamp_getQuad2( BPy_Lamp * self );
+
+static PyObject *Lamp_getMode(BPy_Lamp *self, void *flag);
+static PyObject *Lamp_getModeBuf(BPy_Lamp *self, void *flag);
+static PyObject *Lamp_getModeRaySampType(BPy_Lamp *self, void *flag);
+
static PyObject *Lamp_getCol( BPy_Lamp * self );
static PyObject *Lamp_getIpo( BPy_Lamp * self );
-static PyObject *Lamp_getComponent( BPy_Lamp * self, void * closure );
static PyObject *Lamp_insertIpoKey( BPy_Lamp * self, PyObject * args );
static PyObject *Lamp_copy( BPy_Lamp * self );
static int Lamp_setIpo( BPy_Lamp * self, PyObject * args );
static int Lamp_setType( BPy_Lamp * self, PyObject * args );
-static int Lamp_setMode( BPy_Lamp * self, PyObject * args );
-static int Lamp_setSamples( BPy_Lamp * self, PyObject * args );
-static int Lamp_setRaySamplesX( BPy_Lamp * self, PyObject * args );
-static int Lamp_setRaySamplesY( BPy_Lamp * self, PyObject * args );
-static int Lamp_setAreaSizeX( BPy_Lamp * self, PyObject * args );
-static int Lamp_setAreaSizeY( BPy_Lamp * self, PyObject * args );
-static int Lamp_setBufferSize( BPy_Lamp * self, PyObject * args );
-static int Lamp_setHaloStep( BPy_Lamp * self, PyObject * args );
-static int Lamp_setEnergy( BPy_Lamp * self, PyObject * args );
-static int Lamp_setDist( BPy_Lamp * self, PyObject * args );
-static int Lamp_setSpotSize( BPy_Lamp * self, PyObject * args );
-static int Lamp_setSpotBlend( BPy_Lamp * self, PyObject * args );
-static int Lamp_setClipStart( BPy_Lamp * self, PyObject * args );
-static int Lamp_setClipEnd( BPy_Lamp * self, PyObject * args );
-static int Lamp_setBias( BPy_Lamp * self, PyObject * args );
-static int Lamp_setSoftness( BPy_Lamp * self, PyObject * args );
-static int Lamp_setHaloInt( BPy_Lamp * self, PyObject * args );
-static int Lamp_setQuad1( BPy_Lamp * self, PyObject * args );
-static int Lamp_setQuad2( BPy_Lamp * self, PyObject * args );
+static int Lamp_setMode(BPy_Lamp *self, PyObject *value, void *flag);
+static int Lamp_setModeBuf(BPy_Lamp *self, PyObject *value, void *flag);
+static int Lamp_setModeRaySampType(BPy_Lamp *self, PyObject *value, void *flag);
static int Lamp_setCol( BPy_Lamp * self, PyObject * args );
-static int Lamp_setComponent( BPy_Lamp * self, PyObject * value, void * closure );
/*****************************************************************************/
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list