diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-11-04 07:47:06 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-11-04 07:47:06 +0300 |
commit | 18729aff27025b069817e3f5935190678f7daa45 (patch) | |
tree | ded4f4588f35a671984abd7c2ccd201e9bfe57c0 /source/blender | |
parent | 05116408154c272ee459a1d6371411bfe94d1e84 (diff) | |
parent | d3b85af6ca4b0d1cbddec99b5c53b6aa081af230 (diff) |
Merge branch 'blender-v2.91-release'
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/curve.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index f275299d8f1..af1784b30f8 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -2970,6 +2970,8 @@ void BKE_curve_bevelList_make(Object *ob, ListBase *nurbs, bool for_render) continue; } + /* Scale the threshold so high resolution shapes don't get over reduced, see: T49850. */ + const float threshold_resolu = 0.00001f / resolu; bool is_cyclic = bl->poly != -1; nr = bl->nr; if (is_cyclic) { @@ -2990,13 +2992,9 @@ void BKE_curve_bevelList_make(Object *ob, ListBase *nurbs, bool for_render) } } else { - if (fabsf(bevp0->vec[0] - bevp1->vec[0]) < 0.00001f) { - if (fabsf(bevp0->vec[1] - bevp1->vec[1]) < 0.00001f) { - if (fabsf(bevp0->vec[2] - bevp1->vec[2]) < 0.00001f) { - bevp0->dupe_tag = true; - bl->dupe_nr++; - } - } + if (compare_v3v3(bevp0->vec, bevp1->vec, threshold_resolu)) { + bevp0->dupe_tag = true; + bl->dupe_nr++; } } bevp0 = bevp1; |