public FormHipMethod(IHeadsApplication app, CHIPInfo hipinfo) { InitializeComponent(); this.m_app = app; this.InitGrid(); List <CHHipData> listHhip = new List <CHHipData>(); GetDetailsFromExistingData(hipinfo, ref listHhip); foreach (CHHipData hdata in listHhip) { this.AddRow(hdata); } this.txtModelName_.ReadOnly = true; this.txtStringlabel_.ReadOnly = true; //draw the polyline ApplyHIP(); checkBoxDefaultRead_.Checked = false; this.UpdateRadiousValue(); this.UpdateDeltaValue(); this.m_app.ActiveDocument.RefreshDocument(); this.m_app.ZoomExtents(); }
void GenerateModel() { if (this.treeViewDesigns_.SelectedNode != null && this.treeViewDesigns_.SelectedNode.Tag != null) { CHIPInfo info = (CHIPInfo)this.treeViewDesigns_.SelectedNode.Tag; HalMod1type data = new HalMod1type(); data.ModelName = info.ModelName; data.StringName = info.StringLabel; data.inc = this.tbInterval_.Value; data.TotalSpChn = dtSpChainage.Rows.Count; string strPath = Path.Combine(this.app.AppDataPath, "HALMOD1.TMP"); BinaryWriter bw = new BinaryWriter(new FileStream(strPath, FileMode.Create), Encoding.Default); data.ToStream(bw); if (this.dtSpChainage.Rows.Count > 0) { StreamWriter sw = new StreamWriter(Path.Combine(this.app.AppDataPath, "SPCHN.TMP")); for (int i = 0; i < this.dtSpChainage.Rows.Count; i++) { double dVal = (double)this.dtSpChainage.Rows[i][ColValus]; bw.Write(dVal); sw.WriteLine(data.ModelName + "\t" + data.StringName + "\t" + dVal.ToString()); } sw.Close(); } bw.Close(); FormHalignModelViewer modelviewer = new FormHalignModelViewer(this.app); modelviewer.ShowDialog(); } }
private void GetDetailsFromExistingData(CHIPInfo hipinfo, ref List <CHHipData> listHhip) { if (hipinfo.DataList.Count > 0) { this.txtModelName_.Text = hipinfo.ModelName; this.txtStringlabel_.Text = hipinfo.StringLabel; this.txtStartInterval_.Value = hipinfo.DataList[0].dStartchn; this.txtDefaultRadious_.Value = hipinfo.DataList[0].dRadius; listHhip = CHalignHipUtil.GenerateHIPData(hipinfo); } }
public FormElementMethod(IHeadsApplication app, CHIPInfo info) { InitializeComponent(); this.m_app = app; this.PopulateElementTypes(); this.FillFromExistingData(info); this.txtModelName_.ReadOnly = true; this.txtStringlabel_.ReadOnly = true; }
public static CHIPInfo[] ReadHaligns(string strHalignFilePath) { List <CHIPInfo> listhips = new List <CHIPInfo>(); if (File.Exists(strHalignFilePath)) { StreamReader readerSrc = new StreamReader(strHalignFilePath); string strLastModelName = ""; string strLastStringLabel = ""; CHIPInfo hipinfo = null; while (readerSrc.EndOfStream == false) { string strline = readerSrc.ReadLine(); CHalignFilData fildata = CHalignFilData.Parse(strline); if (fildata != null) { if (strLastModelName != fildata.sMod || strLastStringLabel != fildata.sString) { hipinfo = new CHIPInfo(); hipinfo.ModelName = fildata.sMod; hipinfo.StringLabel = fildata.sString; listhips.Add(hipinfo); strLastModelName = fildata.sMod; strLastStringLabel = fildata.sString; } hipinfo.DataList.Add(fildata); } //string[] arrStr = strline.Split(new char[] { '\t' }); //if (arrStr.Length == 20) //{ // if (strLastModelName != arrStr[0] || strLastStringLabel != arrStr[1]) // { // hipinfo = new CHIPInfo(); // hipinfo.ModelName = arrStr[0]; // hipinfo.StringLabel = arrStr[1]; // listhips.Add(hipinfo); // strLastModelName = arrStr[0]; // strLastStringLabel = arrStr[1]; // } // hipinfo.DataList.Add(CHalignFilData.Parse(strline)); //} } readerSrc.Close(); } return(listhips.ToArray()); }
public static List <CHHipData> GenerateHIPData(CHIPInfo hipinfo) { List <CHHipData> listHhip = null; int ln = 0; int iLine = 0; int iHipArrIndex = 0; double nSign = 0; CHalignFilData filData = null; CHHipData[] hipArr = new CHHipData[hipinfo.DataList.Count]; for (int i = 0; i < hipinfo.DataList.Count; i++) { hipArr[i] = new CHHipData(); } ln++; filData = hipinfo.DataList[iLine]; iLine++; nSign = (filData.iTurn == 1) ? -1 : 1; hipArr[iHipArrIndex].xvalue = filData.dStartx; hipArr[iHipArrIndex].yvalue = filData.dStarty; hipArr[iHipArrIndex].delta = filData.dDeviation * nSign; hipArr[iHipArrIndex].radius = 0.0; hipArr[iHipArrIndex].leadtrans = 0.0; hipArr[iHipArrIndex].trailtrans = 0.0; double dLastHIPx = filData.dHipx; double dLastHIPy = filData.dHipy; while (ln < (hipinfo.DataList.Count - 1)) { ln++; filData = hipinfo.DataList[iLine]; iLine++; if (ln == 2) { if (filData.iEltype != 1) { iHipArrIndex++; nSign = (filData.iTurn == 1) ? -1 : 1; hipArr[iHipArrIndex].xvalue = filData.dHipx; hipArr[iHipArrIndex].yvalue = filData.dHipy; hipArr[iHipArrIndex].delta = filData.dDeviation * nSign; hipArr[iHipArrIndex].radius = 0.0; hipArr[iHipArrIndex].leadtrans = 0.0; hipArr[iHipArrIndex].trailtrans = 0.0; } } if ((Math.Abs(dLastHIPx - filData.dHipx) < 0.00001) && (Math.Abs(dLastHIPy - filData.dHipy) < 0.00001)) { // same HIP set if (filData.iEltype == 2) // lead transition { hipArr[iHipArrIndex].leadtrans = filData.dEllength; } else if (filData.iEltype == 3) // circular transition { hipArr[iHipArrIndex].radius = filData.dRadius * nSign; } else if (filData.iEltype == 4) // trail transition { hipArr[iHipArrIndex].trailtrans = filData.dEllength; } else { //Error return(listHhip); } } else { // next HIP set iHipArrIndex++; nSign = (filData.iTurn == 1) ? -1 : 1; hipArr[iHipArrIndex].xvalue = filData.dHipx; hipArr[iHipArrIndex].yvalue = filData.dHipy; hipArr[iHipArrIndex].delta = filData.dDeviation * nSign; hipArr[iHipArrIndex].radius = 0.0; hipArr[iHipArrIndex].leadtrans = 0.0; hipArr[iHipArrIndex].trailtrans = 0.0; dLastHIPx = filData.dHipx; dLastHIPy = filData.dHipy; } } iHipArrIndex++; filData = hipinfo.DataList[iLine]; iLine++; ln++; nSign = (filData.iTurn == 1) ? -1 : 1; hipArr[iHipArrIndex].xvalue = filData.dEndx; hipArr[iHipArrIndex].yvalue = filData.dEndy; hipArr[iHipArrIndex].delta = filData.dDeviation * nSign; hipArr[iHipArrIndex].radius = 0.0; hipArr[iHipArrIndex].leadtrans = 0.0; hipArr[iHipArrIndex].trailtrans = 0.0; listHhip = new List <CHHipData>(); for (int ii = 0; ii < (iHipArrIndex + 1); ii++) { listHhip.Add(hipArr[ii]); } return(listHhip); }
public System.Windows.Forms.Form CreateOpenHIPMethodDialog(IHeadsApplication app, CHIPInfo info) { FormHipMethod formhipmethod = null; List <CHHipData> listHhip = CHalignHipUtil.GenerateHIPData(info); if (listHhip != null || listHhip.Count > 0) { formhipmethod = new FormHipMethod(app, info); } else { MessageBox.Show("Error in Halign.fil file" , Resources.ST_ERROR_MSGBOX_CAPTION , System.Windows.Forms.MessageBoxButtons.OK , System.Windows.Forms.MessageBoxIcon.Error); } return(formhipmethod); }
public System.Windows.Forms.Form CreateOpenElementMethodDialog(IHeadsApplication app, CHIPInfo info) { FormElementMethod formelementmethod = null; formelementmethod = new FormElementMethod(app, info); return(formelementmethod); }
private void btnOk__Click(object sender, EventArgs e) { this.selectedItem = (CHIPInfo)this.treeViewModels_.SelectedNode.Tag; this.DialogResult = DialogResult.OK; this.Close(); }
void FillFromExistingData(CHIPInfo info) { if (info.IsHipData == false) { ViewerUtils.DeleteFileIfExists(System.IO.Path.Combine(this.m_app.AppDataPath, "halign.tmp")); int nidxED = 0; this.txtModelName_.Text = info.ModelName; this.txtStringlabel_.Text = info.StringLabel; for (int iCnt = 0; iCnt < info.DataList.Count; iCnt++) { CHalignFilData fildata = info.DataList[iCnt]; if (carED[nidxED] == null) { carED[nidxED] = new CElementData(); } carED[nidxED].dBearings = fildata.dB1; carED[nidxED].dChainInterval = 10; carED[nidxED].dLength = fildata.dEllength; if (fildata.iTurn == 1) { fildata.dRadius = -1 * fildata.dRadius; } carED[nidxED].dRadius = fildata.dRadius; carED[nidxED].dStartChain = fildata.dStartchn; carED[nidxED].dXvalue = fildata.dStartx; carED[nidxED].dYvalue = fildata.dStarty; carED[nidxED].nElementNo = nidxED + 1; carED[nidxED].nType = fildata.iEltype; CHalignElementUtil code = new CHalignElementUtil(); code.Funcmain(this.m_app.AppDataPath, 2, 1, info.ModelName, info.StringLabel , (short)(nidxED + 1), fildata.iEltype, fildata.dStartchn , 10.0, fildata.dStartx, fildata.dStarty, fildata.dB1 , fildata.dEllength, fildata.dRadius); carED[nidxED].npLineID = DrawingUtil.DrawData(this.m_app, System.IO.Path.Combine(this.m_app.AppDataPath, "HAL2.TMP"), "ELE", true); nidxED++; this.SelectedElementType = fildata.iEltype; this.txtChainageInterval_.Value = 10.0; this.txtLength_.Value = fildata.dEllength; this.txtModelName_.Text = fildata.sMod; this.txtRadius_.Value = fildata.dRadius; this.txtStartInterval_.Value = fildata.dEndchn; this.txtStringlabel_.Text = fildata.sString; this.txtWCBearings_.Value = fildata.dB2; this.txtXVal_.Value = fildata.dEndx; this.txtYVal_.Value = fildata.dEndy; this.StartEleNo = nidxED + 1; ElementNo = nidxED + 1; nTotED = ElementNo - 1; TotalEleDrawn = nidxED; lastED.dStartChain = this.txtStartInterval_.Value; lastED.dChainInterval = this.txtChainageInterval_.Value; lastED.dXvalue = this.txtXVal_.Value; lastED.dYvalue = this.txtYVal_.Value; lastED.nType = this.SelectedElementType; lastED.dBearings = this.txtWCBearings_.Value; lastED.dLength = this.txtLength_.Value; lastED.dRadius = this.txtRadius_.Value; lastED.nElementNo = this.StartEleNo; } this.m_app.ActiveDocument.RefreshDocument(); this.m_app.ZoomExtents(); //ViewerUtils.DeleteFileIfExists(this.m_app.AppDataPath + @"\~halign.fil"); } }