/**Draw the Vgroove.*/ private void Vgroovedraw() { LinePoint point = new LinePoint(); double yv = groove.height[0]; double Vangle = BeamPara.TurntoRadian(90 - groove.angle[0]); double xv = (yv / Math.Tan(Vangle)); wavepath.Series.Clear(); wavepath.Axes.Left.Maximum = grooveheight + 1; point.x[0] = LEFTBORDER; point.y[0] = 0; point.x[1] = -xv; point.y[1] = 0; point.x[2] = 0; point.y[2] = yv; point.x[3] = 0; point.y[3] = grooveheight; point.x[4] = 0; point.y[4] = yv; point.x[5] = xv; point.y[5] = 0; point.x[6] = RIGHTBORDER; point.y[6] = 0; point.count = 7; Draw.DrawLine(point, Color.Black, wavepath); point = new LinePoint(); point.x[0] = LEFTBORDER; point.y[0] = grooveheight; point.x[1] = RIGHTBORDER; point.y[1] = grooveheight; point.count = 2; Draw.DrawLine(point, Color.Black, wavepath); }
public void Modifypara(FormModify formModify, int cancelflag) { panelModify.Visible = false; if (cancelflag == 0) { int i = paraGrid.CurrentRow.Index; int channel = (int)paraGrid.Rows[i].Cells["channel"].Value; double defectX = 0; double defectY = 0; double angle = 0; ClassChanpara Chanpara = new ClassChanpara(); angle = BeamPara.TurntoRadian(testblock.VAngle); defectX = formModify.xd; defectY = testblock.BlockHeight - defectX * Math.Tan(angle); chanPara[channel].defectAngle[0] = angle; chanPara[channel].interfaceAngle[0] = Chanpara.defectAngle[0] + testblock.VAngle - 90;; BeamPara beampara = new BeamPara(Chanpara, testblock, Wedge, Probe, Position); beamPara[channel] = beampara; beamlist[channel] = beampara.beamfile; chanPara[channel].index = beampara.index; chanPara[channel].element[0] = beampara.centerele; } }
public void ModifyCRCgroove(double yd, double angle, int channel) { int method = chanPara[channel].method; if (method == (int)PathMethod.Reflect) { chanPara[channel].defectX = (groove.height[1] + groove.height[0] - yd) * Math.Tan(BeamPara.TurntoRadian(groove.angle[1])); chanPara[channel].interfaceAngle[0] = groove.angle[1];; } else if (method == (int)PathMethod.Direct) { if (chanPara[channel].defectAngle == 90) { chanPara[channel].defectX = (yd - (grooveheight - groove.height[3])) * Math.Tan(BeamPara.TurntoRadian(groove.angle[2])); chanPara[channel].interfaceAngle[0] = groove.angle[2]; } else { chanPara[channel].defectX = 0; chanPara[channel].interfaceAngle[0] = chanPara[channel].defectAngle; } } else if (method == (int)PathMethod.Series) { chanPara[channel].defectX = groove.height[1] * Math.Tan(BeamPara.TurntoRadian(groove.angle[1])) + (groove.height[0] - yd) * Math.Tan(BeamPara.TurntoRadian(groove.angle[0])); chanPara[channel].interfaceAngle[0] = chanPara[channel].defectAngle - groove.angle[0]; chanPara[channel].interfaceAngle[1] = chanPara[channel].defectAngle + groove.angle[0]; } }
/**Draw the Vgroove.*/ private void Vgroovedraw() { DrawPoint point = new DrawPoint(); double yv = testblock.BlockHeight - testblock.BottomLength; double Vangle = BeamPara.TurntoRadian(testblock.VAngle); double xv = (yv / Math.Tan(Vangle)); wavepath.Series.Clear(); wavepath.Axes.Left.Maximum = testblock.BlockHeight + 1; point.x[0] = LEFTBORDER; point.y[0] = 0; point.x[1] = -xv; point.y[1] = 0; point.x[2] = 0; point.y[2] = yv; point.x[3] = 0; point.y[3] = testblock.BlockHeight; point.x[4] = 0; point.y[4] = yv; point.x[5] = xv; point.y[5] = 0; point.x[6] = RIGHTBORDER; point.y[6] = 0; point.count = 7; Draw.testline(point, Color.Black, wavepath); point = new DrawPoint(); point.x[0] = LEFTBORDER; point.y[0] = testblock.BlockHeight; point.x[1] = RIGHTBORDER; point.y[1] = testblock.BlockHeight; point.count = 2; Draw.testline(point, Color.Black, wavepath); }
/**Add the VGroovepara*/ public void AddVgroove(double yd, double angle, int method) { int skewflag = 0; ClassChanpara Chanpara; for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = method; Chanpara.defectAngle = angle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } if (method == (int)PathMethod.Reflect) { Chanpara.name = "HP" + "DS"; Chanpara.defectY = yd; Chanpara.defectX = (groove.height[0] - yd) * Math.Tan(BeamPara.TurntoRadian(groove.angle[0])); Chanpara.interfaceAngle[0] = Chanpara.defectAngle - groove.angle[0]; } else if (method == (int)PathMethod.Direct) { Chanpara.name = "ROOT"; Chanpara.defectY = yd; Chanpara.defectX = 0; Chanpara.interfaceAngle[0] = Chanpara.defectAngle; } BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } }
/**Draw the CRCgroove.*/ private void CRCgroovedraw() { wavepath.Series.Clear(); double h0 = 6.27; double h1 = 2.82; double h2 = 1; double h3 = 1.91; double h = h0 + h1 + h2 + h3; double angle0 = BeamPara.TurntoRadian(5); double angle1 = BeamPara.TurntoRadian(45); double angle2 = BeamPara.TurntoRadian(37.5); LinePoint point = new LinePoint(); wavepath.Axes[0].Maximum = h + 1; point.x[0] = LEFTBORDER; point.y[0] = 0; point.x[1] = -(h0 * Math.Tan(angle0) + h1 * Math.Tan(angle1)); point.y[1] = 0; point.x[2] = -h1 *Math.Tan(angle1); point.y[2] = h0; point.x[3] = 0; point.y[3] = h0 + h1; point.x[4] = 0; point.y[4] = h0 + h1 + h2; point.x[5] = 0; point.y[5] = h0 + h1; point.x[6] = h1 * Math.Tan(angle1); point.y[6] = h0; point.x[7] = h0 * Math.Tan(angle0) + h1 * Math.Tan(angle1); point.y[7] = 0; point.x[8] = RIGHTBORDER; point.y[8] = 0; point.count = 9; Draw.DrawLine(point, Color.Black, wavepath); point = new LinePoint(); point.x[0] = LEFTBORDER; point.y[0] = h; point.x[1] = -h3 *Math.Tan(angle2); point.y[1] = h; point.x[2] = 0; point.y[2] = h - h3; point.x[3] = h3 * Math.Tan(angle2); point.y[3] = h; point.x[4] = RIGHTBORDER; point.y[4] = h; point.count = 5; Draw.DrawLine(point, Color.Black, wavepath); }
/**Change the chanpara after modify*/ public void Modifypara(FormModify formModify, int cancelflag) { modifyisopen = 0; panelModify.Visible = false; if (cancelflag == 0) { int i = paraGrid.CurrentRow.Index; int channel = (int)paraGrid.Rows[i].Cells["channel"].Value; int method = 0; ClassChanpara Chanpara = new ClassChanpara(); method = chanPara[channel].method; chanPara[channel].defectAngle = formModify.angled; chanPara[channel].defectY = formModify.yd; switch (groove.type) { case GrooveType.V: ModifyVgroove(chanPara[channel].defectY, chanPara[channel].defectAngle, channel); break; case GrooveType.X: ModifyXgroove(chanPara[channel].defectY, chanPara[channel].defectAngle, channel); break; case GrooveType.CRC: ModifyCRCgroove(chanPara[channel].defectY, chanPara[channel].defectAngle, channel); break; default: MessageShow.show("testblock type error", "坡口类型错误"); break; } BeamPara beampara = new BeamPara(chanPara[channel], groove, wedge, probe, position, gateB); beamPara[channel] = beampara; beamlist[channel] = beampara.beamfile; chanPara[channel].delay = beampara.pathtime - beampara.gatebefore; chanPara[channel].range = 2 * beampara.gatebefore; chanPara[channel].index = beampara.index; chanPara[channel].element[0] = beampara.centerele[0]; if (method == (int)PathMethod.Series) { chanPara[channel].element[1] = beampara.centerele[1]; } BeamRefresh(); } }
/**Creat beamfile which is used now.*/ private void Getcurrentpara() { ClassChanpara Chanpara; int zoneindex = 0; double defectX = 0; double defectY = 0; double angle = 0; int skewflag = 0; for (zoneindex = 0; zoneindex < 4; zoneindex++) { for (skewflag = 0; skewflag < 2; skewflag++) { angle = BeamPara.TurntoRadian(groove.angle[0]); defectX = 4.5 - 1.25 * zoneindex; defectY = grooveheight - defectX * Math.Tan(angle); Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Reflect; Chanpara.name = "HP" + Convert.ToString(zoneindex) + "DS"; Chanpara.defectAngle = 90; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = defectX; Chanpara.defectY = defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[0] - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } }
private void test_Click(object sender, EventArgs e) { int i = 0; int channel = 0; try { i = paraGrid.CurrentRow.Index; channel = (int)paraGrid.Rows[i].Cells["channel"].Value; } catch { return; } BeamPara beampara = new BeamPara(chanPara[channel], groove, wedge, probe, position, gateB); }
private ClassBeamFile CoupleDelay(int startele) { ClassBeamFile beam = new ClassBeamFile(); double angle = BeamPara.TurntoRadian(Wedge.WedgeAngle); int i = 0; double delay = Math.Sin(angle) * Probe.ElementaryPitch / Wedge.WedgeVelocity; for (i = 0; i < COUPLENUM; i++) { beam.rxDelay[i] = (float)(i * delay); beam.txDelay[i] = (float)(i * delay); } beam.txSize = COUPLENUM; beam.rxSize = COUPLENUM; beam.txElementBin = BeamPara.GetBeambin(startele, COUPLENUM, 0); beam.rxElementBin = BeamPara.GetBeambin(startele, COUPLENUM, 0); return(beam); }
private ClassBeamFile CoupleDelay(int startele, int skewflag) { double gatestart = 0; double gaterange = 0; double ys = 0; int i = 0; ClassBeamFile beam = new ClassBeamFile(); double angle = BeamPara.TurntoRadian(wedge.incidentAngle); double delay = Math.Sin(angle) * probe.eleSpace / wedge.transVeloc; for (i = 0; i < COUPLENUM; i++) { beam.rxDelay[i] = (float)(i * delay); beam.txDelay[i] = (float)(i * delay); } beam.txSize = COUPLENUM; beam.rxSize = COUPLENUM; beam.txElementBin = BeamPara.GetBeambin(startele, COUPLENUM, skewflag); beam.rxElementBin = BeamPara.GetBeambin(startele, COUPLENUM, skewflag); ys = wedge.height - ((position.probePosition + probe.eleEdge + startele * probe.eleSpace)) * Math.Sin(angle); gatestart = 2 * ys / Math.Cos(angle) / wedge.transVeloc; gaterange = grooveheight / groove.longVeloc * 2; gatei.delay = gatestart; gatei.range = gaterange; gatea.delay = gatei.delay + gaterange; gatea.range = gaterange; gateb.delay = gatea.delay + gaterange; gateb.range = gaterange; gatec.delay = gateb.delay + gaterange; gatec.range = gaterange; gatedelay.Add(gatei); gatedelay.Add(gatea); gatedelay.Add(gateb); gatedelay.Add(gatec); return(beam); }
/**Set CRCgroove Defect.*/ private void CRCGroove(Groove groove, double zonestep) { double h = groove.height.Sum(); //manual set CRC para int i = 0; int direct1count = 0; int direct2count = 0; double prehigh = 0; Defectpoint defectpoint = new Defectpoint(); double serieshigh = groove.height[0]; double reflecthigh = groove.height[1]; double direct1high = groove.height[2]; double direct2high = groove.height[3]; double seriesangle = BeamPara.TurntoRadian(groove.angle[0]); double reflectangle = BeamPara.TurntoRadian(groove.angle[1]); double directangle = BeamPara.TurntoRadian(groove.angle[2]); double[] reflectzone; double[] serieszone; double[] direct1zone; double[] direct2zone; reflectzone = Getzone(reflecthigh, zonestep, ref reflectcount); serieszone = Getzone(serieshigh, zonestep, ref seriescount); direct1zone = Getzone(direct1high, zonestep, ref direct1count); direct2zone = Getzone(direct2high, zonestep, ref direct2count); directcount = direct1count + direct2count; for (i = 0; i < seriescount; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = prehigh + serieszone[i] / 2; defectpoint.defectX = reflecthigh * Math.Tan(reflectangle) + (serieshigh - defectpoint.defectY) * Math.Tan(seriesangle); defectpoint.defectangle = 45; defectlist.Add(defectpoint); prehigh += serieszone[i]; } prehigh = 0; for (i = 0; i < reflectcount; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = serieshigh + prehigh + reflectzone[i] / 2; defectpoint.defectX = (reflecthigh + serieshigh - defectpoint.defectY) * Math.Tan(reflectangle); defectpoint.defectangle = 90; defectlist.Add(defectpoint); prehigh += reflectzone[i]; } prehigh = 0; for (i = 0; i < direct1count; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = serieshigh + reflecthigh + prehigh + direct1zone[i] / 2; defectpoint.defectX = 0; defectpoint.defectangle = 70; defectlist.Add(defectpoint); prehigh += direct1zone[i]; } prehigh = 0; for (i = 0; i < direct2count; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = serieshigh + reflecthigh + direct1high + prehigh + direct2zone[i] / 2; defectpoint.defectX = (defectpoint.defectY - (h - direct2high)) * Math.Tan(directangle); defectpoint.defectangle = 90; defectlist.Add(defectpoint); prehigh += direct2zone[i]; } }
/**Set Vgroove Defect.*/ private void VGroove(Groove groove, double zonestep) { int i = 0; double prehigh = 0; Defectpoint defectpoint = new Defectpoint(); double reflecthigh = 0; double directhigh = 0; double reflectangle = 0; double[] reflectzone; double[] directzone; reflecthigh = groove.height[0]; directhigh = groove.height[1]; reflectangle = 90 - groove.angle[0]; reflectzone = Getzone(reflecthigh, zonestep, ref reflectcount); directzone = Getzone(directhigh, zonestep, ref directcount); seriescount = 0; //direct for (i = 0; i < reflectcount; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = prehigh + reflectzone[i] / 2; defectpoint.defectX = (reflecthigh - defectpoint.defectY) / Math.Tan(BeamPara.TurntoRadian(reflectangle)); defectpoint.defectangle = 90; defectlist.Add(defectpoint); prehigh += reflectzone[i]; } prehigh = 0; for (i = 0; i < directcount; i++) { defectpoint = new Defectpoint(); defectpoint.defectY = reflecthigh + prehigh + directzone[i] / 2; defectpoint.defectX = 0; defectpoint.defectangle = 70; defectlist.Add(defectpoint); prehigh += directzone[i]; } }
private void Getchannelpara() { ClassChanpara Chanpara; int zoneindex = 0; double defectX = 0; double defectY = 0; double angle = 0; int skewflag = 0; for (zoneindex = 0; zoneindex < 4; zoneindex++) { for (skewflag = 0; skewflag < 2; skewflag++) { angle = BeamPara.TurntoRadian(testblock.VAngle); defectX = 4.5 - 1.25 * zoneindex; defectY = testblock.BlockHeight - defectX * Math.Tan(angle); Chanpara = new ClassChanpara(); Chanpara.config = 0; Chanpara.txrx = 0; Chanpara.method = 1; Chanpara.name = "HP" + Convert.ToString(zoneindex) + "DS"; Chanpara.defectAngle[0] = 90; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = defectX; Chanpara.defectY = defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle[0] + testblock.VAngle - 90; BeamPara beampara = new BeamPara(Chanpara, testblock, Wedge, Probe, Position); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.element[0] = beampara.centerele + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } //for (skewflag = 0; skewflag < 2; skewflag++) //{ // angle = BeamPara.TurntoRadian(testblock.VAngle); // defectX = 0.5; // defectY = testblock.BlockHeight - defectX * Math.Tan(angle); // Chanpara = new ClassChanpara(); // Chanpara.config = 0; // Chanpara.txrx = 0; // Chanpara.method = 0; // Chanpara.name = "ROOT"; // Chanpara.defectAngle[0] = 70; // Chanpara.velocity = 3.26; // Chanpara.activenb[0] = 32; // Chanpara.wave = "shear"; // Chanpara.defectX = defectX; // Chanpara.defectY = defectY; // if (skewflag == 0) // { // Chanpara.skew = 90; // } // else // { // Chanpara.skew = 270; // } // Chanpara.interfaceAngle[0] = Chanpara.defectAngle[0]; // BeamPara beampara = new BeamPara(Chanpara, testblock, Wedge, Probe, Position); // beamPara.Add(beampara); // beamlist.Add(beampara.beamfile); // Chanpara.element[0] = beampara.centerele + 64 * skewflag; // Chanpara.index = beampara.index; // chanPara.Add(Chanpara); //} }
private void GetCRCgroovepara(AutoSet autoset) { ClassChanpara Chanpara; int skewflag = 0; int i = 0; int precount = 0; for (i = 0; i < autoset.seriescount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pitch_Catch; Chanpara.method = (int)PathMethod.Series; Chanpara.zonetype = (int)ZoneType.Fill; Chanpara.name = "Fill" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 16; Chanpara.activenb[1] = 16; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i].defectX; Chanpara.defectY = autoset.defectlist[i].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle - 5; Chanpara.interfaceAngle[1] = Chanpara.defectAngle + 5; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.element[1] = beampara.centerele[1] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } precount += i; for (i = 0; i < autoset.reflectcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Reflect; Chanpara.zonetype = (int)ZoneType.HP; Chanpara.name = "HP" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i + precount].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + precount].defectX; Chanpara.defectY = autoset.defectlist[i + precount].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + 45 - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } precount += i; for (i = 0; i < autoset.directcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Direct; Chanpara.defectAngle = autoset.defectlist[i + precount].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + precount].defectX; Chanpara.defectY = autoset.defectlist[i + precount].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } //Judge which direct zone if (Chanpara.defectAngle == 90) { Chanpara.name = "LCP" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.zonetype = (int)ZoneType.LCP; Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[2] - 90; } else { Chanpara.name = "Root" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.zonetype = (int)ZoneType.Root; Chanpara.interfaceAngle[0] = Chanpara.defectAngle; } BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } }
public void ModifyXgroove(double yd, double angle, int channel) { chanPara[channel].defectX = Math.Abs((groove.height[0] - yd)) / Math.Tan(BeamPara.TurntoRadian(groove.angle[0])); chanPara[channel].interfaceAngle[0] = chanPara[channel].defectAngle - groove.angle[0]; }
public void ModifyVgroove(double yd, double angle, int channel) { int method = chanPara[channel].method; if (method == (int)PathMethod.Reflect) { chanPara[channel].defectX = (groove.height[0] - yd) * Math.Tan(BeamPara.TurntoRadian(groove.angle[0])); chanPara[channel].interfaceAngle[0] = chanPara[channel].defectAngle - groove.angle[0]; } else if (method == (int)PathMethod.Direct) { chanPara[channel].defectX = 0; chanPara[channel].interfaceAngle[0] = chanPara[channel].defectAngle; } }
private void GetXgroovepara(AutoSet autoset) { ClassChanpara Chanpara; int skewflag = 0; int i = 0; int j = 0; for (i = 0; i < autoset.reflectcount; i++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Reflect; Chanpara.zonetype = (int)ZoneType.Fill; Chanpara.name = "Fill" + Convert.ToString(i) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i].defectX; Chanpara.defectY = autoset.defectlist[i].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[0] - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } for (j = 0; j < autoset.directcount; j++) { for (skewflag = 0; skewflag < 2; skewflag++) { Chanpara = new ClassChanpara(); Chanpara.config = (int)FocusConfig.Pulse_Echo; Chanpara.method = (int)PathMethod.Direct; Chanpara.zonetype = (int)ZoneType.Root; Chanpara.name = "Root" + Convert.ToString(j) + GetLeft(skewflag); Chanpara.defectAngle = autoset.defectlist[i + j].defectangle; Chanpara.velocity = 3.26; Chanpara.activenb[0] = 32; Chanpara.wave = "shear"; Chanpara.defectX = autoset.defectlist[i + j].defectX; Chanpara.defectY = autoset.defectlist[i + j].defectY; if (skewflag == 0) { Chanpara.skew = 90; } else { Chanpara.skew = 270; } Chanpara.interfaceAngle[0] = Chanpara.defectAngle + groove.angle[0] - 90; BeamPara beampara = new BeamPara(Chanpara, groove, wedge, probe, position, gateB); beamPara.Add(beampara); beamlist.Add(beampara.beamfile); Chanpara.delay = beampara.pathtime - beampara.gatebefore; Chanpara.range = 2 * beampara.gatebefore; Chanpara.element[0] = beampara.centerele[0] + 64 * skewflag; Chanpara.index = beampara.index; chanPara.Add(Chanpara); } } }