All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.elk.alg.common.compaction.Polyomino.melk Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2017 Kiel University and others.
 * 
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *******************************************************************************/
package org.eclipse.elk.alg.common.compaction

bundle {
    label "Options for Polyomino Compaction"
    metadataClass options.PolyominoOptions
    idPrefix org.eclipse.elk
}

group polyomino {

    option traversalStrategy: TraversalStrategy {
        label "Polyomino Traversal Strategy"
        description
            "Traversal strategy for trying different candidate positions for polyominoes."
        default = TraversalStrategy.QUADRANTS_LINE_BY_LINE
        targets parents
    }

    option lowLevelSort: LowLevelSortingCriterion {
        label "Polyomino Secondary Sorting Criterion"
        description
            "Possible secondary sorting criteria for the processing order of polyominoes. 
             They are used when polyominoes are equal according to the primary 
             sorting criterion HighLevelSortingCriterion."
        default = LowLevelSortingCriterion.BY_SIZE_AND_SHAPE
        targets parents
    }

    option highLevelSort: HighLevelSortingCriterion {
        label "Polyomino Primary Sorting Criterion"
        description
            "Possible primary sorting criteria for the processing order of polyominoes."
        default = HighLevelSortingCriterion.NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST
        targets parents
    }

    option fill: boolean {
        label "Fill Polyominoes"
        description
            "Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes
             from being placed inside of big polyominoes with large holes. Might increase packing area."
        default = true
        targets parents
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy