X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fspring.cc;h=1f250546db354d31f41a7cfb344a011281af7524;hb=8d076ebc46c46e90ef83615275d5777bef5c3698;hp=c9f3afbe42a3ef4c71041b2cde980245fc283070;hpb=45493eefc3647f4b8c83515ee3176e05a6250195;p=lilypond.git diff --git a/lily/spring.cc b/lily/spring.cc index c9f3afbe42..1f250546db 100644 --- a/lily/spring.cc +++ b/lily/spring.cc @@ -61,20 +61,24 @@ merge_springs (vector const &springs) Real avg_distance = 0; Real min_distance = 0; Real avg_stretch = 0; + Real avg_compress = 0; for (vsize i = 0; i < springs.size (); i++) { avg_distance += springs[i].distance (); avg_stretch += springs[i].inverse_stretch_strength (); + avg_compress += 1 / springs[i].inverse_compress_strength (); min_distance = max (springs[i].min_distance (), min_distance); } avg_stretch /= springs.size (); + avg_compress /= springs.size (); avg_distance /= springs.size (); avg_distance = max (min_distance + 0.3, avg_distance); Spring ret = Spring (avg_distance, min_distance); ret.set_inverse_stretch_strength (avg_stretch); + ret.set_inverse_compress_strength (1 / avg_compress); return ret; }