*/
#include "gourlay-breaking.hh"
-#include "colhpos.hh"
+#include "column-x-positions.hh"
#include "spring-spacer.hh"
#include "debug.hh"
#include "paper-column.hh"
*/
int prev_break_i_;
+ /**
+ Which system number so far?
+ */
int line_i_;
+
Real energy_f_;
Column_x_positions line_config_;
+
Break_node ()
{
prev_break_i_ = -1;
/**
This algorithms is adapted from the OSU Tech report on breaking lines.
-
*/
-
Array<Column_x_positions>
Gourlay_breaking::do_solve () const
{
optimal_paths[0] = first_node;
int break_idx=1;
-
for (; break_idx< breaks.size (); break_idx++)
{
Array<int> candidates;
if (optimal_paths[start_idx].prev_break_i_ < 0
&& optimal_paths[start_idx].line_config_.energy_f_)
-
continue;
-
+
+
+
Line_of_cols line = all.slice (breaks[start_idx], breaks[break_idx]+1);
line[0] = dynamic_cast<Paper_column*>(line[0]->find_prebroken_piece (RIGHT));
Gourlay_breaking::Gourlay_breaking ()
{
- get_line_spacer = Spring_spacer::constructor;
energy_bound_f_ = infinity_f;
max_measures_i_ = INT_MAX;
}