[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47473] branches/soc-2012-sushi/source/ blender: Add lambda factor for boundaries in UI.

Alexander Pinzon apinzonf at gmail.com
Tue Jun 5 20:53:56 CEST 2012


Revision: 47473
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47473
Author:   apinzonf
Date:     2012-06-05 18:53:47 +0000 (Tue, 05 Jun 2012)
Log Message:
-----------
Add lambda factor for boundaries in UI.

Modified Paths:
--------------
    branches/soc-2012-sushi/source/blender/bmesh/intern/bmesh_opdefines.c
    branches/soc-2012-sushi/source/blender/bmesh/operators/bmo_smooth_laplacian.c
    branches/soc-2012-sushi/source/blender/editors/mesh/editmesh_tools.c

Modified: branches/soc-2012-sushi/source/blender/bmesh/intern/bmesh_opdefines.c
===================================================================
--- branches/soc-2012-sushi/source/blender/bmesh/intern/bmesh_opdefines.c	2012-06-05 18:38:09 UTC (rev 47472)
+++ branches/soc-2012-sushi/source/blender/bmesh/intern/bmesh_opdefines.c	2012-06-05 18:53:47 UTC (rev 47473)
@@ -119,6 +119,7 @@
 	"vertexsmoothlaplacian",
 	{{BMO_OP_SLOT_ELEMENT_BUF, "verts"}, //input vertices
 	 {BMO_OP_SLOT_FLT, "lambda"}, //lambda param
+	 {BMO_OP_SLOT_FLT, "lambda_border"}, //lambda param in border
 	 {BMO_OP_SLOT_FLT, "min_area"}, //Minimun area permited
 	 {BMO_OP_SLOT_BOOL, "mirror_clip_x"}, //set vertices close to the x axis before the operation to 0
 	 {BMO_OP_SLOT_BOOL, "mirror_clip_y"}, //set vertices close to the y axis before the operation to 0

Modified: branches/soc-2012-sushi/source/blender/bmesh/operators/bmo_smooth_laplacian.c
===================================================================
--- branches/soc-2012-sushi/source/blender/bmesh/operators/bmo_smooth_laplacian.c	2012-06-05 18:38:09 UTC (rev 47472)
+++ branches/soc-2012-sushi/source/blender/bmesh/operators/bmo_smooth_laplacian.c	2012-06-05 18:53:47 UTC (rev 47473)
@@ -57,7 +57,7 @@
 {
 	int i;
 	int m_vertex_id;
-	float lambda, min_area;
+	float lambda, lambda_border, min_area;
 	float vini, vend;
 	BMOIter siter;
 	BMVert *v;
@@ -65,6 +65,7 @@
 
 	BM_mesh_elem_index_ensure(bm, BM_VERT);
 	lambda = BMO_slot_float_get(op, "lambda");
+	lambda_border = BMO_slot_float_get(op, "lambda_border");
 	min_area = BMO_slot_float_get(op, "min_area");
 	nlNewContext();
 	context = nlGetCurrent();
@@ -95,7 +96,7 @@
 		if (vert_is_boundary(v) == 0) {
 			compute_weights_in_ring(v, lambda, min_area);
 		}else{
-			compute_weights_in_border(v, lambda, min_area);
+			compute_weights_in_border(v, lambda_border, min_area);
 		}
 		
 	}

Modified: branches/soc-2012-sushi/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/soc-2012-sushi/source/blender/editors/mesh/editmesh_tools.c	2012-06-05 18:38:09 UTC (rev 47472)
+++ branches/soc-2012-sushi/source/blender/editors/mesh/editmesh_tools.c	2012-06-05 18:53:47 UTC (rev 47473)
@@ -1604,6 +1604,7 @@
 	int i, repeat;
 	float clipdist = 0.0f;
 	float lambda = 0.1f;
+	float lambda_border = 0.1f;
 	float min_area = 0.00001f;
 	BMIter fiter;
 	BMFace *f;
@@ -1645,14 +1646,15 @@
 
 	repeat = RNA_int_get(op->ptr, "repeat");
 	lambda = RNA_float_get(op->ptr, "lambda");
+	lambda_border = RNA_float_get(op->ptr, "lambda_border");
 	min_area = RNA_float_get(op->ptr, "min_area");
 	if (!repeat)
 		repeat = 1;
 	
 	for (i = 0; i < repeat; i++) {
 		if (!EDBM_op_callf(em, op,
-		                   "vertexsmoothlaplacian verts=%hv lambda=%f min_area=%f mirror_clip_x=%b mirror_clip_y=%b mirror_clip_z=%b clipdist=%f",
-		                   BM_ELEM_SELECT, lambda, min_area, mirrx, mirry, mirrz, clipdist))
+		                   "vertexsmoothlaplacian verts=%hv lambda=%f lambda_border=%f min_area=%f mirror_clip_x=%b mirror_clip_y=%b mirror_clip_z=%b clipdist=%f",
+		                   BM_ELEM_SELECT, lambda, lambda_border, min_area, mirrx, mirry, mirrz, clipdist))
 		{
 			return OPERATOR_CANCELLED;
 		}
@@ -1687,6 +1689,8 @@
 					"Number of iterations to smooth the mesh", "", 1, 50);
 	RNA_def_float(ot->srna, "lambda", 0.00005f, 0.0000001f, 100.0f, 
 					"Lambda factor", "", 0.0000001f, 100.0f);
+	RNA_def_float(ot->srna, "lambda_border", 0.00005f, 0.0000001f, 100.0f, 
+					"Lambda factor in border", "", 0.0000001f, 100.0f);
 	RNA_def_float(ot->srna, "min_area", 0.00001f, 0.0000000000000001f, 100.0f, 
 					"Minimum area permitted", "", 0.0000000000000001f, 100.0f);
 




More information about the Bf-blender-cvs mailing list