Exemple #1
0
        /// <summary>
        /// 添加平曲线交点信息
        /// </summary>
        /// <param name="K">交点里程</param>
        /// <param name="X">交点X坐标</param>
        /// <param name="Y">交点Y坐标</param>
        /// <param name="A">方位角(弧度制)</param>
        /// <param name="alpha">转向角(弧度制),左偏为负,右偏为正</param>
        /// <param name="R">曲线半径</param>
        /// <param name="Ls">缓和曲线长度</param>
        public void AddJD(double K, double X, double Y, double A, double alpha, double Ls, double R)
        {
            HCurve_JD hc = new HCurve_JD(K, X, Y, A, alpha, Ls, R);

            JDs.Add(hc);
            JDs.ToLE(out Horizontal_LE LE);
            LEs.curves.Clear();
            foreach (var hcle in LE.curves)
            {
                HCurve_LE le1 = new HCurve_LE(hcle.type, hcle.K0, hcle.azimuth, hcle.x0, hcle.y0, hcle.R, hcle.L);
                LEs.Add(le1);
            }
        }
Exemple #2
0
        /// <summary>
        /// 添加平曲线交点信息
        /// </summary>
        /// <param name="K">交点里程</param>
        /// <param name="X">交点X坐标</param>
        /// <param name="Y">交点Y坐标</param>
        /// <param name="A">方位角(弧度制)</param>
        /// <param name="alpha">转向角(弧度制),左偏为负,右偏为正</param>
        /// <param name="R">曲线半径</param>
        /// <param name="Ls">缓和曲线长度</param>
        public void AddH_JD(double K, double X, double Y, double A, double alpha, double Ls, double R)
        {
            HCurve_JD hc = new HCurve_JD(K, X, Y, A, alpha, Ls, R);

            HorizontalJD.Add(hc);
            HorizontalJD.ToLE(out Horizontal_LE LE);
            Horizontal.curves.Clear();
            foreach (var hcle in LE.curves)
            {
                HK.AddHa(hcle.K0, hcle.K1, hcle.L);
                double    K0  = HK.GetContinueK(hcle.K0);
                HCurve_LE le1 = new HCurve_LE(hcle.type, K0, hcle.azimuth, hcle.x0, hcle.y0, hcle.R, hcle.L);
                Horizontal.Add(le1);
            }
        }