+ Real chord_start = hp[stem_dir];
+
+ /*
+ can't look at stem-end-position, since that triggers
+ beam slope computations.
+ */
+ Real stem_end = hp[stem_dir] +
+ stem_dir * robust_scm2double (stem->get_property ("length"), 7);
+
+ stem_posns[d] = Interval (min (chord_start, stem_end),
+ max (chord_start, stem_end));
+ head_posns[d].unite (hp);