return 0;
}
-// If the grob array is unordered, we assume that duplicates should
-// be removed. This makes sense for things like side-position-elements,
-// which may be added recursively numerous times and thus will eat up
-// computation time when skylines are calculated.
-// If the array is ordered, then we don't remove duplicates.
-
void
Pointer_group_interface::add_grob (Grob *me, SCM sym, Grob *p)
{
Grob_array *arr = get_grob_array (me, sym);
arr->add (p);
- if (!arr->ordered ())
- arr->remove_duplicates ();
}
void
Grob_array *arr = get_grob_array (me, sym);
arr->add (p);
arr->set_ordered (false);
- arr->remove_duplicates ();
}
static vector<Grob *> empty_array;
use it as a support for the current grob
*/
if (!scm_is_number (last_outside_staff))
- Side_position_interface::recursive_add_support (g, last);
+ Side_position_interface::add_support (g, last);
/*
if outside_staff_priority is missing or is equal to original
outside_staff_priority of previous grob, set new
Pointer_group_interface::add_unordered_grob (me, ly_symbol2scm ("side-support-elements"), e);
}
-void
-Side_position_interface::recursive_add_support (Grob *me, Grob *e)
-{
- Pointer_group_interface::add_unordered_grob (me, ly_symbol2scm ("side-support-elements"), e);
- extract_grob_set (e, "side-support-elements", sse);
- for (vsize i = 0; i < sse.size (); i++)
- recursive_add_support (me, sse[i]);
-}
-
set<Grob *>
get_support_set (Grob *me)
{