]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/colhpos.hh
e46991dc33f33ad74bab582494d6fb3f5562ae08
[lilypond.git] / lily / include / colhpos.hh
1 /*
2   colhpos.hh -- part of GNU LilyPond
3
4   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
5 */
6
7 #ifndef COLHPOS_HH
8 #define COLHPOS_HH
9
10 #include "array.hh"
11 #include "lily-proto.hh"
12
13 typedef Array<Paper_column*>  Line_of_cols;
14
15 struct Column_x_positions {
16   Line_spacer * spacer_l_;
17   bool ugh_b_;
18   Line_of_cols error_col_l_arr_;
19   Line_of_cols cols;
20   Array<Real> config;
21   Real energy_f_;
22   bool satisfies_constraints_b_;
23
24   /* ************** */
25   void OK() const;
26   ~Column_x_positions();
27   void solve_line();
28   void approximate_solve_line();
29   /** generate a solution with no regard to idealspacings or
30     constraints.  should always work */
31   void stupid_solution();
32   void set_stupid_solution (Vector);
33   Column_x_positions();
34   void add_paper_column (Paper_column*c);
35   void print() const;
36 };
37
38
39 #endif // COLHPOS_HH
40