/// <summary> /// レイヤー値を面反転する /// </summary> /// <param name="value"></param> /// <returns></returns> public static LayerValue Flip(LayerValue value) { switch (value) { case LayerValue.PLC: return(LayerValue.PLS); case LayerValue.PLS: return(LayerValue.PLC); case LayerValue.STC: return(LayerValue.STS); case LayerValue.STS: return(LayerValue.STC); case LayerValue.CMP: return(LayerValue.SOL); case LayerValue.SOL: return(LayerValue.CMP); case LayerValue.L2: return(LayerValue.L3); case LayerValue.L3: return(LayerValue.L2); case LayerValue.MMC: return(LayerValue.MMS); case LayerValue.MMS: return(LayerValue.MMC); default: return(value); //DIM,DOC,PTH,DRLはレイヤーを反転しない } }
/// <summary> /// LayerValue値に対応するレイヤー名を得る /// </summary> /// <param name="layer"></param> /// <returns></returns> public static string GetLayerName(LayerValue layer) { int count = valueTable.Length; for (int i = 0; i < count; i++) { if (valueTable[i] == layer) { return(nameTable[i]); } } return("DOC"); }
/// <summary> /// 部品面、または面依存性のないレイヤーかどうかを調べる /// </summary> /// <param name="value"></param> /// <returns></returns> public static bool IsComponentSide(LayerValue value) { return(((ulong)value & 0x0000000000000AAAL) == 0); }
public int CompareLayer(Node other) { return(LayerValue.CompareTo(other.LayerValue)); }