- if (d < 0.0 || strength <= 0.0)
- {
- programming_error ("Adding reverse spring! Setting to unit spring");
- d = 1.0;
- strength = 1.0;
- }
-
-#ifndef NDEBUG
- SCM mins = me->get_grob_property ("ideal-distances");
- for (SCM s = mins; gh_pair_p (s); s = ly_cdr (s))
+ SCM ideal = me->get_object ("ideal-distances");
+
+ ideal = scm_cons (scm_cons (sp.smobbed_copy (), other->self_scm ()), ideal);
+ me->set_object ("ideal-distances", ideal);
+}
+
+Spring
+Spaceable_grob::get_spring (Grob *this_col, Grob *next_col)
+{
+ Spring *spring = 0;
+
+ for (SCM s = this_col->get_object ("ideal-distances");
+ !spring && scm_is_pair (s);
+ s = scm_cdr (s))