source file of the GNU LilyPond music typesetter
- (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "debug.hh"
algorithm, instead of this homebrew.
*/
void
-Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l)
+Slur_bezier_bow::minimise_enclosed_area (Real beauty,
+ SCM bezier_props)
{
Real length = curve_.control_[3][X_AXIS];
+ Real beautiful = beauty * length * slur_height (length, h_inf_, r_0_);
- Real sb = paper_l->get_var ("slur_beautiful");
- Real beautiful = sb * length * slur_height (length, h_inf_, r_0_);
-
- DEBUG_OUT << to_str ("Beautiful: %f\n", beautiful);
- DEBUG_OUT << to_str ("Length: %f\n", length);
- // DEBUG_OUT << to_str ("D-height: %f\n", default_height);
- DEBUG_OUT << to_str ("FitFac: %f\n", fit_factor ());
if (fit_factor () > 1.0)
blow_fit ();
- Real pct_c0 = paper_l->get_var ("bezier_pct_c0");
- Real pct_c3 = paper_l->get_var ("bezier_pct_c3");
- Real pct_in_max = paper_l->get_var ("bezier_pct_in_max");
- Real pct_out_max = paper_l->get_var ("bezier_pct_out_max");
- Real steps = paper_l->get_var ("bezier_area_steps");
+ Real pct_c0 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c0"), bezier_props)));
+ Real pct_c3 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c3"), bezier_props)));
+ Real pct_in_max = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-in-max"), bezier_props)));
+ Real pct_out_max = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-out-max"), bezier_props)));
+ Real steps = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-area-steps"),bezier_props)));
for (int i=0; i < steps; i++)
{
<? abs ((curve_.control_[3][X_AXIS]
- curve_.control_[2][X_AXIS]) / da[1]));
- DEBUG_OUT << to_str ("pct: %f\n", pct);
- DEBUG_OUT << to_str ("u: %f\n", u);
-
- DEBUG_OUT << to_str ("da: (%f, %f)\n", da[0], da[1]);
- DEBUG_OUT << to_str ("da*u: (%f, %f)\n", da[0]*u*pct, da[1]*u*pct);
- DEBUG_OUT << to_str ("cx: (%f, %f)\n", curve_.control_[1][X_AXIS],
- curve_.control_[2][X_AXIS]);
-
curve_.control_[1][X_AXIS] -= da[0] * u * pct;
curve_.control_[2][X_AXIS] -= da[1] * u * pct;
}
- Real area = enclosed_area_f ();
- DEBUG_OUT << to_str ("Exarea: %f\n", area);
+ // Real area = enclosed_area_f ();
}