/* * Copyright (C) 2014 Alfons Wirtz * website www.freerouting.net * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License at <http://www.gnu.org/licenses/> * for more details. * * DefaultItemClearancesClasses.java * * Created on 12. Juni 2005, 07:19 * */ package rules; /** * * @author Alfons Wirtz */ public class DefaultItemClearanceClasses implements java.io.Serializable { /** Creates a new instance of DefaultItemClearancesClasses */ public DefaultItemClearanceClasses() { for (int i = 1; i < ItemClass.values().length; ++i) { arr[i] = 1; } } public DefaultItemClearanceClasses(DefaultItemClearanceClasses p_classes) { for (int i = 1; i < ItemClass.values().length; ++i) { arr[i] = p_classes.arr[i]; } } /** * Used in the function get_default_clearance_class to get the * default claearance classes for item classes. */ public enum ItemClass { NONE, TRACE, VIA, PIN, SMD, AREA } /** * Returns the number of the default clearance class for the input item class. */ public int get(ItemClass p_item_class) { return this.arr[p_item_class.ordinal()]; } /** * Sets the index of the default clearance class of the input item class * in the clearance matrix to p_index. */ public void set(ItemClass p_item_class, int p_index) { this.arr[p_item_class.ordinal()] = p_index; } /** * Sets the indices of all default item clearance classes to p_index. */ public void set_all(int p_index) { for (int i = 1; i < this.arr.length; ++i) { arr[i] = p_index; } } private final int[] arr = new int[ItemClass.values().length]; }