On Thu, Apr 28, 2011 at 12:37 PM, <mts...@gmail.com> wrote: > Reviewers: , > > Message: > If I understand it correctly, Han-Wen's original collision code in > beam.cc was treating intervals as if is_empty checked if they were > uninitialized or invalid in some way, whereas in fact, is_empty gets rid > of anything where left is greater than right. However, the LEFT and > RIGHT values of intervals in collision_free contain y values for the > beam position, and thus, the left one will invariably be higher than the > right one if the beam has a negative slope. Thus, is_empty was (I > think) ruling out any solution with a negative slope. > > I'm not sure if this is too drastic to address issue 1613 (there may > need to be some error checking fit in), but I think that it more or less > fixes the problem.
Please read the code carefully to see what it does, rather than guessing: > - Interval v = > - (!collision_free[DOWN].is_empty()) ? > - collision_free[DOWN] : > - collision_free[UP]; > - > - beam_left_y = point_in_interval (v, 2.0); these are not beam slopes. -- Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel