private void setCorrectedSegements()
        {
            for (int i = 0; i < originalSegments.Count; ++i)
            {
                if (i == 0)
                {
                    double cx = originalSegments[i].getGStart().getPnt3d().getX() + originalSegments[i].cdx();
                    double cy = originalSegments[i].getGStart().getPnt3d().getY() + originalSegments[i].cdy();
                    pnt3d  correctedEndPnt    = new pnt3d(cx, cy, 0);
                    VTex   correctedEndVertex = new VTex(correctedEndPnt, originalSegments[i].getGEnd().getBuldge());

                    pnt3d  newStartPoint        = new pnt3d(originalSegments[i].getGStart().getPnt3d().getX(), originalSegments[i].getGStart().getPnt3d().getY(), 0);
                    double newBulgeStart        = originalSegments[i].getGStart().getBuldge();
                    VTex   correctedStartVertex = new MWCadNameSpace.VTex(newStartPoint, newBulgeStart);

                    Segment newCorrectedSegment = new MWCadNameSpace.Segment(correctedStartVertex, correctedEndVertex);
                    correctedSegments.Add(newCorrectedSegment);
                }
                else
                {
                    VTex correctedStartVertex = correctedSegments[i - 1].getGEnd();
                    //double check_cdx = originalSegments[i].cdx();
                    //double check_cdy = originalSegments[i].cdy();

                    //MessageBox.Show("Corrected dx and dy " + check_cdx + "," + check_cdy);

                    //double check_getx = correctedStartVertex.getPnt3d().getX();
                    //double check_gety = correctedStartVertex.getPnt3d().getY();

                    //MessageBox.Show("Corrected startx and starty " + check_getx + "," + check_gety);

                    double cx = correctedStartVertex.getPnt3d().getX() + originalSegments[i].cdx();
                    double cy = correctedStartVertex.getPnt3d().getY() + originalSegments[i].cdy();



                    double newEndx = cx;
                    double newEndy = cy;

                    pnt3d correctedEndPnt    = new pnt3d(newEndx, newEndy, 0);
                    VTex  correctedEndVertex = new VTex(correctedEndPnt, originalSegments[i].getGEnd().getBuldge());

                    Segment newCorrectedSegment = new MWCadNameSpace.Segment(correctedStartVertex, correctedEndVertex);
                    correctedSegments.Add(newCorrectedSegment);
                }
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            MWCadNameSpace.pnt3d origin  = new MWCadNameSpace.pnt3d();
            MWCadNameSpace.pnt3d pickPnt = null;
            try
            {
                pickPnt = cadStuff.getPickPoint(origin);
            }
            catch
            {
                MessageBox.Show("Cad Connection Error");
                return;
            }
            List <MWCadNameSpace.VTex> vertices = new List <MWCadNameSpace.VTex>();

            MWCadNameSpace.pnt3d lastEntPnt = null;

            for (int i = 0; i < deconstructedCallList.Count; ++i)
            {
                MWCadNameSpace.pnt3d startPnt = pickPnt;
                if (i > 0)
                {
                    startPnt = lastEntPnt;
                }
                MWCadNameSpace.Segment aSegment = deconstructedCallList[i].extractAsSegment(startPnt);
                if (deconstructedCallList[i].getCurveLeftRight().Value == "Right" || deconstructedCallList[i].getCurveLeftRight().Value == "Left")
                {
                    aSegment.setBuldgeFromRadius(deconstructedCallList[i].getRadius(), deconstructedCallList[i].getCurveLeftRight());
                }
                vertices.Add(aSegment.getGStart());

                lastEntPnt = aSegment.getGEnd().getPnt3d();
                if (i == deconstructedCallList.Count - 1)
                {
                    vertices.Add(aSegment.getGEnd());
                }
            }


            Autodesk.AutoCAD.Interop.Common.AcadLWPolyline thePline = cadStuff.drawPline(vertices);
            cadStuff.setPlineBuldges(thePline, vertices);
        }