-static Array<Extra_collision_info> get_extra_encompass_infos (Slur_score_state const &state);
-static void score_extra_encompass (Slur_score_state const&);
-static void score_slopes (Slur_score_state const&);
-static void score_edges (Slur_score_state const&);
-static void score_encompass (Slur_score_state const&);
-static Bezier avoid_staff_line (Slur_score_state const&,
- Bezier bez);
-static Encompass_info get_encompass_info (Slur_score_state const&, Grob *col);
-static Bezier get_bezier (Slur_score_state const&,
- Drul_array<Offset>,
- Real r_0, Real h_inf);
-static Direction get_default_dir (Grob *me);
-
-static void set_end_points (Grob *);
-static Real broken_trend_y (Slur_score_state const&, Direction dir);
-static Drul_array<Bound_info> get_bound_info (Slur_score_state const&);
-
-static void generate_curves (Slur_score_state const&);
-static Array<Slur_score> *enumerate_attachments (Slur_score_state const&,
- Drul_array<Real> end_ys);
-static Drul_array<Offset> get_base_attachments(Slur_score_state const&);
-static Drul_array<Real> get_y_attachment_range(Slur_score_state const&);
-
-
-Real
-get_detail (SCM alist, SCM sym)
-{
- SCM entry = scm_assq (sym, alist);
- return robust_scm2double (scm_is_pair (entry)
- ? ly_cdr (entry)
- : SCM_EOL,
- 0.0);
-}
-
-void
-init_score_param (Grob *me,
- Slur_score_parameters *score_param)
-{
- SCM details = me->get_property ("slur-details");
-
- score_param->region_size_
- = (int) get_detail (details, ly_symbol2scm ("region-size"));
- score_param->head_encompass_penalty_
- = get_detail (details, ly_symbol2scm ("head-encompass-penalty"));
- score_param->stem_encompass_penalty_
- = get_detail (details, ly_symbol2scm ("stem-encompass-penalty"));
- score_param->closeness_factor_
- = get_detail (details, ly_symbol2scm ("closeness-factor"));
- score_param->edge_attraction_factor_
- = get_detail (details, ly_symbol2scm ("edge-attraction-factor"));
- score_param->same_slope_penalty_
- = get_detail (details, ly_symbol2scm ("same-slope-penalty"));
- score_param->steeper_slope_factor_
- = get_detail (details, ly_symbol2scm ("steeper-slope-factor"));
- score_param->non_horizontal_penalty_
- = get_detail (details, ly_symbol2scm ("non-horizontal-penalty"));
- score_param->max_slope_
- = get_detail (details, ly_symbol2scm ("max-slope"));
- score_param->max_slope_factor_
- = get_detail (details, ly_symbol2scm ("max-slope-factor"));
- score_param->free_head_distance_
- = get_detail (details, ly_symbol2scm ("free-head-distance"));
- score_param->extra_object_collision_
- = get_detail (details, ly_symbol2scm ("extra-object-collision"));
- score_param->accidental_collision_
- = get_detail (details, ly_symbol2scm ("accidental-collision"));
- score_param->extra_encompass_free_distance_
- = get_detail (details, ly_symbol2scm ("extra-encompass-free-distance"));
- score_param->head_slur_distance_factor_
- = get_detail (details, ly_symbol2scm ("head-slur-distance-factor"));
- score_param->head_slur_distance_max_ratio_
- = get_detail (details, ly_symbol2scm ("head-slur-distance-max-ratio"));
- score_param->free_slur_distance_
- = get_detail (details, ly_symbol2scm ("free-slur-distance"));
- score_param->edge_slope_exponent_
- = get_detail (details, ly_symbol2scm ("edge-slope-exponent"));
-}
-
-