示例#1
0
        private static double GetCutY(SlopeData slp, SubgradeSection sec, CutMethod method, double value)
        {
            double cutY = 0;

            switch (method)
            {
            case CutMethod.从中心向外:
                if (slp.FillCut)
                {
                    cutY = sec.GetYFromElev(slp.TopElevation - value);
                    break;
                }
                else
                {
                    cutY = sec.GetYFromElev(slp.BottomElevation + value);
                    break;
                }

            case CutMethod.从坡底向上:
                cutY = sec.GetYFromElev(slp.BottomElevation + value);
                break;

            case CutMethod.从坡顶向下:
                cutY = sec.GetYFromElev(slp.TopElevation - value);
                break;

            default:     // 按绝对标高
                cutY = sec.GetYFromElev(value);
                break;
            }
            return(cutY);
        }