diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-12-28 15:12:46 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-12-28 15:12:46 +0400 |
commit | 4e88bfca1bb75c4654a27ebd0725d911c568b07f (patch) | |
tree | cadd8ed330d7b9b4975e236b67d6b6a695c2ac60 | |
parent | d984c46701280ab50a3ce2987d184ce780e113c6 (diff) |
fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian
lambda is python keyword.
-rw-r--r-- | source/blender/bmesh/intern/bmesh_opdefines.c | 2 | ||||
-rw-r--r-- | source/blender/bmesh/operators/bmo_smooth_laplacian.c | 8 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_tools.c | 10 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 8 |
4 files changed, 16 insertions, 12 deletions
diff --git a/source/blender/bmesh/intern/bmesh_opdefines.c b/source/blender/bmesh/intern/bmesh_opdefines.c index 83ed51163b5..8461ec6fe08 100644 --- a/source/blender/bmesh/intern/bmesh_opdefines.c +++ b/source/blender/bmesh/intern/bmesh_opdefines.c @@ -128,7 +128,7 @@ static BMOpDefine bmo_smooth_laplacian_vert_def = { "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 */ diff --git a/source/blender/bmesh/operators/bmo_smooth_laplacian.c b/source/blender/bmesh/operators/bmo_smooth_laplacian.c index 4a367a8fd6f..ce584686757 100644 --- a/source/blender/bmesh/operators/bmo_smooth_laplacian.c +++ b/source/blender/bmesh/operators/bmo_smooth_laplacian.c @@ -538,7 +538,7 @@ void bmo_smooth_laplacian_vert_exec(BMesh *bm, BMOperator *op) 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 @@ void bmo_smooth_laplacian_vert_exec(BMesh *bm, BMOperator *op) 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 @@ void bmo_smooth_laplacian_vert_exec(BMesh *bm, BMOperator *op) 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); diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 26f54dee52d..12475c61bca 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -1674,7 +1674,7 @@ static int edbm_do_smooth_laplacian_vertex_exec(bContext *C, wmOperator *op) 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 @@ static int edbm_do_smooth_laplacian_vertex_exec(bContext *C, wmOperator *op) } 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 @@ static int edbm_do_smooth_laplacian_vertex_exec(bContext *C, wmOperator *op) 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 @@ void MESH_OT_vertices_smooth_laplacian(wmOperatorType *ot) 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); diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 641507a4136..0048e1c60c2 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -4238,7 +4238,9 @@ char *RNA_path_full_property_py(PointerRNA *ptr, PropertyRNA *prop, int index) 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 @@ char *RNA_path_struct_property_py(PointerRNA *ptr, PropertyRNA *prop, int index) data_path, index); } - MEM_freeN(data_path); + if (data_path) { + MEM_freeN(data_path); + } return ret; } |