]> git.donarmstrong.com Git - lilypond.git/blob - hdr/grouping.hh
a6e93bf840504c9c53f5692402727aeecff59411
[lilypond.git] / hdr / grouping.hh
1 /*
2   grouping.hh -- part of LilyPond
3
4   (c) 1996 Han-Wen Nienhuys
5 */
6
7 #ifndef GROUPING_HH
8 #define GROUPING_HH
9
10 #include "interval.hh"
11 #include "vray.hh"
12
13 struct Rhythmic_grouping {
14     Interval t;
15
16     svec<Rhythmic_grouping*> children;
17     /****************/
18     
19     void split_half();
20     Real last();
21     Rhythmic_grouping* sub_grouping(Interval v);
22     void split_grouping(Rhythmic_grouping &initial_grouping);
23     void split_grouping(svec<Real> initial_grouping);
24     svec<Real> get_bounds();
25     Rhythmic_grouping(Interval);
26     Rhythmic_grouping(svec<Interval> notes,
27                       svec<Real> initial_grouping);
28
29     void print() const;
30     ~Rhythmic_grouping();
31 };
32
33 #endif // GROUPING_HH