2 beam.hh -- part of LilyPond
4 (c) 1996 Han-Wen Nienhuys
10 #include "directionalspanner.hh"
13 /// a beam connects multiple stems
14 struct Beam: public Directional_spanner {
15 PointerList<Stem*> stems;
18 /// dir: -1 below heads, +1 above heads.
21 Rhythmic_grouping *group;
25 virtual Interval width()const;
26 Offset center() const;
27 Spanner *do_break_at(PCol *, PCol *) const;
32 void set_default_dir();
33 void do_pre_processing();
34 void do_post_processing();
37 void set_grouping(Rhythmic_grouping def, Rhythmic_grouping current);
42 Molecule stem_beams(Stem *here, Stem *next, Stem *prev)const;
44 Molecule*brew_molecule()const;
46 /** Beam adjusts the stems its owns to make sure that they reach the
47 beam and that point in the correct direction */