public void AddLineRoadDesign(string input) { string Lrmodelid = new IndexNums().createIndexNum("LRD"); LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(Lrmodelid, true); LineRoadDesign.LineRoadDesginLst.Add(tmplr); }
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); }
private void AddLineRoadDesign() { string Lrmodelid = new IndexNums().createIndexNum(IDPreManage.LineRoadPreStr /**LRD**/); LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(Lrmodelid); LineRoadDesign.LineRoadDesginLst.Add(tmplr); }
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; }
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); }
private void EditLineRoadDesign() { LineRoadDesignClass lrDesign = LineRoadDesign.GetLineRoadDesignStrucById(currLineRoadId); if (null == lrDesign) { return; } LineRoadDesignClass tmplr = CreateLRDesignStrucByFrm(currLineRoadId); LineRoadDesign.UpdateLineRoadDesignStruc(tmplr); }
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); }
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); }
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; }
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); }
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); }
/// <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 }
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>()); }
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; } }
public static void DeleteLRDesignStrucByID(string id) { LineRoadDesignClass tmp = GetLineRoadDesignStrucById(id); bool rel = LineRoadDesginLst.Remove(tmp); }
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); }