/// <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); } }
/// <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); } }