#include "line-spacer.hh"
#include "cons.hh"
#include "col-info.hh"
-#include "colhpos.hh"
+#include "column-x-positions.hh"
#include "moment.hh"
class Spring_spacer : public Line_spacer {
friend class Durations_iter;
private:
- Spring_spacer (Spring_spacer const&){}
+ // can't copy me.
+ Spring_spacer (Spring_spacer const&s);
Cons<Idealspacing> *ideal_p_list_;
Array<Column_info> cols_;
- Array<Column_info> loose_col_arr_;
-
+ Real indent_f_;
- /// mark column #i# as being loose.
- void loosen_column (int i);
/// the index of #c# in #cols#
int col_id (Paper_column const *c) const;
void handle_loose_cols();
- void position_loose_cols (Vector &) const;
bool try_initial_solution_and_tell (Vector&)const;
Vector try_initial_solution() const;
Score_column* scol_l (int);
void connect (int i,int j, Real,Real);
- Line_of_cols error_pcol_l_arr() const;
Real calculate_energy_f (Vector) const;
public:
static Line_spacer *constructor();
virtual ~Spring_spacer ();
virtual void solve (Column_x_positions*) const;
virtual void lower_bound_solution (Column_x_positions*) const;
- virtual void add_column (Paper_column *, bool fixed=false, Real fixpos=0.0);
+ virtual void add_columns (Link_array<Paper_column>);
+ void add_column (Paper_column *, bool, Real);
virtual Vector default_solution() const;
virtual bool check_constraints (Vector v) const;