/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1996--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1996--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
LilyPond is free software: you can redistribute it and/or modify
class Beam_scoring_problem
{
public:
- Beam_scoring_problem (Grob *me, Drul_array<Real> ys);
+ Beam_scoring_problem (Grob *me, Drul_array<Real> ys, bool);
Drul_array<Real> solve () const;
private:
Spanner *beam_;
Interval unquanted_y_;
- bool consistent_broken_slope_;
+ bool align_broken_intos_;
+ bool do_initial_slope_calculations_;
Real staff_space_;
Real beam_thickness_;
Real line_thickness_;
Real musical_dy_;
int normal_stem_count_;
-
Real x_span_;
-
/*
Do stem computations. These depend on YL and YR linearly, so we can
precompute for every stem 2 factors.
vsize first_normal_index ();
vsize last_normal_index ();
- void init_stems ();
+ void init_instance_variables (Grob *me, Drul_array<Real> ys, bool align_broken_intos);
void add_collision (Real x, Interval y, Real factor);
void no_visible_stem_positions ();
void least_squares_positions ();
+ Real calc_concaveness ();
void slope_damping ();
void shift_region_to_valid ();
void score_slope_direction (Beam_configuration *config) const;
void score_slope_musical (Beam_configuration *config) const;
void score_stem_lengths (Beam_configuration *config) const;
- void generate_quants (vector<Beam_configuration *>* scores) const;
+ void generate_quants (vector<Beam_configuration *> *scores) const;
void score_collisions (Beam_configuration *config) const;
};