]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/slur-scoring.hh
Run `make grand-replace'.
[lilypond.git] / lily / include / slur-scoring.hh
index 0bb54bf7c08a68b73a9b8c61a875909f69fc2447..9cfa24acec20562c9f3fee5e3b91055aab7abcb9 100644 (file)
@@ -3,41 +3,16 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #ifndef SLUR_SCORING_HH
 #define SLUR_SCORING_HH
 
 #include "box.hh"
-#include "lily-proto.hh"
-#include "parray.hh"
+#include "std-vector.hh"
 #include "lily-guile.hh"
-
-struct Slur_score_parameters
-{
-  int region_size_;
-  Real head_encompass_penalty_;
-  Real stem_encompass_penalty_;
-  Real closeness_factor_;
-  Real edge_attraction_factor_;
-  Real same_slope_penalty_;
-  Real steeper_slope_factor_;
-  Real non_horizontal_penalty_;
-  Real max_slope_;
-  Real max_slope_factor_;
-  Real extra_object_collision_penalty_;
-  Real accidental_collision_;
-  Real free_slur_distance_;
-  Real free_head_distance_;
-  Real extra_encompass_free_distance_;
-  Real absolute_closeness_measure_;
-  Real edge_slope_exponent_;
-  Real head_slur_distance_max_ratio_;
-  Real head_slur_distance_factor_;
-
-  void fill (Grob *him);
-};
+#include "slur-score-parameters.hh"
 
 struct Extra_collision_info
 {
@@ -104,15 +79,15 @@ struct Slur_score_state
   bool has_same_beam_;
 
   Real musical_dy_;
-  Link_array<Grob> columns_;
-  std::vector<Encompass_info> encompass_infos_;
-  std::vector<Extra_collision_info> extra_encompass_infos_;
+  vector<Grob*> columns_;
+  vector<Encompass_info> encompass_infos_;
+  vector<Extra_collision_info> extra_encompass_infos_;
 
   Direction dir_;
   Slur_score_parameters parameters_;
   Drul_array<Bound_info> extremes_;
   Drul_array<Offset> base_attachments_;
-  Link_array<Slur_configuration> configurations_;
+  vector<Slur_configuration*> configurations_;
   Real staff_space_;
   Real thickness_;
 
@@ -122,17 +97,19 @@ struct Slur_score_state
   Bezier get_best_curve ();
   void fill (Grob *);
   void set_next_direction ();
-
-  std::vector<Offset> generate_avoid_offsets () const;
+  
+  vector<Offset> generate_avoid_offsets () const;
   Drul_array<Bound_info> get_bound_info () const;
   void generate_curves () const;
-  Link_array<Slur_configuration> enumerate_attachments (Drul_array<Real> end_ys) const;
+  vector<Slur_configuration*> enumerate_attachments (Drul_array<Real> end_ys) const;
   Drul_array<Offset> get_base_attachments () const;
   Drul_array<Real> get_y_attachment_range () const;
   Encompass_info get_encompass_info (Grob *col) const;
-  std::vector<Extra_collision_info> get_extra_encompass_infos () const;
+  vector<Extra_collision_info> get_extra_encompass_infos () const;
   Real move_away_from_staffline (Real y, Grob *on_staff) const;
   int get_closest_index (SCM inspect_quants) const;
+
+  Grob *breakable_bound_item (Direction) const;  
 };
 
 void set_slur_control_points (Grob *me);