public void Expect_the_Tx_to_be_removed_from_the_TxTable() { TxTable.ContainsKey(Stx.GetId()).Should().BeFalse(); }
public void Expect_the_TxTable_to_contain_the_Id() { TxTable.ContainsKey(Ctx.GetId()).Should().BeTrue(); }
public void Expect_the_the_transaction_to_be_in_the_TxTable() { TxTable.ContainsKey(Stx.GetId()).Should().BeTrue(); }
public void Expect_TxTable_to_be_empty() { TxTable.ContainsKey(Stx.GetId()).Should().BeFalse(); }
/// <summary> /// 获取参数表,需先绘制梁图 /// </summary> /// <returns></returns> public bool GetParamTable(out TxTable tableParam) { if (!isDrawn) throw new Exception("尚未绘图"); tableParam = TxTable.CreateTable(5, 2); tableParam.tb.Cells[0, 0].Value = "板长L"; tableParam.tb.Cells[1, 0].Value = "板左宽Bl"; tableParam.tb.Cells[2, 0].Value = "板右宽Br"; tableParam.tb.Cells[3, 0].Value = "板左夹角θ1"; tableParam.tb.Cells[4, 0].Value = "板右夹角θ2"; if (user_curveZX == null || user_cvBoardUp == null || user_cvBoardDn == null || user_pierline1 == null || user_pierline2 == null) { System.Windows.Forms.MessageBox.Show("未选择线。"); return false; } Point3d xPoint1 = AcadAssist.GetIntersectionPoint(user_curveZX, user_pierline1); Point3d xPoint2 = AcadAssist.GetIntersectionPoint(user_curveZX, user_pierline2); Vector3d vectRotate1 = xPoint1.GetVectorTo(xPoint2); double rotate1Angle = AcadAssist.AngleOnPlan(vectRotate1, user_curveZX); TxPolyline curveZX2 = AcadAssist.ConvertToTxPolyline(user_curveZX); TxPolyline cvBoardUp2 = AcadAssist.ConvertToTxPolyline(user_cvBoardUp); TxPolyline cvBoardDn2 = AcadAssist.ConvertToTxPolyline(user_cvBoardDn); TxLine pierline12 = (TxLine)user_pierline1.Clone(); TxLine pierline22 = (TxLine)user_pierline2.Clone(); curveZX2.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1); cvBoardUp2.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1); cvBoardDn2.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1); pierline12.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1); pierline22.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1); List<TxLine> m_storeCLines2 = new List<TxLine>(); for (int i = 0; i < user_storedCLines.Count; i++) { m_storeCLines2.Add((TxLine)user_storedCLines[i].Clone()); m_storeCLines2[i].TransformBy(Matrix3d.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1)); } List<TxLine> m_hgbLines2 = new List<TxLine>(); for (int i = 0; i < user_hgbLines.Count; i++) { m_hgbLines2.Add((TxLine)user_hgbLines[i].Clone()); m_hgbLines2[i].TransformBy(Matrix3d.Rotation(-rotate1Angle, Vector3d.ZAxis, xPoint1)); } if (curveZX2.StartPoint.X > curveZX2.EndPoint.X) curveZX2 = AcadAssist.ReverseTxPolyline(curveZX2); if (cvBoardUp2.StartPoint.X > cvBoardUp2.EndPoint.X) cvBoardUp2 = AcadAssist.ReverseTxPolyline(cvBoardUp2); if (cvBoardDn2.StartPoint.X > cvBoardDn2.EndPoint.X) cvBoardDn2 = AcadAssist.ReverseTxPolyline(cvBoardDn2); if (pierline12.StartPoint.Y > pierline12.EndPoint.Y) pierline12 = AcadAssist.ReverseTxLine(pierline12); if (pierline22.StartPoint.Y > pierline22.EndPoint.Y) pierline22 = AcadAssist.ReverseTxLine(pierline22); try { //-------------前面还有个中心线的相交-------不相交有没有处理过,是不是已经延长过了,不记得了;这个是新加上的---------- List<Point3d> milePoints1 = AcadAssist.GetIntersectionPoints(curveZX2, pierline12); List<Point3d> milePoints2 = AcadAssist.GetIntersectionPoints(curveZX2, pierline22); if (milePoints1.Count == 0 || milePoints2.Count == 0) System.Windows.Forms.MessageBox.Show("分控线和桥梁边线没有交点"); //---墩号--- tableParam.tb.Cells[0, 1].Value = PierLabel1 + "~" + PierLabel2; List<TxLine> seamLineUp = new List<TxLine>(); List<TxLine> seamLineDn = new List<TxLine>(); for (int i = 0; i < sideLines.Count; i++) { if (i % 2 == 0) seamLineDn.Add(sideLines[i]); else seamLineUp.Add(sideLines[i]); } //梁参数 for (int i = 0; i < BoxCount; i++) { Vector3d vecS = cenLines[i].StartPoint.GetVectorTo(cenLines[i].EndPoint); Vector3d vecEL = endLine1.StartPoint.GetVectorTo(endLine1.EndPoint); Vector3d vecER = endLine2.StartPoint.GetVectorTo(endLine2.EndPoint); double l = vecS.Length; double BL; double BR; if (i == 0) { BL = cvBoardDnx.StartPoint.DistanceTo(seamLineDn[i].StartPoint); BR = cvBoardDnx.EndPoint.DistanceTo(seamLineDn[i].EndPoint); } else if (i == cenLines.Count - 1) { BL = cvBoardUpx.StartPoint.DistanceTo(seamLineUp[i - 1].StartPoint); BR = cvBoardUpx.EndPoint.DistanceTo(seamLineUp[i - 1].EndPoint); } else { BL = seamLineDn[i - 1].StartPoint.DistanceTo(seamLineUp[i].StartPoint); BR = seamLineDn[i - 1].EndPoint.DistanceTo(seamLineUp[i].EndPoint); } double theata1 = 180 - vecS.GetAngleTo(vecEL) / Math.PI * 180; double theata2 = vecS.GetAngleTo(vecER) / Math.PI * 180; double rotate = AcadAssist.AngleOnPlan(cenLines[i].StartPoint.GetVectorTo(cenLines[i].EndPoint), cenLines[i]); tableParam.tb.InsertColumns(tableParam.ColumnCount, 1, 1);//待调整长度 tableParam.tb.Cells[0, i + 1].Value = (l * 1000 / m_drawScale).ToString("{0}"); tableParam.tb.Cells[1, i + 1].Value = (BL * 1000 / m_drawScale).ToString("{0}"); tableParam.tb.Cells[2, i + 1].Value = (BR * 1000 / m_drawScale).ToString("{0}"); tableParam.tb.Cells[3, i + 1].Value = (theata1).ToString("{0.0}"); tableParam.tb.Cells[4, i + 1].Value = (theata2).ToString("{0.0}"); } //湿接缝参数 for (int i = 0; i < seamLineUp.Count; i++) { double bL = seamLineUp[i].StartPoint.DistanceTo(seamLineDn[i].StartPoint); double bR = seamLineUp[i].EndPoint.DistanceTo(seamLineDn[i].EndPoint); tableParam.tb.InsertColumns(tableParam.ColumnCount, 1, 1);//待调整长度 tableParam.tb.Cells[0, BoxCount + i + 1].Value = "--"; tableParam.tb.Cells[1, BoxCount + i + 1].Value = (bL * 1000 / m_drawScale).ToString("{0}"); tableParam.tb.Cells[2, BoxCount + i + 1].Value = (bR * 1000 / m_drawScale).ToString("{0}"); tableParam.tb.Cells[3, BoxCount + i + 1].Value = "--"; tableParam.tb.Cells[4, BoxCount + i + 1].Value = "--"; } return true; } catch { throw new Exception("获取表格失败"); } }