Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Tönne <lukas.toenne@gmail.com>2015-05-19 12:56:44 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2015-05-19 12:56:44 +0300
commitf0e00033d196acaec5496e06eb8c2b51b0880f73 (patch)
tree46c32899053c921acdb6279f1f73addcefef7c35 /source/blender/blenkernel/intern
parent66d39ad4174b8be46cad211fd7b2f427667bfcc0 (diff)
Fix for incorrect vertex loops when calculating strands.
This was using vprev from previous strands, leading to spurious changes on untouched strands when combing.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/editstrands.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/editstrands.c b/source/blender/blenkernel/intern/editstrands.c
index b7a4817cb86..03871bc16e7 100644
--- a/source/blender/blenkernel/intern/editstrands.c
+++ b/source/blender/blenkernel/intern/editstrands.c
@@ -160,13 +160,14 @@ void BKE_editstrands_solve_constraints(Object *ob, BMEditStrands *es, BMEditStra
static void editstrands_calc_segment_lengths(BMesh *bm)
{
- BMVert *root, *v, *vprev;
- BMIter iter, iter_strand;
- int k;
+ BMVert *root;
+ BMIter iter;
BM_ITER_STRANDS(root, &iter, bm, BM_STRANDS_OF_MESH) {
- BM_ITER_STRANDS_ELEM_INDEX(v, &iter_strand, root, BM_VERTS_OF_STRAND, k) {
- if (k > 0) {
+ BMVert *v, *vprev = NULL;
+ BMIter iter_strand;
+ BM_ITER_STRANDS_ELEM(v, &iter_strand, root, BM_VERTS_OF_STRAND) {
+ if (vprev) {
float length = len_v3v3(v->co, vprev->co);
BM_elem_float_data_named_set(&bm->vdata, v, CD_PROP_FLT, CD_HAIR_SEGMENT_LENGTH, length);
}