Example #1
0
        public static JDStruc GetJDStruc(LJJSPoint jdPtStart, double lrWidth, string jdStr)
        {
            JDStruc jdStruc = new JDStruc();

            if (!string.IsNullOrEmpty(jdStr) && jdPtStart != null)
            {
                jdStruc.JDPtStart = jdPtStart;
                string[] jdarr = jdStr.Split(DrawCommonData.jdSplitter);
                if (jdarr.Count() > 1)
                {
                    jdStruc.JDtop    = StrUtil.StrToDouble(jdarr[0], "井段起始为空,请检查井段设计", "井段起始为非数值型,请检查井段设计");
                    jdStruc.JDBottom = StrUtil.StrToDouble(jdarr[1], "井段终止为空,请检查井段设计", "井段终止为非数值型,请检查井段设计");
                    jdStruc.JDHeight = JDOper.GetJDDrawingHeight(jdStruc.JDtop, jdStruc.JDBottom, FrameDesign.ValueCoordinate);//井深就是差值乘以比例尺
                }
            }
            return(jdStruc);
        }
Example #2
0
        /// <summary>
        /// 获得线道控制点数据,包括每条线道的井段Lst,线道的宽度等信息。
        /// </summary>
        /// <param name="lineRoadModelLst"></param>
        /// <returns></returns>
        public static List <LineRoadControlData> getLineRoadControlDataLst(List <LineRoadDesignClass> lineRoadModelLst)
        {
            double xLrPtStart = DrawCommonData.xStart;
            double yLrptStart = DrawCommonData.yStart;
            List <LineRoadControlData> lrRoadContorlDataLst = new List <LineRoadControlData>();

            for (int i = 0; i < lineRoadModelLst.Count; i++)
            {
                LJJSPoint           lPtStart         = new LJJSPoint(xLrPtStart, yLrptStart);
                LineRoadDesignClass tmpLrModel       = lineRoadModelLst[i];
                LineRoadControlData tmpLrControlData = new LineRoadControlData();
                tmpLrControlData.LineRoadId          = tmpLrModel.LineRoadId;
                tmpLrControlData.LineRoadWidth       = tmpLrModel.LineRoadWidth;
                tmpLrControlData.LineRoadJDStructLst = JDOper.GetLineRoadJDLst(lPtStart, tmpLrModel.LineRoadWidth);     //获得2560-2590,2660-2690
                lrRoadContorlDataLst.Add(tmpLrControlData);
                xLrPtStart = xLrPtStart + tmpLrModel.LineRoadWidth;
            }
            return(lrRoadContorlDataLst);   //only depth -> 2560-2590 2660-2690
        }