public static ulong AddRectImageHatch(LJJSPoint leftBottomInsertPt, double rectHeigh, double rectWidth, string imagePath, double hatchScale, List <StrValueProperty> additionImageLst)
        {
            vdXProperties tmppro        = new vdXProperties();
            gPoint        leftBottomPt  = new gPoint(leftBottomInsertPt.XValue, leftBottomInsertPt.YValue);
            gPoint        leftTopPt     = new gPoint(leftBottomInsertPt.XValue, leftBottomInsertPt.YValue + DrawCommonData.DirectionUp * rectHeigh);
            gPoint        rightBottomPt = new gPoint(leftBottomInsertPt.XValue + rectWidth * DrawCommonData.DirectionRight, leftBottomInsertPt.YValue);
            gPoint        rightTopPt    = new gPoint(leftBottomInsertPt.XValue + rectWidth * DrawCommonData.DirectionRight, leftBottomInsertPt.YValue + DrawCommonData.DirectionUp * rectHeigh);

            Vertexes hatchRect = new Vertexes();

            hatchRect.Add(leftBottomPt);
            hatchRect.Add(leftTopPt);
            hatchRect.Add(rightTopPt);
            hatchRect.Add(rightBottomPt);
            if (null != additionImageLst && additionImageLst.Count > 0)
            {
                for (int i = 0; i < additionImageLst.Count; i++)
                {
                    StrValueProperty tmp = additionImageLst[i];
                    if (!string.IsNullOrEmpty(tmp.PropertyName) && !string.IsNullOrEmpty(tmp.PropertyValue))
                    {
                        vdXProperty tmpproperty = new vdXProperty();
                        tmpproperty.Name      = tmp.PropertyName;
                        tmpproperty.PropValue = tmp.PropertyValue;
                        tmppro.AddItem(tmpproperty);
                    }
                }
            }
            return(VectorDrawHelper.AddHatchImageToFigure(DrawCommonData.activeDocument, hatchRect, "", imagePath, hatchScale, tmppro));
        }
Exemple #2
0
        public static void VerSolidArrow(LJJSPoint basePoint, double width, double height, int direction)
        {
            Vertexes controlPtCollection = new Vertexes();
            gPoint   pt2 = new gPoint(basePoint.XValue + width, basePoint.YValue);
            gPoint   pt3 = new gPoint(basePoint.XValue, basePoint.YValue + direction * height);
            gPoint   pt4 = new gPoint(basePoint.XValue - width, basePoint.YValue);

            controlPtCollection.Add(FigureStrucConvert.ConvertLJJSPointToGPoint(basePoint));
            controlPtCollection.Add(pt2);
            controlPtCollection.Add(pt3);
            controlPtCollection.Add(pt4);
            //
            VectorDrawHelper.BuildSpineWithSolidHatch(DrawCommonData.activeDocument, controlPtCollection, VectorDraw.Professional.Constants.VdConstPlineFlag.PlFlagCLOSE, VectorDraw.Professional.Constants.VdConstSplineFlag.SFlagSTANDARD, Color.Black.ToArgb(), "");
        }
Exemple #3
0
        /*
            Revit中导出的多段轴网信息很奇怪,首先,对于直线段,直线的起始、终止点和点击时的顺序是相反的,但是多段线的顺序是正确的,所以整个
            排序就变成了“终点”-“起点”-“终点”-“起点”的方式,所以在导出的时候,程序处理时反着顺序导出,就可以正常得到“起点”-“终点”
            的顺序了。其次,如果遇上了圆弧段,圆弧段的起点、终点的顺序是和点击的顺序是一致的,所以遇到圆弧段,输出的起点和终点交换,这样就
            可以正确输出了。下面的两个方法就是用来处理这个。
        */

        public static Vertexes GetVertexesFromCurves(List<CurveData> curves)
        {

            Vertexes vs = new Vertexes();
            for (int i = curves.Count - 1; i >= 0; i--)
            {
                Vertex vStart, vEnd;
                GetVertexFromSingleCurve(curves[i], out vStart, out vEnd);

                vs.Add(vStart);
                if (i == 0)
                    vs.Add(vEnd);
            }

            return vs;
        }
Exemple #4
0
 private void SendVertex()
 {
     for (int i = 0; i < N; i++)
     {
         Vertexes.Add(i + 1);
     }
 }
        protected void BuildEndCapNoCutNoHollow(bool top)
        {
            float z = top ? 0.5f : -0.5f;

            for (int i = 0; i < OuterFaces.Length; i++)
            {
                int pointCount = OuterFaces[i].GetNumPoints();

                if (pointCount > 0)
                {
                    for (int j = 0; j < pointCount - 1; j++)
                    {
                        Vector3 first = OuterFaces[i].GetRawVertex(j);
                        first.Z = z;
                        Vector3 second = OuterFaces[i].GetRawVertex(j + 1);
                        second.Z = z;
                        Vector3 center = new Vector3(0, 0, z);

                        float transformRatio = top ? 1 : 0;

                        // Apply the transformation to each vertex
                        first  = Transform(first, transformRatio);
                        second = Transform(second, transformRatio);
                        center = Transform(center, transformRatio);

                        Vertexes.Add(new VertexPositionColor(first, color));
                        Vertexes.Add(new VertexPositionColor(second, color));
                        Vertexes.Add(new VertexPositionColor(center, color));
                    }
                }
            }
        }
Exemple #6
0
        public override Vertex <TVertex> AddVertex() //добавление вершины
        {
            var v = new Vertex <TVertex>();

            v.Index = CurrentIndex;
            var M = Matrix;

            Matrix = new Edge <TEdge, TWeight, TVertex> [Vertexes.Count + 1, Vertexes.Count + 1];

            for (int i = 0; i < Vertexes.Count; i++)
            {
                {
                    for (int j = 0; j < Vertexes.Count; j++)
                    {
                        if (j == Vertexes.Count || i == Vertexes.Count)
                        {
                            Matrix[i, j] = null;
                        }

                        Matrix[i, j] = M[i, j];
                    }
                }
            }
            CurrentIndex++;
            Vertexes.Add(v);
            return(v);
        }
Exemple #7
0
 /// <summary>
 /// Adding new vertex if it still doesn't exist in graph.
 /// </summary>
 /// <param name="newVertex"></param>
 private void AddVertex(Vertex newVertex)
 {
     if (!Vertexes.Contains(newVertex))
     {
         Vertexes.Add(newVertex);
     }
 }
        protected void BuildEndCapCutNoHollow(bool top)
        {
            float z = top ? 0.5f : -0.5f;

            for (int i = FirstOuterFace; i <= LastOuterFace; i++)
            {
                int pointCount = OuterFaces[i].GetNumPoints();

                for (int j = 0; j < pointCount - 1; j++)
                {
                    Vector3 first = OuterFaces[i].GetRawVertex(j);
                    first.Z = z;
                    Vector3 second = OuterFaces[i].GetRawVertex(j + 1);
                    second.Z = z;
                    Vector3 center = new Vector3(0, 0, z);

                    // TODO: Texturemapping stuff
                    //Vector2 t1 = texturemapping.GetTextureCoordinate(new Vector2(1 - (p1.x + 0.5), p1.y + 0.5));
                    //Vector2 t2 = texturemapping.GetTextureCoordinate(new Vector2(1 - (p2.x + 0.5), p2.y + 0.5));

                    float transformRatio = top ? 1 : 0;

                    first  = Transform(first, transformRatio);
                    second = Transform(second, transformRatio);
                    center = Transform(center, transformRatio);

                    Vertexes.Add(new VertexPositionColor(first, color));
                    Vertexes.Add(new VertexPositionColor(second, color));
                    Vertexes.Add(new VertexPositionColor(center, color));
                }
            }
        }
Exemple #9
0
        public void Fill()
        {
            if (Width == 0 || Height == 0)
            {
                return;
            }
            Vertexes.Add(TopLeft);
            Vertexes.Add(new Point()
            {
                X = TopLeft.X + Width,
                Y = TopLeft.Y,
            });

            Vertexes.Add(new Point()
            {
                X = TopLeft.X + Width,
                Y = TopLeft.Y + Height,
            });

            Vertexes.Add(new Point()
            {
                X = TopLeft.X,
                Y = TopLeft.Y + Height,
            });
        }
Exemple #10
0
        public void AddVertex(string Name)
        {
            var node = new Node(Name);

            if (!Vertexes.ContainsKey(Name) && Vertexes != null)
            {
                Vertexes.Add(Name, node);
            }
            ;
        }
Exemple #11
0
        public Vertexes Get_OffSet_Points(Vertexes vertx)
        {
            Vertexes off_vertx = new Vertexes();

            off_vertx.Add(vertx[0]);
            int    i    = 1;
            int    D    = 50;
            gPoint gp   = null;
            gPoint gp1  = null;
            double dist = 0.0;

            for (i = D; i < vertx.Count; i += D)
            {
                gp = Get_Offset_Coordinate(Left_Offset, vertx[i - D].x, vertx[i - D].y, vertx[i].x, vertx[i].y);

                gp1  = vd_pl.getClosestPointTo(gp);
                dist = Math.Abs(gp.Distance3D(gp1));
                if (dist >= (Right_Offset / 3.0))
                {
                    off_vertx.Add(gp);
                }
            }
            off_vertx.Add(vertx[vertx.Count - 1]);

            off_vertx.Reverse();
            for (i = D; i < vertx.Count; i += D)
            {
                gp = Get_Offset_Coordinate(Right_Offset, vertx[i - D].x, vertx[i - D].y, vertx[i].x, vertx[i].y);

                gp1  = vd_pl.getClosestPointTo(gp);
                dist = Math.Abs(gp.Distance3D(gp1));
                if (dist >= (Right_Offset / 3.0))
                {
                    off_vertx.Add(gp);
                }
            }
            off_vertx.Add(off_vertx[0]);

            return(off_vertx);
        }
Exemple #12
0
        public static void AddAreaHatch(vdDocument activeDocument, List <LJJSPoint> fillArea, LJJSHatch ljjsHatch)
        {
            Vertexes vts = new Vertexes();

            if (null != fillArea && fillArea.Count > 2)
            {
                for (int i = 0; i < fillArea.Count; i++)
                {
                    vts.Add(new gPoint(fillArea[i].XValue, fillArea[i].YValue));
                }
                VectorDrawHatchHelper.AddAreaHatch(activeDocument, ljjsHatch, vts);
            }
        }
Exemple #13
0
        public override Vertex <TVertex> AddVertex() //добавление вершины
        {
            var v = new Vertex <TVertex>();

            v.Index = CurrentIndex;
            Vertexes.Add(v);
            var A = new AdjList <TVertex, TEdge, TData, TWeight>();

            A.AdjIndex = CurrentIndex;
            Adj.Add(A);
            CurrentIndex++;
            return(v);
        }
        protected void BuildSideVertexes(CrossSection[] crossSection, int transforms)
        {
            float transformOffset = 1.0f / (float)transforms;
            float currentOffset   = -0.5f;

            for (int i = 0; i < transforms; i++)
            {
                for (int j = 0; j < crossSection.Length; j++)
                {
                    int pointCount = crossSection[j].GetNumPoints();

                    if (pointCount > 0)
                    {
                        for (int k = 0; k < pointCount - 1; k++)
                        {
                            Vector3 lower1, lower2, upper1, upper2;
                            float   lowerRatio = (float)i / (float)transforms;
                            float   upperRatio = (float)(i + 1) / (float)transforms;

                            lower1 = crossSection[j].GetRawVertex(k);
                            lower2 = crossSection[j].GetRawVertex(k + 1);

                            lower1.Z = currentOffset;
                            lower2.Z = currentOffset;

                            upper1 = lower1;
                            upper2 = lower2;

                            upper1.Z = currentOffset + transformOffset;
                            upper2.Z = currentOffset + transformOffset;

                            lower1 = Transform(lower1, lowerRatio);
                            lower2 = Transform(lower2, lowerRatio);
                            upper1 = Transform(upper1, upperRatio);
                            upper2 = Transform(upper2, upperRatio);

                            Vertexes.Add(new VertexPositionColor(lower1, color));
                            Vertexes.Add(new VertexPositionColor(lower2, color));
                            Vertexes.Add(new VertexPositionColor(upper2, color));

                            Vertexes.Add(new VertexPositionColor(lower1, color));
                            Vertexes.Add(new VertexPositionColor(upper2, color));
                            Vertexes.Add(new VertexPositionColor(upper1, color));
                        }
                    }
                }

                currentOffset += transformOffset;
            }
        }
Exemple #15
0
        private static ulong AddAreaHatch(vdDocument activeDocument, List <LJJSPoint> hatchPtLst, int areaLineColor, int areaHatchColor, VdConstSplineFlag splineFlag)
        {
            Vertexes hatcharea = new Vertexes();

            if (null != hatchPtLst && hatchPtLst.Count() > 0)
            {
                for (int i = 0; i < hatchPtLst.Count(); i++)
                {
                    gPoint gpt = new gPoint(hatchPtLst[i].XValue, hatchPtLst[i].YValue);
                    hatcharea.Add(gpt);
                }
                return(VectorDrawHelper.AddHatchToFigure(activeDocument, hatcharea, areaLineColor, areaHatchColor, splineFlag));
            }
            return(0);
        }
Exemple #16
0
 public IntermediateObject(Type type, Point3d[] vertexes, bool isClockWise = false)
 {
     if (CheckType(type, vertexes.Length))
     {
         IsClockWise = isClockWise;
         Type        = type;
         if (vertexes != null)
         {
             for (int i = 0; i < vertexes.Length; i++)
             {
                 Vertexes.Add(vertexes[i]);
             }
         }
     }
 }
        protected override void BuildEndCapHollow(bool top)
        {
            float z = top ? 0.5f : -0.5f;

            for (int i = FirstOuterFace; i <= LastOuterFace; i++)
            {
                int pointCount = OuterFaces[i].GetNumPoints();

                if (pointCount >= 2)
                {
                    Vector3 p1 = OuterFaces[i].GetRawVertex(0);
                    Vector3 p2 = OuterFaces[i].GetRawVertex(1);
                    Vector3 p3 = InnerFaces[i].GetRawVertex(0);
                    Vector3 p4 = InnerFaces[i].GetRawVertex(1);

                    p1.Z = p2.Z = p3.Z = p4.Z = z;

                    // TODO: Texturemapping
                    //Vector2 t1 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r1.x + 0.5), r1.y + 0.5));
                    //Vector2 t2 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r2.x + 0.5), r2.y + 0.5));
                    //Vector2 t3 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r3.x + 0.5), r3.y + 0.5));
                    //Vector2 t4 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r4.x + 0.5), r4.y + 0.5));

                    float transformRatio = top ? 1 : 0;

                    p1 = Transform(p1, transformRatio);
                    p2 = Transform(p2, transformRatio);
                    p3 = Transform(p3, transformRatio);
                    p4 = Transform(p4, transformRatio);

                    Vertexes.Add(new VertexPositionColor(p4, color));
                    Vertexes.Add(new VertexPositionColor(p3, color));
                    Vertexes.Add(new VertexPositionColor(p2, color));

                    Vertexes.Add(new VertexPositionColor(p4, color));
                    Vertexes.Add(new VertexPositionColor(p2, color));
                    Vertexes.Add(new VertexPositionColor(p1, color));
                }
            }
        }
Exemple #18
0
        protected override void BuildEndCapHollow(bool top)
        {
            float z = top ? 0.5f : -0.5f;

            // We assume the innerfaces and outerfaces point counts are the same
            int pointCount = OuterFaces[0].GetNumPoints();

            for (int j = 0; j < pointCount - 1; j++)
            {
                Vector3 p1 = OuterFaces[0].GetRawVertex(j);
                Vector3 p2 = OuterFaces[0].GetRawVertex(j + 1);
                Vector3 p3 = InnerFaces[0].GetRawVertex(j);
                Vector3 p4 = InnerFaces[0].GetRawVertex(j + 1);

                p1.Z = p2.Z = p3.Z = p4.Z = z;

                // TODO: Texturemapping
                //Vector2 t1 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r1.x + 0.5), r1.y + 0.5));
                //Vector2 t2 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r2.x + 0.5), r2.y + 0.5));
                //Vector2 t3 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r3.x + 0.5), r3.y + 0.5));
                //Vector2 t4 = texturemapping.GetTextureCoordinate(new Vector2(1 - (r4.x + 0.5), r4.y + 0.5));

                float transformRatio = top ? 1 : 0;

                p1 = Transform(p1, transformRatio);
                p2 = Transform(p2, transformRatio);
                p3 = Transform(p3, transformRatio);
                p4 = Transform(p4, transformRatio);

                Vertexes.Add(new VertexPositionColor(p4, color));
                Vertexes.Add(new VertexPositionColor(p3, color));
                Vertexes.Add(new VertexPositionColor(p2, color));

                Vertexes.Add(new VertexPositionColor(p3, color));
                Vertexes.Add(new VertexPositionColor(p2, color));
                Vertexes.Add(new VertexPositionColor(p1, color));
            }
        }
Exemple #19
0
        public override void FillShapeEntities(ref vdEntities entities)
        {
            //calculate shape entities in ecs

            gPoint cen  = new gPoint();
            vdText text = new vdText();

            //entities.AddItem(text);
            //text.MatchProperties(this, Document);

            text.Style          = TextStyle;
            text.TextString     = TextString;
            text.VerJustify     = VdConstVerJust.VdTextVerCen;
            text.HorJustify     = VdConstHorJust.VdTextHorCenter;
            text.Height         = TextHeight;
            text.InsertionPoint = cen;
            vdPolyline pl = new vdPolyline();

            entities.AddItem(cirStart);
            entities.AddItem(pl);
            //entities.AddItem(pl2);

            pl.MatchProperties(this, Document);
            cirStart.MatchProperties(this, Document);
            cirEnd.MatchProperties(this, Document);

            Vertexes verts = new Vertexes();

            double stepangle = Globals.VD_TWOPI / this.NumSides;
            double sang      = 0.0d;

            for (int i = 0; i < NumSides; i++)
            {
                verts.Add(gPoint.Polar(cen, sang, Radius));
                sang += stepangle;
            }
            pl.VertexList = verts;
            pl.Flag       = VdConstPlineFlag.PlFlagCLOSE;

            //entities.AddItem(cirEnd);

            cirStart.Center    = cen;
            cirStart.Radius    = mRadius;
            cirStart.Thickness = PipeHeight;
            //cirStart.Thickness = cirStart.Center.Distance3D(EndPoint);
            //cirStart.ExtrusionVector = new Vector(0.0, 1.0, 0.0);
            //cirStart.ExtrusionVector = Vector.CreateExtrusion(EndPoint, StartPoint);
            cirStart.ExtrusionVector = Vector.CreateExtrusion(StartPoint, EndPoint);


            cirEnd.Center = EndPoint;
            cirEnd.Radius = mRadius;
            //cirEnd.ExtrusionVector = Vector.CreateExtrusion(cen, EndPoint);
            //cirEnd.ExtrusionVector = cirStart.ExtrusionVector;



            // Draw DisNet Pipe
            gPoints gPts = GetDisNetPipePoints();

            //vdPolyline plDisNet = new vdPolyline();
            pl.VertexList = new Vertexes(gPts);
            //entities.AddItem(pl);
        }
        public void ParseObj(StreamReader data)
        {
            string  parse        = string.Empty;
            WtGroup CurrentGroup = null;

            while ((parse = data.ReadLine()) != null)
            {
                int castword = WordsParser.WordIndex(ref parse, 0);

                if (WordsParser.WordCmp(ref parse, castword, WordsParser.WordLen(ref parse, castword), ref Usemtl, 0, 6))
                {
                    WtGroup gp = new WtGroup();
                    CurrentGroup = gp;

                    Groups.Add(CurrentGroup);
                    castword = WordsParser.WordNext(ref parse, castword);
                    CurrentGroup.Material = _getMaterialFromName(WordsParser.WordStringValue(ref parse, castword));
                    continue;
                }

                if (WordsParser.WordCmp(ref parse, castword, WordsParser.WordLen(ref parse, castword), ref F, 0, 1))
                {
                    WtFace v;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.V0     = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VT0    = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VN0    = WordsParser.WordIntValue(ref parse, castword) - 1;



                    castword = WordsParser.WordNext(ref parse, castword);
                    v.V1     = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VT1    = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VN1    = WordsParser.WordIntValue(ref parse, castword) - 1;

                    castword = WordsParser.WordNext(ref parse, castword);
                    v.V2     = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VT2    = WordsParser.WordIntValue(ref parse, castword) - 1;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.VN2    = WordsParser.WordIntValue(ref parse, castword) - 1;


                    //Console.WriteLine("f {0}/{1}/{2} {3}/{4}/{5} {6}/{7}/{8}", v.V0, v.VN0, v.VT0, v.V1, v.VN1,v.VT1, v.V2, v.VN2, v.VT2);
                    CurrentGroup.Faces.Add(v);

                    continue;
                }


                if (WordsParser.WordCmp(ref parse, castword, WordsParser.WordLen(ref parse, castword), ref Vn, 0, 2))
                {
                    WtVector3 v;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.X      = WordsParser.WordFloatValue(ref parse, castword);
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.Y      = WordsParser.WordFloatValue(ref parse, castword);
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.Z      = WordsParser.WordFloatValue(ref parse, castword);
                    //Console.WriteLine("VN {0}, {1}, {2}", v.X, v.Y, v.Z);
                    Normals.Add(v);

                    continue;
                }

                if (WordsParser.WordCmp(ref parse, castword, WordsParser.WordLen(ref parse, castword), ref Vt, 0, 2))
                {
                    WtVector2 v;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.X      = WordsParser.WordFloatValue(ref parse, castword);
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.Y      = WordsParser.WordFloatValue(ref parse, castword);
                    //Console.WriteLine("VT {0}, {1}", v.X, v.Y);
                    TextureCoords.Add(v);

                    continue;
                }


                if (WordsParser.WordCmp(ref parse, castword, WordsParser.WordLen(ref parse, castword), ref V, 0, 1))
                {
                    WtVector3 v;
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.X      = WordsParser.WordFloatValue(ref parse, castword);
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.Y      = WordsParser.WordFloatValue(ref parse, castword);
                    castword = WordsParser.WordNext(ref parse, castword);
                    v.Z      = WordsParser.WordFloatValue(ref parse, castword);
                    //Console.WriteLine("V {0}, {1}, {2}",v.X,v.Y, v.Z);
                    Vertexes.Add(v);

                    continue;
                }
            }
        }
Exemple #21
0
 public void AppendVertex(Vector3 vertex)
 {
     Vertexes.Add(new Vertex(vertex));
 }
Exemple #22
0
 public void AppendVertex(float X, float Y, float Z, float U, float V)
 {
     Vertexes.Add(new Vertex(X, Y, Z, U, V));
 }
Exemple #23
0
 public void AppendVertex(Vector3 vertex, Vector2 texture)
 {
     Vertexes.Add(new Vertex(vertex.X, vertex.Y, vertex.Z, texture.X, texture.Y));
 }
Exemple #24
0
 public void AppendVertex(Vertex vertex)
 {
     Vertexes.Add(vertex);
 }
Exemple #25
0
 public Point(Vertex vertex)
 {
     this.Type     = ShapeType.Point;
     this.Vertexes = new List <Vertex>();
     Vertexes.Add(vertex);
 }
Exemple #26
0
        public bool RunProgram()
        {
            //vd_pl.
            try
            {
                List <string> HEADS_Data = new List <string>();
                string        str        = "";
                string        exe_file   = "DGM2.EXE";
                this.checkMasterString_.Checked = true;
                if (chainage_points == null)
                {
                    chainage_points = new List <CPTStype>();
                }
                chainage_points.Clear();
                ProcessData();
                Vertexes vtx = new Vertexes(ptCords);
                this.checkMasterString_.Checked = false;
                ptCords.RemoveAll();
                for (int i = 0; i < chainage_points.Count; i++)
                {
                    ptCords.Add(new gPoint(chainage_points[i].mx, chainage_points[i].my, chainage_points[i].mz));
                }
                ptCords = Get_OffSet_Points(ptCords);


                SurveyDataCollection s_data_col = new SurveyDataCollection(txt_select_survey_data.Text);
                s_data_col.Write_Model("");

                s_data_col.Write_Model(ptCords, txt_model.Text, txt_string.Text, WorkingPath);
                s_data_col.Write_Model(ptCords, txt_model.Text + "%%", txt_string.Text, WorkingPath);


                frm_GroundModeling ff = new frm_GroundModeling(Survey_File);
                ff.Owner = this;

                bool flag = !(HeadsUtils.Constants.BuildType == eHEADS_RELEASE_TYPE.DEMO);
                if (ff.ShowDialog() == DialogResult.OK)
                {
                    exe_file = flag ? "DTM_Pro.EXE" : "DTM_Demo.EXE";
                    //HEADS
                    HEADS_Data.Add("HEADS");
                    //100,DGM
                    HEADS_Data.Add("100,DGM");
                    //101,BOU,MODEL=BOUND,STRING=BDRY
                    HEADS_Data.Add("101,BOU,MODEL=" + txt_model.Text + ",STRING=" + txt_string.Text);
                    //FINISH
                    HEADS_Data.Add("FINISH");
                    File.WriteAllLines(Temp_File, HEADS_Data.ToArray());
                    SetEnvironmentVar(Temp_File);
                    //MessageBox.Show("3");
                    RunExe(exe_file);
                }
                exe_file = "DGCONT.EXE";
                exe_file = flag ? "DGCONT_Pro.EXE" : "DGCONT_Demo.EXE";

                HEADS_Data.Clear();
                //HEADS
                HEADS_Data.Add("HEADS");
                //100,DGM
                HEADS_Data.Add("100,DGM");
                //104,CON,MODEL=CONTOUR,STRING=C001,INC=1.0
                str = string.Format("104,CON,MODEL={0},STRING={1},INC={2}",
                                    txt_pri_model.Text,
                                    txt_pri_string.Text,
                                    txt_pri_inc.Text);
                HEADS_Data.Add(str);
                //104,CON,MODEL=CONTOUR,STRING=C005,INC=5.0
                str = string.Format("104,CON,MODEL={0},STRING={1},INC={2}",
                                    txt_sec_model.Text,
                                    txt_sec_string.Text,
                                    txt_sec_inc.Text);
                HEADS_Data.Add(str);
                //105,TXT,MODEL=CONTOUR,STRING=ELE2,INC=5.0,TSI=5
                str = string.Format("105,TXT,MODEL={0},STRING={1},INC={2}",
                                    txt_ele_model.Text,
                                    txt_ele_string.Text,
                                    txt_ele_inc.Text);
                HEADS_Data.Add(str);
                //FINISH
                str = "FINISH";
                HEADS_Data.Add(str);
                File.WriteAllLines(Temp_File, HEADS_Data.ToArray());
                SetEnvironmentVar(Temp_File);
                RunExe(exe_file);
            }
            catch (Exception ex) { }
            return(true);
        }
Exemple #27
0
 public override void Add(PointD Point)
 {
     Vertexes.Add(Point);
     VertexCount++;
     UpdateSCS();
 }
Exemple #28
0
 public void AddNewVertex(Point coordinates, Rectangle pixel)
 {
     Vertexes.Add(new Vertex(vertexIndexer++, coordinates, pixel));
 }