private void createAddArcSegment(IRM21fundamentalGeometry fundGeomArcSeg) { ptList = fundGeomArcSeg.getPointList(); if (3 != ptList.Count) throw new Exception("Arc Segment fundamental geometry must have three and only three points."); rm21HorArc anArg = new rm21HorArc(ptList[0], ptList[1], ptList[2], fundGeomArcSeg.getExpectedType(), fundGeomArcSeg.getDeflectionSign()); if (null == allChildSegments_scratchPad) allChildSegments_scratchPad = new List<HorizontalAlignmentBase>(); allChildSegments_scratchPad.Add(anArg); }
public void appendArc(ptsPoint ArcEndPoint, Double radius) { var newArc = new rm21HorArc(this.EndPoint, ArcEndPoint, this.EndAzimuth, radius); newArc.BeginStation = this.EndStation; newArc.EndStation = newArc.BeginStation + newArc.Length; newArc.Parent = this; this.allChildSegments.Add(newArc); this.EndAzimuth = this.BeginAzimuth + newArc.Deflection; this.EndPoint = newArc.EndPoint; restationAlignment(); alignmentData.Add(new alignmentDataPacket(alignmentData.Count, newArc)); }