Exemplo n.º 1
0
        /// <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はレイヤーを反転しない
            }
        }
Exemplo n.º 2
0
        /// <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");
        }
Exemplo n.º 3
0
 /// <summary>
 /// 部品面、または面依存性のないレイヤーかどうかを調べる
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public static bool IsComponentSide(LayerValue value)
 {
     return(((ulong)value & 0x0000000000000AAAL) == 0);
 }
Exemplo n.º 4
0
 public int CompareLayer(Node other)
 {
     return(LayerValue.CompareTo(other.LayerValue));
 }