]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/slur-configuration.hh
* flower/include/pqueue.hh: Derive from std::vector.
[lilypond.git] / lily / include / slur-configuration.hh
1 /*
2   slur-configuration.hh -- declare Slur_configuration
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef SLUR_CONFIGURATION_HH
10 #define SLUR_CONFIGURATION_HH
11
12 #include "bezier.hh"
13 #include "std-vector.hh"
14 #include "main.hh"
15
16 class Slur_configuration
17 {
18 public:
19   Drul_array<Offset> attachment_;
20   Real score_;
21   Bezier curve_;
22   Real height_;
23
24   int index_;
25
26 #if DEBUG_SLUR_SCORING
27   std::string score_card_;
28 #endif
29
30   Slur_configuration ();
31
32   void generate_curve (Slur_score_state const &state, Real r0, Real h_inf,
33                        std::vector<Offset> const &);
34   void score (Slur_score_state const &);
35 protected:
36   void score_extra_encompass (Slur_score_state const &);
37   void score_slopes (Slur_score_state const &);
38   void score_edges (Slur_score_state const &);
39   void score_encompass (Slur_score_state const &);
40 };
41
42 #endif /* SLUR_CONFIGURATION_HH */
43