lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gets rid of unnecessary logic in beam.cc. (issue4449065)


From: Han-Wen Nienhuys
Subject: Re: Gets rid of unnecessary logic in beam.cc. (issue4449065)
Date: Fri, 29 Apr 2011 02:26:30 -0300

On Thu, Apr 28, 2011 at 12:37 PM,  <address@hidden> 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 - address@hidden - http://www.xs4all.nl/~hanwen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]