+ system->layout_ = layout_;
+ system->unprotect ();
+}
+
+void
+Paper_score::find_break_indices () const
+{
+ cols_ = root_system ()->used_columns ();
+ break_indices_.clear ();
+ break_ranks_.clear ();
+
+ for (vsize i = 0; i < cols_.size (); i++)
+ {
+ Item *it = dynamic_cast<Item*> (cols_[i]);
+ if (Paper_column::is_breakable (cols_[i])
+ && (i == 0 || it->find_prebroken_piece (LEFT))
+ && (i == cols_.size () - 1 || it->find_prebroken_piece (RIGHT)))
+ {
+ break_indices_.push_back (i);
+ break_ranks_.push_back (it->get_column ()->get_rank ());
+ }
+ }
+}
+
+vector<vsize>
+Paper_score::get_break_indices () const
+{
+ if (break_indices_.empty ())
+ find_break_indices ();
+ return break_indices_;
+}