[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14718] branches/apricot: svn merge -r 14688:HEAD
Campbell Barton
ideasman42 at gmail.com
Wed May 7 10:59:43 CEST 2008
Revision: 14718
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14718
Author: campbellbarton
Date: 2008-05-07 10:59:43 +0200 (Wed, 07 May 2008)
Log Message:
-----------
svn merge -r 14688:HEAD
Modified Paths:
--------------
branches/apricot/release/scripts/bpymodules/BPyAddMesh.py
branches/apricot/source/blender/include/BIF_imasel.h
branches/apricot/source/blender/include/BSE_filesel.h
branches/apricot/source/blender/python/api2_2x/Blender.c
branches/apricot/source/blender/python/api2_2x/Material.c
branches/apricot/source/blender/python/api2_2x/Sys.c
branches/apricot/source/blender/python/api2_2x/doc/Material.py
branches/apricot/source/blender/python/api2_2x/doc/Sys.py
branches/apricot/source/blender/src/drawobject.c
branches/apricot/source/blender/src/filesel.c
branches/apricot/source/blender/src/headerbuttons.c
branches/apricot/source/blender/src/imasel.c
branches/apricot/source/blender/src/interface.c
branches/apricot/source/blender/src/space.c
branches/apricot/source/creator/creator.c
branches/apricot/source/gameengine/Ketsji/KX_GameObject.cpp
branches/apricot/source/gameengine/Ketsji/KX_GameObject.h
branches/apricot/source/gameengine/PyDoc/KX_GameObject.py
Modified: branches/apricot/release/scripts/bpymodules/BPyAddMesh.py
===================================================================
--- branches/apricot/release/scripts/bpymodules/BPyAddMesh.py 2008-05-07 07:57:18 UTC (rev 14717)
+++ branches/apricot/release/scripts/bpymodules/BPyAddMesh.py 2008-05-07 08:59:43 UTC (rev 14718)
@@ -16,13 +16,17 @@
scn = bpy.data.scenes.active
if scn.lib: return
ob_act = scn.objects.active
-
+
+ is_editmode = EditMode()
+
cursor = GetCursorPos()
- try: quat = Blender.Mathutils.Quaternion(GetViewQuat())
- except: quat = None
+ quat = None
+ if is_editmode or Blender.Get('add_view_align'): # Aligning seems odd for editmode, but blender does it, oh well
+ try: quat = Blender.Mathutils.Quaternion(GetViewQuat())
+ except: pass
# Exist editmode for non mesh types
- if ob_act and ob_act.type != 'Mesh' and EditMode():
+ if ob_act and ob_act.type != 'Mesh' and is_editmode:
EditMode(0)
# We are in mesh editmode
@@ -65,9 +69,10 @@
# Mesh with no data, unlikely
me.edges.extend(edges)
me.faces.extend(faces)
+
+ if is_editmode or Blender.Get('add_editmode'):
+ EditMode(1)
- EditMode(1)
-
else:
# Object mode add new
@@ -90,10 +95,11 @@
ob_act.setMatrix(mat)
ob_act.loc = cursor
-
- EditMode(1)
+ if is_editmode or Blender.Get('add_editmode'):
+ EditMode(1)
+
def write_mesh_script(filepath, me):
'''
filepath - path to py file
Modified: branches/apricot/source/blender/include/BIF_imasel.h
===================================================================
--- branches/apricot/source/blender/include/BIF_imasel.h 2008-05-07 07:57:18 UTC (rev 14717)
+++ branches/apricot/source/blender/include/BIF_imasel.h 2008-05-07 08:59:43 UTC (rev 14718)
@@ -34,6 +34,7 @@
struct ID;
void free_imasel(struct SpaceImaSel *simasel);
+void reset_imaselspace(struct ScrArea *sa);
void clever_numbuts_imasel(void);
Modified: branches/apricot/source/blender/include/BSE_filesel.h
===================================================================
--- branches/apricot/source/blender/include/BSE_filesel.h 2008-05-07 07:57:18 UTC (rev 14717)
+++ branches/apricot/source/blender/include/BSE_filesel.h 2008-05-07 08:59:43 UTC (rev 14718)
@@ -54,6 +54,7 @@
void activate_databrowse_args(struct ID *id, int idcode, int fromcode, short *menup, void (*func)(char *, void *, void *), void *arg1, void *arg2);
void filesel_prevspace(void);
+void reset_filespace(struct ScrArea *sa);
void free_filesel_spec(char *dir);
void winqreadfilespace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
void main_to_filelist(struct SpaceFile *sfile);
Modified: branches/apricot/source/blender/python/api2_2x/Blender.c
===================================================================
--- branches/apricot/source/blender/python/api2_2x/Blender.c 2008-05-07 07:57:18 UTC (rev 14717)
+++ branches/apricot/source/blender/python/api2_2x/Blender.c 2008-05-07 08:59:43 UTC (rev 14718)
@@ -246,7 +246,8 @@
return EXPP_ReturnPyObjError( PyExc_ValueError,
"expected an integer" );
- G.scene->r.cfra = (short)PyInt_AsLong( arg ) ;
+ G.scene->r.cfra = (int)PyInt_AsLong( arg ) ;
+ CLAMP(G.scene->r.cfra, 1, MAXFRAME);
/* update all objects, so python scripts can export all objects
in a scene without worrying about the view layers */
@@ -545,8 +546,12 @@
else if(StringEqual( str, "compressfile" ))
ret = PyInt_FromLong( (U.flag & USER_FILECOMPRESS) >> 15 );
else if(StringEqual( str, "mipmap" ))
- ret = PyInt_FromLong( (U.gameflags & USER_DISABLE_MIPMAP) == 0 );
- else
+ ret = PyInt_FromLong( (U.gameflags & USER_DISABLE_MIPMAP)!=0 );
+ else if(StringEqual( str, "add_view_align" ))
+ ret = PyInt_FromLong( ((U.flag & USER_ADD_VIEWALIGNED)!=0) );
+ else if(StringEqual( str, "add_editmode" ))
+ ret = PyInt_FromLong( ((U.flag & USER_ADD_EDITMODE)!=0) );
+ else
return EXPP_ReturnPyObjError( PyExc_AttributeError, "unknown attribute" );
if (ret) return ret;
Modified: branches/apricot/source/blender/python/api2_2x/Material.c
===================================================================
--- branches/apricot/source/blender/python/api2_2x/Material.c 2008-05-07 07:57:18 UTC (rev 14717)
+++ branches/apricot/source/blender/python/api2_2x/Material.c 2008-05-07 08:59:43 UTC (rev 14718)
@@ -128,6 +128,14 @@
#define EXPP_MAT_FRESNELMIRR_MAX 5.0
#define EXPP_MAT_FRESNELMIRRFAC_MIN 1.0
#define EXPP_MAT_FRESNELMIRRFAC_MAX 5.0
+#define EXPP_MAT_RAYMIRRGLOSS_MIN 0.0
+#define EXPP_MAT_RAYMIRRGLOSS_MAX 1.0
+#define EXPP_MAT_RAYMIRRGLOSSSAMPLES_MIN 0
+#define EXPP_MAT_RAYMIRRGLOSSSAMPLES_MAX 255
+#define EXPP_MAT_RAYTRANSPGLOSS_MIN 0.0
+#define EXPP_MAT_RAYTRANSPGLOSS_MAX 1.0
+#define EXPP_MAT_RAYTRANSPGLOSSSAMPLES_MIN 0
+#define EXPP_MAT_RAYTRANSPGLOSSSAMPLES_MAX 255
#define EXPP_MAT_FILTER_MIN 0.0
#define EXPP_MAT_FILTER_MAX 1.0
#define EXPP_MAT_TRANSLUCENCY_MIN 0.0
@@ -516,6 +524,10 @@
static int Material_setTransDepth( BPy_Material * self, PyObject * value );
static int Material_setFresnelTrans( BPy_Material * self, PyObject * value );
static int Material_setFresnelTransFac( BPy_Material * self, PyObject * value );
+static int Material_setGlossMirr( BPy_Material * self, PyObject * value );
+static int Material_setGlossMirrSamples( BPy_Material * self, PyObject * value );
+static int Material_setGlossTrans( BPy_Material * self, PyObject * value );
+static int Material_setGlossTransSamples( BPy_Material * self, PyObject * value );
static int Material_setRigidBodyFriction( BPy_Material * self, PyObject * value );
static int Material_setRigidBodyRestitution( BPy_Material * self, PyObject * value );
@@ -600,6 +612,10 @@
static PyObject *Material_getTransDepth( BPy_Material * self );
static PyObject *Material_getFresnelTrans( BPy_Material * self );
static PyObject *Material_getFresnelTransFac( BPy_Material * self );
+static PyObject *Material_getGlossMirr( BPy_Material * self );
+static PyObject *Material_getGlossMirrSamples( BPy_Material * self );
+static PyObject *Material_getGlossTrans( BPy_Material * self );
+static PyObject *Material_getGlossTransSamples( BPy_Material * self );
static PyObject *Material_getRigidBodyFriction( BPy_Material * self );
static PyObject *Material_getRigidBodyRestitution( BPy_Material * self );
@@ -720,6 +736,10 @@
"() - Return fresnel power for refractions"},
{"getFresnelMirrFac", ( PyCFunction ) Material_getFresnelMirrFac, METH_NOARGS,
"() - Return fresnel power for refractions factor"},
+ {"getRayTransGloss", ( PyCFunction ) Material_getGlossTrans, METH_NOARGS,
+ "() - Return amount refraction glossiness"},
+ {"getRayMirrGlossSamples", ( PyCFunction ) Material_getGlossMirrSamples, METH_NOARGS,
+ "() - Return amount mirror glossiness"},
{"getFilter", ( PyCFunction ) Material_getFilter, METH_NOARGS,
"() - Return the amount of filtering when transparent raytrace is enabled"},
{"getTranslucency", ( PyCFunction ) Material_getTranslucency, METH_NOARGS,
@@ -825,6 +845,10 @@
"(f) - Set fresnel power for mirror - [0.0, 5.0]"},
{"setFresnelMirrFac", ( PyCFunction ) Matr_oldsetFresnelMirrFac, METH_VARARGS,
"(f) - Set blend fac for mirror fresnel - [1.0, 5.0]"},
+ {"setRayTransGloss", ( PyCFunction ) Material_setGlossTrans, METH_VARARGS,
+ "(f) - Set amount refraction glossiness - [0.0, 1.0]"},
+ {"setRayMirrGlossSamples", ( PyCFunction ) Material_setGlossMirrSamples, METH_VARARGS,
+ "(f) - Set amount mirror glossiness - [0.0, 1.0]"},
{"setFilter", ( PyCFunction ) Matr_oldsetFilter, METH_VARARGS,
"(f) - Set the amount of filtering when transparent raytrace is enabled"},
{"setTranslucency", ( PyCFunction ) Matr_oldsetTranslucency, METH_VARARGS,
@@ -1030,6 +1054,22 @@
(getter)Material_getRefracIndex, (setter)Material_setRefracIndex,
"Material's Index of Refraction (applies to the \"Blinn\" Specular Shader only",
NULL},
+ {"glossMir",
+ (getter)Material_getGlossMirr, (setter)Material_setGlossMirr,
+ "Reflection glossiness",
+ NULL},
+ {"sampGlossMir",
+ (getter)Material_getGlossMirrSamples, (setter)Material_setGlossMirrSamples,
+ "Reflection glossiness",
+ NULL},
+ {"glossTra",
+ (getter)Material_getGlossTrans, (setter)Material_setGlossTrans,
+ "Refraction glossiness",
+ NULL},
+ {"sampGlossTra",
+ (getter)Material_getGlossMirrSamples, (setter)Material_setGlossMirrSamples,
+ "Refraction glossiness",
+ NULL},
{"rgbCol",
(getter)Material_getRGBCol, (setter)Material_setRGBCol,
"Diffuse RGB color triplet",
@@ -1578,6 +1618,26 @@
return PyFloat_FromDouble( ( double ) self->material->fresnel_tra_i );
}
+static PyObject *Material_getGlossMirr( BPy_Material * self )
+{
+ return PyFloat_FromDouble( ( double ) self->material->gloss_mir );
+}
+
+static PyObject *Material_getGlossMirrSamples( BPy_Material * self )
+{
+ return PyInt_FromLong( ( long ) self->material->samp_gloss_mir );
+}
+
+static PyObject *Material_getGlossTrans( BPy_Material * self )
+{
+ return PyFloat_FromDouble( ( double ) self->material->gloss_tra );
+}
+
+static PyObject *Material_getGlossTransSamples( BPy_Material * self )
+{
+ return PyInt_FromLong( ( long ) self->material->samp_gloss_tra );
+}
+
static PyObject* Material_getRigidBodyFriction( BPy_Material * self )
{
return PyFloat_FromDouble( ( double ) self->material->friction );
@@ -2057,6 +2117,34 @@
EXPP_MAT_FRESNELTRANSFAC_MAX );
}
+static int Material_setGlossMirr( BPy_Material * self, PyObject * value )
+{
+ return EXPP_setFloatClamped ( value, &self->material->gloss_mir,
+ EXPP_MAT_RAYMIRRGLOSS_MIN,
+ EXPP_MAT_RAYMIRRGLOSS_MAX );
+}
+
+static int Material_setGlossMirrSamples( BPy_Material * self, PyObject * value )
+{
+ return EXPP_setIValueClamped ( value, &self->material->samp_gloss_mir,
+ EXPP_MAT_RAYMIRRGLOSSSAMPLES_MIN,
+ EXPP_MAT_RAYMIRRGLOSSSAMPLES_MAX, 'h' );
+}
+
+static int Material_setGlossTrans( BPy_Material * self, PyObject * value )
+{
+ return EXPP_setFloatClamped ( value, &self->material->gloss_tra,
+ EXPP_MAT_RAYTRANSPGLOSS_MIN,
+ EXPP_MAT_RAYTRANSPGLOSS_MAX );
+}
+
+static int Material_setGlossTransSamples( BPy_Material * self, PyObject * value )
+{
+ return EXPP_setIValueClamped ( value, &self->material->samp_gloss_tra,
+ EXPP_MAT_RAYTRANSPGLOSSSAMPLES_MIN,
+ EXPP_MAT_RAYTRANSPGLOSSSAMPLES_MAX, 'h' );
+}
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list