2 p-col.cc -- implement Paper_column
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
14 Paper_column::add_rod (Paper_column * p, Real d)
16 Direction dir = Direction (sign (p->rank_i () - rank_i ()));
20 warning ("Must set minimum distance between differing columns. [PROGRAMMING ERROR]");
24 for (int i=0; i < minimal_dists_arr_drul_[dir].size (); i++)
26 Column_rod &rod = minimal_dists_arr_drul_[dir][i];
27 if (rod.other_l_ == p)
29 rod.distance_f_ = rod.distance_f_ >? d;
38 minimal_dists_arr_drul_[dir].push (cr);
42 Paper_column::rank_i() const
48 Paper_column::set_rank (int i)
54 Paper_column::do_print() const
57 DOUT << "rank: " << rank_i_ << '\n';
58 for (int i=0; i < minimal_dists_arr_drul_[LEFT].size (); i++)
60 minimal_dists_arr_drul_[LEFT][i].print ();
63 for (int i=0; i < minimal_dists_arr_drul_[RIGHT].size (); i++)
65 minimal_dists_arr_drul_[RIGHT][i].print ();
72 Paper_column::breakpoint_b() const
77 Paper_column::Paper_column()
79 set_axes (X_AXIS, X_AXIS);
86 Paper_column::line_l() const
95 Paper_column::column_l () const
97 return (Paper_column*)(this);
102 Paper_column::preprocess ()
104 minimal_dists_arr_drul_[LEFT].sort (Column_rod::compare);
105 minimal_dists_arr_drul_[RIGHT].sort (Column_rod::compare);