+ SCM ideal = me->get_object ("ideal-distances");
+ ideal = scm_cons (spring.smobbed_copy (), ideal);
+ me->set_object ("ideal-distances", ideal);
+}
+
+void
+Spaceable_grob::get_spring (Grob *me, Grob *other, Real *dist, Real *inv_strength)
+{
+ for (SCM s = me->get_object ("ideal-distances");
+ scm_is_pair (s); s = scm_cdr (s))
+ {
+ Spring_smob *spring = unsmob_spring (scm_car (s));
+ if (spring && spring->other_ == other)
+ {
+ *dist = spring->distance_;
+ *inv_strength = spring->inverse_strength_;
+ }
+ }