[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53363] trunk/blender/source/blender: fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian

Campbell Barton ideasman42 at gmail.com
Fri Dec 28 12:12:48 CET 2012


Revision: 53363
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53363
Author:   campbellbarton
Date:     2012-12-28 11:12:46 +0000 (Fri, 28 Dec 2012)
Log Message:
-----------
fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian

lambda is python keyword.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
    trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/makesrna/intern/rna_access.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2012-12-28 10:45:59 UTC (rev 53362)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c	2012-12-28 11:12:46 UTC (rev 53363)
@@ -128,7 +128,7 @@
 	"smooth_laplacian_vert",
 	/* slots_in */
 	{{"verts", BMO_OP_SLOT_ELEMENT_BUF, {BM_VERT}},    /* input vertices */
-	 {"lambda", BMO_OP_SLOT_FLT},           /* lambda param */
+	 {"lambda_factor", BMO_OP_SLOT_FLT},           /* lambda param */
 	 {"lambda_border", BMO_OP_SLOT_FLT},    /* lambda param in border */
 	 {"use_x", BMO_OP_SLOT_BOOL},           /* Smooth object along X axis */
 	 {"use_y", BMO_OP_SLOT_BOOL},           /* Smooth object along Y axis */

Modified: trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c	2012-12-28 10:45:59 UTC (rev 53362)
+++ trunk/blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c	2012-12-28 11:12:46 UTC (rev 53363)
@@ -538,7 +538,7 @@
 	int i;
 	int m_vertex_id;
 	int usex, usey, usez, preserve_volume;
-	float lambda, lambda_border;
+	float lambda_factor, lambda_border;
 	float w;
 	BMOIter siter;
 	BMVert *v;
@@ -553,7 +553,7 @@
 	memset_laplacian_system(sys, 0);
 
 	BM_mesh_elem_index_ensure(bm, BM_VERT);
-	lambda = BMO_slot_float_get(op->slots_in, "lambda");
+	lambda_factor = BMO_slot_float_get(op->slots_in, "lambda_factor");
 	lambda_border = BMO_slot_float_get(op->slots_in, "lambda_border");
 	sys->min_area = 0.00001f;
 	usex = BMO_slot_bool_get(op->slots_in, "use_x");
@@ -592,12 +592,12 @@
 		i = m_vertex_id;
 		if (sys->zerola[i] == 0) {
 			w = sys->vweights[i] * sys->ring_areas[i];
-			sys->vweights[i] = (w == 0.0f) ? 0.0f : -lambda  / (4.0f * w);
+			sys->vweights[i] = (w == 0.0f) ? 0.0f : -lambda_factor  / (4.0f * w);
 			w = sys->vlengths[i];
 			sys->vlengths[i] = (w == 0.0f) ? 0.0f : -lambda_border  * 2.0f / w;
 
 			if (!vert_is_boundary(v)) {
-				nlMatrixAdd(i, i,  1.0f + lambda / (4.0f * sys->ring_areas[i]));
+				nlMatrixAdd(i, i,  1.0f + lambda_factor / (4.0f * sys->ring_areas[i]));
 			}
 			else {
 				nlMatrixAdd(i, i,  1.0f + lambda_border * 2.0f);

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2012-12-28 10:45:59 UTC (rev 53362)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2012-12-28 11:12:46 UTC (rev 53363)
@@ -1674,7 +1674,7 @@
 	BMEditMesh *em = BMEdit_FromObject(obedit);
 	int usex = TRUE, usey = TRUE, usez = TRUE, preserve_volume = TRUE;
 	int i, repeat;
-	float lambda;
+	float lambda_factor;
 	float lambda_border;
 	BMIter fiter;
 	BMFace *f;
@@ -1695,7 +1695,7 @@
 	}
 
 	repeat = RNA_int_get(op->ptr, "repeat");
-	lambda = RNA_float_get(op->ptr, "lambda");
+	lambda_factor = RNA_float_get(op->ptr, "lambda_factor");
 	lambda_border = RNA_float_get(op->ptr, "lambda_border");
 	usex = RNA_boolean_get(op->ptr, "use_x");
 	usey = RNA_boolean_get(op->ptr, "use_y");
@@ -1706,8 +1706,8 @@
 	
 	for (i = 0; i < repeat; i++) {
 		if (!EDBM_op_callf(em, op,
-		                   "smooth_laplacian_vert verts=%hv lambda=%f lambda_border=%f use_x=%b use_y=%b use_z=%b preserve_volume=%b",
-		                   BM_ELEM_SELECT, lambda, lambda_border, usex, usey, usez, preserve_volume))
+		                   "smooth_laplacian_vert verts=%hv lambda_factor=%f lambda_border=%f use_x=%b use_y=%b use_z=%b preserve_volume=%b",
+		                   BM_ELEM_SELECT, lambda_factor, lambda_border, usex, usey, usez, preserve_volume))
 		{
 			return OPERATOR_CANCELLED;
 		}
@@ -1740,7 +1740,7 @@
 
 	RNA_def_int(ot->srna, "repeat", 1, 1, 200,
 	            "Number of iterations to smooth the mesh", "", 1, 200);
-	RNA_def_float(ot->srna, "lambda", 0.00005f, 0.0000001f, 1000.0f,
+	RNA_def_float(ot->srna, "lambda_factor", 0.00005f, 0.0000001f, 1000.0f,
 	              "Lambda factor", "", 0.0000001f, 1000.0f);
 	RNA_def_float(ot->srna, "lambda_border", 0.00005f, 0.0000001f, 1000.0f,
 	              "Lambda factor in border", "", 0.0000001f, 1000.0f);

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2012-12-28 10:45:59 UTC (rev 53362)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2012-12-28 11:12:46 UTC (rev 53363)
@@ -4238,7 +4238,9 @@
 		                   id_path, data_path, index);
 	}
 	MEM_freeN(id_path);
-	MEM_freeN(data_path);
+	if (data_path) {
+		MEM_freeN(data_path);
+	}
 
 	return ret;
 }
@@ -4268,7 +4270,9 @@
 		                   data_path, index);
 	}
 
-	MEM_freeN(data_path);
+	if (data_path) {
+		MEM_freeN(data_path);
+	}
 
 	return ret;
 }




More information about the Bf-blender-cvs mailing list