//----------------------------------------------------------------------------// // // // S p l i t S t e p // // // //----------------------------------------------------------------------------// // <editor-fold defaultstate="collapsed" desc="hdr"> // // Copyright © Hervé Bitteur and others 2000-2013. All rights reserved. // // This software is released under the GNU General Public License. // // Goto http://kenai.com/projects/audiveris to report bugs or suggestions. // //----------------------------------------------------------------------------// // </editor-fold> package omr.step; import omr.grid.LagWeaver; import omr.sheet.Sheet; import omr.sheet.SystemInfo; import java.util.Collection; /** * Class {@code SystemsStep} splits entities among retrieved systems * according to precise systems boundaries. * * @author Hervé Bitteur */ public class SystemsStep extends AbstractStep { //~ Constructors ----------------------------------------------------------- //-------------// // SystemsStep // //-------------// /** * Creates a new SystemsStep object. */ public SystemsStep () { super( Steps.SYSTEMS, Level.SHEET_LEVEL, Mandatory.MANDATORY, DATA_TAB, "Split all data per system"); } //~ Methods ---------------------------------------------------------------- //-----------// // displayUI // //-----------// @Override public void displayUI (Sheet sheet) { sheet.getAssembly() .addBoard(Step.DATA_TAB, sheet.getBarsChecker().getCheckBoard()); } //------// // doit // //------// @Override public void doit (Collection<SystemInfo> systems, Sheet sheet) throws StepException { // Purge sections & runs of staff lines from hLag // Cross-connect vertical & remaining horizontal sections // Build glyphs out of connected sections new LagWeaver(sheet).buildInfo(); // Create systems & parts sheet.createSystemsBuilder(); sheet.getSystemsBuilder() .buildSystems(); } }