[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