- {
- Item *g = dynamic_cast<Item*> (items[d][i]);
- if (g)
- if (Item *piece = g->find_prebroken_piece (break_dirs[d]))
- g = piece;
-
- if (g && Separation_item::has_interface (g) && g->get_column () == columns[d])
- {
- SCM sky_scm = g->get_property ("horizontal-skylines");
- Skyline_pair *sky = Skyline_pair::unsmob (sky_scm);
-
- extract_grob_set (g, "elements", elts);
- Grob *ycommon = common_refpoint_of_array (elts, g, Y_AXIS);
- Real shift = ycommon->pure_relative_y_coordinate (system, 0, INT_MAX);
-
- skylines[d].shift (-shift);
-
- if (sky)
- skylines[d].merge ((*sky)[-d]);
- else
- programming_error ("separation item has no skyline");
-
- if (d == RIGHT && items[LEFT].size ())
- skylines[d].merge (Separation_item::conditional_skyline (items[d][i], items[LEFT][0]));
-
- skylines[d].shift (shift);
- }
- }
+ {
+ Item *g = dynamic_cast<Item *> (items[d][i]);
+ if (g)
+ if (Item *piece = g->find_prebroken_piece (break_dirs[d]))
+ g = piece;
+
+ if (has_interface<Separation_item> (g) && g->get_column () == columns[d])
+ {
+ SCM sky_scm = g->get_property ("horizontal-skylines");
+ Skyline_pair *sky = unsmob<Skyline_pair> (sky_scm);
+
+ extract_grob_set (g, "elements", elts);
+ Grob *ycommon = common_refpoint_of_array (elts, g, Y_AXIS);
+ Real shift = ycommon->pure_relative_y_coordinate (system, 0, INT_MAX);
+
+ skylines[d].shift (-shift);
+
+ if (sky)
+ skylines[d].merge ((*sky)[-d]);
+ else
+ programming_error ("separation item has no skyline");
+
+ if (d == RIGHT && items[LEFT].size ())
+ skylines[d].merge (Separation_item::conditional_skyline (items[d][i], items[LEFT][0]));
+
+ skylines[d].shift (shift);
+ }
+ }