]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.52
authorfred <fred>
Sun, 24 Mar 2002 19:56:49 +0000 (19:56 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:56:49 +0000 (19:56 +0000)
lily/p-col.cc

index 06fae0d37fb468d15f2e512400f58f651a62f024..898c7357ab7826525be8b7bab1d7886c03ef9dea 100644 (file)
 #include "p-score.hh"
 #include "debug.hh"
 
+void
+Paper_column::add_rod (Paper_column * p, Real d, Direction dir)
+{
+  assert( sign (p->rank_i ()  - rank_i ()) == dir);
+  for (int i=0; i < minimal_dists_arr_drul_[dir].size (); i++)
+    {
+      Column_rod &rod = minimal_dists_arr_drul_[dir][i];
+      if (rod.other_l_ == p)
+       {
+         rod.distance_f_ = rod.distance_f_ >? d;
+         return ;
+       }
+    }
+
+  Column_rod cr;
+  cr.distance_f_ = d;
+  cr.other_l_ = p;
+  cr.dir_ = dir;
+
+  minimal_dists_arr_drul_[dir].push (cr);
+      
+}
 
 int
 Paper_column::rank_i() const
@@ -44,10 +66,15 @@ Paper_column::do_print() const
     } 
   if (break_status_i_)
     {
-      DOUT <<'\n' << ((break_status_i_ == -1)? "prebreak" : "postbreak");
+      DOUT <<'\n' << ((break_status_i_ == LEFT) ? "prebreak" : "postbreak");
       DOUT << '\n';
     }
   // DOUT << "extent: " << width().str () << "\n";
+
+  for (int i=0; i < minimal_dists_arr_drul_[RIGHT].size (); i++)
+    {
+      minimal_dists_arr_drul_[RIGHT][i].print ();
+    }
 #endif 
 }
 
@@ -96,3 +123,16 @@ Paper_column::used_b() const
 
 IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);
 
+Paper_column*
+Paper_column::column_l () const
+{
+  return (Paper_column*)this;
+}
+
+
+void
+Paper_column::preprocess ()
+{
+  minimal_dists_arr_drul_[LEFT].sort (Column_rod::compare);
+  minimal_dists_arr_drul_[RIGHT].sort (Column_rod::compare);  
+}