Esempio n. 1
0
        public void AddLineRoadDesign(string input)
        {
            string Lrmodelid          = new IndexNums().createIndexNum("LRD");
            LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(Lrmodelid, true);

            LineRoadDesign.LineRoadDesginLst.Add(tmplr);
        }
Esempio n. 2
0
        public static bool UpdateLineRoadDesignStruc(LineRoadDesignClass updateLineRoadDesignStruc)
        {
            if (null == updateLineRoadDesignStruc)
            {
                return(false);
            }
            if (string.IsNullOrEmpty(updateLineRoadDesignStruc.LineRoadId))
            {
                return(false);
            }
            string tmpid = updateLineRoadDesignStruc.LineRoadId.Trim().ToLower();

            if (lineRoadDesginLst.Count > 0)
            {
                for (int i = 0; i < lineRoadDesginLst.Count; i++)
                {
                    string lrtmpid = lineRoadDesginLst[i].LineRoadId.Trim().ToLower();
                    if (tmpid == lrtmpid)
                    {
                        lineRoadDesginLst[i] = updateLineRoadDesignStruc;
                        return(true);
                    }
                }
            }
            return(false);
        }
Esempio n. 3
0
        private void AddLineRoadDesign()
        {
            string Lrmodelid          = new IndexNums().createIndexNum(IDPreManage.LineRoadPreStr /**LRD**/);
            LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(Lrmodelid);

            LineRoadDesign.LineRoadDesginLst.Add(tmplr);
        }
Esempio n. 4
0
 public LineRoadSurface(LineRoadDrawingModel lineRoadDrawingModel)
 {
     _lineRoadDrawingModel = lineRoadDrawingModel;
     _jdCount       = FrameDesign.JdStrLst.Count();
     _ptStart       = _lineRoadDrawingModel.PtStart;
     _lineRoadModel = lineRoadDrawingModel.LineRoadStruc;
     _jdLst         = lineRoadDrawingModel.LineRoadJdLst; //2560-2590 2660-2690
     _lineroadwidth = lineRoadDrawingModel.LineRoadStruc.LineRoadWidth;
 }
Esempio n. 5
0
        private void EditModelInitFrame()
        {
            LineRoadDesignClass lrDesign = LineRoadDesign.GetLineRoadDesignStrucById(currLineRoadId);

            if (null == lrDesign)
            {
                return;
            }
            this.Text = "修改线道信息";
            ComboDicOper.CreateBindSource(new LineRoadStyleDic(), lrDesign.LineRoadStyle.ToString(), this.cb_LineRoadStyle);
            ComboDicOper.CreateBindSource(new CeWangStyleDic(), CeWangStyleEnum.None.ToString(), this.cb_CeWangStyle);
            //1,测网设计;
            if (lrDesign.Cewang.ifAdd)
            {
                LineRoadCeWang tmpcewang = lrDesign.Cewang;
                this.rb_CeWangYes.Checked  = true;
                this.chb_cWHeng.Checked    = tmpcewang.ifHeng;
                this.chb_cwZong.Checked    = tmpcewang.ifZong;
                this.tb_CeWangFixLen.Text  = tmpcewang.cewangfixlen.ToString();
                this.tb_CeWangSepNum.Text  = tmpcewang.cewangsepnum.ToString();
                this.tb_CWDuiShuMin.Text   = tmpcewang.duishuminvalue.ToString();
                this.tb_CWDuiShuParam.Text = tmpcewang.duishuParam.ToString();
                ComboDicOper.CreateBindSource(new CeWangStyleDic(), tmpcewang.cewangstyle.ToString(), this.cb_CeWangStyle);
            }
            else
            {
                this.rb_CeWangNo.Checked = true;
            }

            //2,线道样式
            this.tb_LineGroupWidth.Text      = lrDesign.LineRoadWidth.ToString();
            this.tb_LineRoadName.Text        = lrDesign.LineRoadName.ToString();
            this.chb_ifLeftSecondKD.Checked  = lrDesign.IfLeftSecondKD;
            this.chb_ifRightSecondKD.Checked = lrDesign.IfRightSecondKD;
            this.chb_ifZhengMiLine.Checked   = lrDesign.IfzhengMiLine;
            this.tb_titleStartHeight.Text    = lrDesign.LineroadTitleHeight.ToString();


            //3,线道头左侧线

            this.chk_IfDrawTitleLeft.Checked = lrDesign.TitleLeftFrameLineChecked;
            ComboDicOper.CreateBindSource(new LineLeftKindDic(), lrDesign.LeftLineStyle.ToString(), this.cb_leftline);


            this.tb_leftlineLength.Text = lrDesign.LeftLineLength.ToString();

            //4,线道所包含的绘图项
            List <DrawItemName> noSelectDINameLst = GetNoSelectedDINames();

            FillDrawItemListBox(noSelectDINameLst, this.lb_WaitSelect);

            List <DrawItemName> lrDIS = lrDesign.Drawingitems;

            FillDrawItemListBox(lrDIS, this.lb_selected);
        }
Esempio n. 6
0
        private void EditLineRoadDesign()
        {
            LineRoadDesignClass lrDesign = LineRoadDesign.GetLineRoadDesignStrucById(currLineRoadId);

            if (null == lrDesign)
            {
                return;
            }
            LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(currLineRoadId);

            LineRoadDesign.UpdateLineRoadDesignStruc(tmplr);
        }
Esempio n. 7
0
        public static List <DrawItemName> GetAllSelectedDrawItemName()
        {
            List <DrawItemName> selectedDINameLst = new List <DrawItemName>();

            for (int i = 0; i < LineRoadDesign.LineRoadDesginLst.Count; i++)
            {
                LineRoadDesignClass tmp = LineRoadDesign.LineRoadDesginLst[i];
                if (null != tmp && null != tmp.Drawingitems && tmp.Drawingitems.Count > 0)
                {
                    selectedDINameLst.AddRange(tmp.Drawingitems);
                }
            }
            return(selectedDINameLst);
        }
Esempio n. 8
0
        public static List <LineRoadDesignClass> ConvertLRModelLstToLineRoadDesignLst(List <LineRoadModel> lrModelLst)
        {
            List <LineRoadDesignClass> lrstruclst = new List <LineRoadDesignClass>();

            if (null != lrModelLst && lrModelLst.Count() > 0)
            {
                for (int i = 0; i < lrModelLst.Count(); i++)
                {
                    LineRoadDesignClass tmpLineRoadDesignStruc = new LineRoadDesignClass(lrModelLst[i]);
                    lrstruclst.Add(tmpLineRoadDesignStruc);
                }
            }
            return(lrstruclst);
        }
Esempio n. 9
0
        private void SetLineRoadDesign()
        {
            List <LineRoadDesignClass> tmp = new List <LineRoadDesignClass>();

            for (int i = 0; i < this.mf.lb_LineRoadDesign.Items.Count; i++)
            {
                // List<lineroad>
                string tmpLrId = this.mf.GetLineRoadIdByDesignStr(this.mf.lb_LineRoadDesign.Items[i].ToString());

                LineRoadDesignClass tmpstruc = LineRoadDesign.GetLineRoadDesignStrucById(tmpLrId);
                tmp.Add(tmpstruc);
            }
            LineRoadDesign.LineRoadDesginLst = tmp;
        }
Esempio n. 10
0
        public static LineRoadDrawingModel BuildLineRoadDrawingModel(LineRoadDesignClass lineRoadModel, LineRoadControlData lineRoadControlData)
        {
            LineRoadDrawingModel lineRoadDrawingModel = new LineRoadDrawingModel();

            lineRoadDrawingModel.LineRoadStruc = lineRoadModel;
            lineRoadDrawingModel.LineRoadJdLst = lineRoadControlData.LineRoadJDStructLst;
            if (lineRoadControlData.LineRoadJDStructLst.Count() > 0)
            {
                if (null != lineRoadControlData.LineRoadJDStructLst && lineRoadControlData.LineRoadJDStructLst.Count() > 0)
                {
                    lineRoadDrawingModel.PtStart = lineRoadControlData.LineRoadJDStructLst[0].JDPtStart;
                }
            }
            return(lineRoadDrawingModel);
        }
Esempio n. 11
0
        private List <DrawItemName> GetNoSelectedDINames()
        {
            List <DrawItemName> noSelectDINameLst = new List <DrawItemName>();
            List <DrawItemName> selectedDINameLst = new List <DrawItemName>();

            for (int i = 0; i < LineRoadDesign.LineRoadDesginLst.Count; i++)
            {
                LineRoadDesignClass tmp = LineRoadDesign.LineRoadDesginLst[i];
                if (null != tmp && null != tmp.Drawingitems && tmp.Drawingitems.Count > 0)
                {
                    selectedDINameLst.AddRange(tmp.Drawingitems);
                }
            }
            noSelectDINameLst = DrawItemNamesManage.GetNoSelectedDrawItemNamesList(selectedDINameLst);
            return(noSelectDINameLst);
        }
Esempio n. 12
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
        }
Esempio n. 13
0
        public override List <ulong> BuildLineRoadArea()
        {
            //1,从黑板取出线道的设计数据;
            List <LineRoadDesignClass> lineRoadModelLst    = LineRoadDesign.LineRoadDesginLst;
            List <LineRoadControlData> lineRoadControlData = FrameControlData.LineRoadControlLst; //2560-2590 2660-2690

            //2,绘制线道区
            if (lineRoadModelLst.Count() != lineRoadControlData.Count())
            {
                return(null);
            }
            for (int i = 0; i < lineRoadModelLst.Count(); i++)
            {
                LineRoadDesignClass   tmplineRoadModel       = lineRoadModelLst[i];
                LineRoadControlData   tmpLineRoadControlData = lineRoadControlData[i];                     //2560-2590 2660-2690
                LineRoadBuilder       lineRoadBuilder        = LineRoadFactory.CreateLineRoadInstance(tmplineRoadModel.LineRoadStyle, LineRoadOper.BuildLineRoadDrawingModel(tmplineRoadModel, tmpLineRoadControlData));
                LineRoadBuildDirector lineRoadDirector       = new LineRoadBuildDirector(lineRoadBuilder); //
                lineRoadDirector.BuildLineRoad();
            }
            return(new List <ulong>());
        }
Esempio n. 14
0
        public void AddDIOutFrame()
        {
            double xstart = _ptStart.XValue;
            double ystart = _ptStart.YValue;
            LineRoadDesignClass lineRoadModel = _lineRoadDrawingModel.LineRoadStruc;  //lineroaddrawingmodel.lineroadjdStruct -> 2560-2590,2660-2690

            if (lineRoadModel.LeftLineStyle == LineLeftKind.arrowline)
            {
                Arrow.VerSolidArrowLine(_ptStart, lineRoadModel.LeftLineLength, FrameDesign.PictureFrameLineWidth, DrawCommonData.DirectionDown, Color.Black.ToArgb(), arrowWidth, arrowheight);
            }

            for (int i = 0; i < _jdCount; i++) //lineroaddrawingmodel.lineroadjdStruct -> 2560-2590,2660-2690
            {
                LJJSPoint ptstart = new LJJSPoint(xstart, ystart);
                if (lineRoadModel.LeftLineStyle == LineLeftKind.enline)//绘制左侧线
                {
                    Line.BuildVerLine(ptstart, _jdLst[i].JDHeight, FrameDesign.PictureFrameLineWidth, Color.Black.ToArgb(), DrawCommonData.SolidLineTypeName, "", DrawCommonData.DirectionDown);
                }

                ystart = ystart - _jdLst[i].JDHeight - FrameDesign.JdSpace;
            }
        }
Esempio n. 15
0
 public static void DeleteLRDesignStrucByID(string id)
 {
     LineRoadDesignClass tmp = GetLineRoadDesignStrucById(id);
     bool rel = LineRoadDesginLst.Remove(tmp);
 }
Esempio n. 16
0
        private LineRoadDesignClass CreateLRDesignStrucByFrm(string Lrmodelid)
        {
            LineRoadModel tmplrmodel = new LineRoadModel();

            tmplrmodel.LineRoadDesignDetailID = Lrmodelid;
            //1,测网设计;
            if (this.rb_CeWangYes.Checked)//绘制测网;
            {
                tmplrmodel.ifAddCeWang  = true;
                tmplrmodel.IfCeWangHeng = this.chb_cWHeng.Checked;
                tmplrmodel.IfCeWangZong = this.chb_cwZong.Checked;
                if (null != this.cb_CeWangStyle.SelectedValue)
                {
                    tmplrmodel.cewangstyle = this.cb_CeWangStyle.SelectedValue.ToString();
                }
                tmplrmodel.cewangfixlen   = this.tb_CeWangFixLen.Text.Trim();
                tmplrmodel.cewangsepnum   = this.tb_CeWangSepNum.Text.Trim();
                tmplrmodel.duishuminvalue = this.tb_CWDuiShuMin.Text.Trim();
                tmplrmodel.duishuParam    = this.tb_CWDuiShuParam.Text.Trim();
            }
            else
            {
                tmplrmodel.ifAddCeWang = false;
            }
            //2,线道样式
            tmplrmodel.IfLeftSecondKD      = this.chb_ifLeftSecondKD.Checked;
            tmplrmodel.IfRightSecondKD     = this.chb_ifRightSecondKD.Checked;
            tmplrmodel.IfzhengMiLine       = this.chb_ifZhengMiLine.Checked;
            tmplrmodel.LineRoadWidth       = this.tb_LineGroupWidth.Text.Trim();
            tmplrmodel.LineRoadName        = this.tb_LineRoadName.Text.Trim();
            tmplrmodel.LineroadTitleHeight = this.tb_titleStartHeight.Text.Trim();
            if (null != this.cb_LineRoadStyle.SelectedValue)
            {
                tmplrmodel.LineRoadStyle = this.cb_LineRoadStyle.SelectedValue.ToString();
            }

            //3,线道头左侧线
            tmplrmodel.TitleLeftFrameLineChecked = this.chk_IfDrawTitleLeft.Checked;
            if (null != this.cb_leftline.SelectedValue)
            {
                tmplrmodel.LeftLineStyle = this.cb_leftline.SelectedValue.ToString().Trim();
            }
            tmplrmodel.LeftLineLength = this.tb_leftlineLength.Text;

            //4,线道所包含的绘图项
            for (int i = 0; i < this.lb_selected.Items.Count; i++)
            {
                string tmpItem = this.lb_selected.Items[i].ToString();


                string[] tmpItemArr = tmpItem.Split(';');
                if (tmpItemArr.Length == 3)
                {
                    string        id    = tmpItemArr[0];
                    string        style = tmpItemArr[1];
                    string        name  = tmpItemArr[2];
                    DrawItemStyle dis   = EnumUtil.GetEnumByStr(style, DrawItemStyle.NoneItem);
                    if (dis.Equals(DrawItemStyle.LineItem))
                    {
                        tmplrmodel.CurveItemCollections = tmplrmodel.CurveItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.TextItem))
                    {
                        tmplrmodel.TextItemCollections = tmplrmodel.TextItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.HCGZItem))
                    {
                        tmplrmodel.HcgzItemCollections = tmplrmodel.HcgzItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.SymbolItem))
                    {
                        tmplrmodel.SymbolItemCollections = tmplrmodel.SymbolItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.ImageItem))
                    {
                        tmplrmodel.ImageItemCollections = tmplrmodel.ImageItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.MultiHatchCurveItem))
                    {
                        tmplrmodel.MultiHatchCurveItemCollections = tmplrmodel.MultiHatchCurveItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.HatchRectItem))
                    {
                        tmplrmodel.HatchRectItemCollections = tmplrmodel.HatchRectItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.NormalPuTuItem))
                    {
                        tmplrmodel.NormalPuTuItemCollections = tmplrmodel.NormalPuTuItemCollections + id + ";";
                    }
                    else if (dis.Equals(DrawItemStyle.CurveHasHatchItem))
                    {
                        tmplrmodel.CurveHasHatchItemCollections = tmplrmodel.CurveHasHatchItemCollections + id + ";";
                    }
                }
            }
            LineRoadDesignClass tmplr = new LineRoadDesignClass(tmplrmodel);

            return(tmplr);
        }