[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28315] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28301 :28313

Campbell Barton ideasman42 at gmail.com
Tue Apr 20 23:58:10 CEST 2010


Revision: 28315
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28315
Author:   campbellbarton
Date:     2010-04-20 23:58:09 +0200 (Tue, 20 Apr 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28301:28313

Modified Paths:
--------------
    branches/render25/CMakeLists.txt
    branches/render25/config/aix4-config.py
    branches/render25/config/irix6-config.py
    branches/render25/doc/blender-cmake.txt
    branches/render25/po/zh_CN.po
    branches/render25/release/scripts/ui/properties_data_lattice.py
    branches/render25/source/blender/blenkernel/intern/armature.c
    branches/render25/source/blender/blenkernel/intern/lattice.c
    branches/render25/source/blender/blenkernel/intern/material.c
    branches/render25/source/blender/makesdna/DNA_lattice_types.h
    branches/render25/source/blender/makesrna/intern/rna_lattice.c
    branches/render25/source/blender/modifiers/intern/MOD_solidify.c
    branches/render25/source/blender/windowmanager/intern/wm_event_system.c
    branches/render25/source/gameengine/Converter/BL_ArmatureActuator.cpp
    branches/render25/source/nan_definitions.mk
    branches/render25/source/nan_link.mk

Modified: branches/render25/CMakeLists.txt
===================================================================
--- branches/render25/CMakeLists.txt	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/CMakeLists.txt	2010-04-20 21:58:09 UTC (rev 28315)
@@ -102,9 +102,9 @@
 
 # For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:
 # On Unix: 
-#   cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
+#   cmake -D PYTHON_LIB=/usr/local/lib/python3.1/config/libpython3.1.so -D PYTHON_INC=/usr/local/include/python3.1 -G "Unix Makefiles" ../blender
 # On Macs: 
-#   cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -D PYTHON_BINARY=/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 -G Xcode ../blender
+#   cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/config -G Xcode ../blender
 #
 # When changing any of this remember to update the notes in doc/blender-cmake.txt
 
@@ -479,7 +479,7 @@
 		# otherwise, use custom system framework
 
 		SET(PYTHON /System/Library/Frameworks/Python.framework/Versions/)
-		SET(PYTHON_VERSION 2.5)
+		SET(PYTHON_VERSION 3.1)
 		SET(PYTHON_INC "${PYTHON}${PYTHON_VERSION}/include/python${PYTHON_VERSION}")
 		# SET(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION}) # not used yet
 		SET(PYTHON_LIB "")

Modified: branches/render25/config/aix4-config.py
===================================================================
--- branches/render25/config/aix4-config.py	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/config/aix4-config.py	2010-04-20 21:58:09 UTC (rev 28315)
@@ -14,7 +14,7 @@
 BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
 BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
 BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
-BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python2.5/config/libpython${BF_PYTHON_VERSION}.a'
+BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}/config/libpython${BF_PYTHON_VERSION}.a'
 
 WITH_BF_OPENAL = 'false'
 WITH_BF_STATICOPENAL = 'false'

Modified: branches/render25/config/irix6-config.py
===================================================================
--- branches/render25/config/irix6-config.py	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/config/irix6-config.py	2010-04-20 21:58:09 UTC (rev 28315)
@@ -10,7 +10,7 @@
 BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
 BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
 BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
-BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python2.5/config/libpython${BF_PYTHON_VERSION}.a'
+BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}/config/libpython${BF_PYTHON_VERSION}.a'
 
 WITH_BF_OPENAL = 'true'
 WITH_BF_STATICOPENAL = 'true'

Modified: branches/render25/doc/blender-cmake.txt
===================================================================
--- branches/render25/doc/blender-cmake.txt	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/doc/blender-cmake.txt	2010-04-20 21:58:09 UTC (rev 28315)
@@ -132,9 +132,9 @@
     The commandline can be used to override detected/default settings, e.g:
  
     On Unix: 
-      cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
+      cmake -D PYTHON_LIB=/usr/local/lib/python3.1/config/libpython3.1.so -D PYTHON_INC=/usr/local/include/python3.1 -G "Unix Makefiles" ../blender
     On Macs: 
-      cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -D PYTHON_BINARY=/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 -G Xcode ../blender
+      cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -G Xcode ../blender
 
     Mote that this should only be needed once per build directory generation because it will keep the overrides in CMakeCache.txt for subsequent runs.
 

Modified: branches/render25/po/zh_CN.po
===================================================================
--- branches/render25/po/zh_CN.po	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/po/zh_CN.po	2010-04-20 21:58:09 UTC (rev 28315)
@@ -921,7 +921,7 @@
 msgid "Save Dynamic Runtime"
 msgstr "保存为可执行文件(需要动态连接库)"
 
-#~ msgid "Creates a dynamic runtime executable with the current project (requieres extenal python20.dll)"
+#~ msgid "Creates a dynamic runtime executable with the current project (requieres extenal python31.dll)"
 #~ msgstr "从当前项目创建可执行文件(需要python20.dll)"
 
 #~ msgid "Runtime options"

Modified: branches/render25/release/scripts/ui/properties_data_lattice.py
===================================================================
--- branches/render25/release/scripts/ui/properties_data_lattice.py	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/release/scripts/ui/properties_data_lattice.py	2010-04-20 21:58:09 UTC (rev 28315)
@@ -93,7 +93,9 @@
             col = split.column()
         col.prop(lat, "interpolation_type_w", text="")
 
-        layout.prop(lat, "outside")
+        row = layout.row()
+        row.prop(lat, "outside")
+        row.prop_object(lat, "vertex_group", context.object, "vertex_groups", text="")
 
 
 classes = [

Modified: branches/render25/source/blender/blenkernel/intern/armature.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/armature.c	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/source/blender/blenkernel/intern/armature.c	2010-04-20 21:58:09 UTC (rev 28315)
@@ -54,6 +54,7 @@
 #include "BKE_curve.h"
 #include "BKE_depsgraph.h"
 #include "BKE_DerivedMesh.h"
+#include "BKE_deform.h"
 #include "BKE_displist.h"
 #include "BKE_global.h"
 #include "BKE_idprop.h"
@@ -368,7 +369,7 @@
 	char 	extension[5]={""};
 
 	len= strlen(name);
-	if (len == 0) return;
+	if (len == 0) return 0;
 	strcpy(basename, name);
 	
 	/* Figure out extension to append: 
@@ -924,7 +925,7 @@
 	int numGroups = 0;		/* safety for vertexgroup index overflow */
 	int i, target_totvert = 0;	/* safety for vertexgroup overflow */
 	int use_dverts = 0;
-	int armature_def_nr = -1;
+	int armature_def_nr;
 	int totchan;
 
 	if(arm->edbo) return;
@@ -956,9 +957,7 @@
 	}
 
 	/* get the def_nr for the overall armature vertex group if present */
-	for(i = 0, dg = target->defbase.first; dg; i++, dg = dg->next)
-		if(defgrp_name && strcmp(defgrp_name, dg->name) == 0)
-			armature_def_nr = i;
+	armature_def_nr= defgroup_name_index(target, defgrp_name);
 
 	/* get a vertex-deform-index to posechannel array */
 	if(deformflag & ARM_DEF_VGROUP) {

Modified: branches/render25/source/blender/blenkernel/intern/lattice.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/lattice.c	2010-04-20 21:57:32 UTC (rev 28314)
+++ branches/render25/source/blender/blenkernel/intern/lattice.c	2010-04-20 21:58:09 UTC (rev 28315)
@@ -59,6 +59,7 @@
 #include "BKE_mesh.h"
 #include "BKE_modifier.h"
 #include "BKE_utildefines.h"
+#include "BKE_deform.h"
 
 //XXX #include "BIF_editdeform.h"
 
@@ -338,19 +339,29 @@
 {
 	Lattice *lt= ob->data;
 	float u, v, w, tu[4], tv[4], tw[4];
-	float *fpw, *fpv, *fpu, vec[3];
+	float vec[3];
+	int idx_w, idx_v, idx_u;
 	int ui, vi, wi, uu, vv, ww;
-	
+
+	/* vgroup influence */
+	int defgroup_nr= -1;
+	float co_prev[3], weight_blend= 0.0f;
+	MDeformVert *dvert= lattice_get_deform_verts(ob);
+
+
 	if(lt->editlatt) lt= lt->editlatt;
 	if(lt->latticedata==NULL) return;
-	
+
+	if(lt->vgroup[0] && dvert) {
+		defgroup_nr= defgroup_name_index(ob, lt->vgroup);
+		copy_v3_v3(co_prev, co);
+	}
+
 	/* co is in local coords, treat with latmat */
-	
-	VECCOPY(vec, co);
-	mul_m4_v3(lt->latmat, vec);
-	
+	mul_v3_m4v3(vec, lt->latmat, co);
+
 	/* u v w coords */
-	
+
 	if(lt->pntsu>1) {
 		u= (vec[0]-lt->fu)/lt->du;
 		ui= (int)floor(u);
@@ -361,7 +372,7 @@
 		tu[0]= tu[2]= tu[3]= 0.0; tu[1]= 1.0;
 		ui= 0;
 	}
-	
+
 	if(lt->pntsv>1) {
 		v= (vec[1]-lt->fv)/lt->dv;
 		vi= (int)floor(v);
@@ -372,7 +383,7 @@
 		tv[0]= tv[2]= tv[3]= 0.0; tv[1]= 1.0;
 		vi= 0;
 	}
-	
+
 	if(lt->pntsw>1) {
 		w= (vec[2]-lt->fw)/lt->dw;
 		wi= (int)floor(w);
@@ -383,46 +394,51 @@
 		tw[0]= tw[2]= tw[3]= 0.0; tw[1]= 1.0;
 		wi= 0;
 	}
-	
+
 	for(ww= wi-1; ww<=wi+2; ww++) {
 		w= tw[ww-wi+1];
-		
+
 		if(w!=0.0) {
 			if(ww>0) {
-				if(ww<lt->pntsw) fpw= lt->latticedata + 3*ww*lt->pntsu*lt->pntsv;
-				else fpw= lt->latticedata + 3*(lt->pntsw-1)*lt->pntsu*lt->pntsv;
+				if(ww<lt->pntsw) idx_w= ww*lt->pntsu*lt->pntsv;
+				else idx_w= (lt->pntsw-1)*lt->pntsu*lt->pntsv;
 			}
-			else fpw= lt->latticedata;
-			
+			else idx_w= 0;
+
 			for(vv= vi-1; vv<=vi+2; vv++) {
 				v= w*tv[vv-vi+1];
-				
+
 				if(v!=0.0) {
 					if(vv>0) {
-						if(vv<lt->pntsv) fpv= fpw + 3*vv*lt->pntsu;
-						else fpv= fpw + 3*(lt->pntsv-1)*lt->pntsu;
+						if(vv<lt->pntsv) idx_v= idx_w + vv*lt->pntsu;
+						else idx_v= idx_w + (lt->pntsv-1)*lt->pntsu;
 					}
-					else fpv= fpw;
-					
+					else idx_v= idx_w;
+
 					for(uu= ui-1; uu<=ui+2; uu++) {
 						u= weight*v*tu[uu-ui+1];
-						
+
 						if(u!=0.0) {
 							if(uu>0) {
-								if(uu<lt->pntsu) fpu= fpv + 3*uu;
-								else fpu= fpv + 3*(lt->pntsu-1);
+								if(uu<lt->pntsu) idx_u= idx_v + uu;
+								else idx_u= idx_v + (lt->pntsu-1);
 							}
-							else fpu= fpv;
-							
-							co[0]+= u*fpu[0];
-							co[1]+= u*fpu[1];
-							co[2]+= u*fpu[2];
+							else idx_u= idx_v;
+
+							madd_v3_v3fl(co, &lt->latticedata[idx_u * 3], u);
+
+							if(defgroup_nr != -1)
+								weight_blend += (u * defvert_find_weight(dvert + idx_u, defgroup_nr));
 						}
 					}
 				}
 			}
 		}
 	}
+
+	if(defgroup_nr != -1)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list