[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