+
+LY_DEFINE (ly_grob_get_vertical_axis_group_index, "ly:grob-get-vertical-axis-group-index",
+ 1, 0, 0, (SCM grob),
+ "Get the index of the vertical axis group the grob @var{grob} belongs to;"
+ " return @code{-1} if none is found.")
+{
+ Grob *gr = unsmob<Grob> (grob);
+
+ LY_ASSERT_SMOB (Grob, grob, 1);
+
+ return scm_from_int (Grob::get_vertical_axis_group_index (gr));
+}
+
+LY_DEFINE (ly_grob_spanned_rank_interval, "ly:grob-spanned-rank-interval",
+ 1, 0, 0, (SCM grob),
+ "Returns a pair with the @code{rank} of the furthest left"
+ " column and the @code{rank} of the furthest right column"
+ " spanned by @code{grob}.")
+{
+ Grob *gr = unsmob<Grob> (grob);
+
+ LY_ASSERT_SMOB (Grob, grob, 1);
+
+ Interval_t<int> iv = gr->spanned_rank_interval ();
+
+ return scm_cons (scm_from_int(iv[LEFT]), scm_from_int(iv[RIGHT]));
+}