+ Grob *y_refpoint_;
+
+
+ Tie_configuration *get_configuration (int position, Direction dir, Drul_array<int> cols, bool tune_y) const;
+ Tie_configuration *generate_configuration (int position, Direction dir, Drul_array<int> cols, bool tune_y) const;
+
+ vector<Tie_configuration_variation> generate_collision_variations (Ties_configuration const &ties) const;
+ vector<Tie_configuration_variation> generate_extremal_tie_variations (Ties_configuration const &ties) const;
+ vector<Tie_configuration_variation> generate_single_tie_variations (Ties_configuration const &ties) const;
+
+ void score_configuration (Tie_configuration *) const;
+ Real score_aptitude (Tie_configuration *, Tie_specification const &,
+ Ties_configuration *, int) const;
+ void score_ties_aptitude (Ties_configuration *ties) const;
+ void score_ties_configuration (Ties_configuration *ties) const;
+ void set_ties_config_standard_directions (Ties_configuration *tie_configs_ptr);
+ void score_ties (Ties_configuration *) const;
+
+ Slice head_positions_slice (int) const;
+ Ties_configuration generate_base_chord_configuration ();
+ Ties_configuration find_best_variation (Ties_configuration const &base,
+ vector<Tie_configuration_variation> const &vars);
+
+public:
+ Tie_details details_;
+ void print_ties_configuration (Ties_configuration const *);
+
+ Interval get_stem_extent (int, Direction, Axis) const;
+ Interval get_head_extent (int, Direction, Axis) const;
+