Exemplo n.º 1
0
 public void Execute(IVectorImageProvider imageProvider)
 {
     foreach (Shape2D s in imageProvider.CurrImage.GetPrimitives <Shape2D>())
     {
         s.RemoveDuplicates();
     }
 }
Exemplo n.º 2
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            WktLoaderDialog wktDlg = new WktLoaderDialog();

            if (wktDlg.ShowDialog() == DialogResult.OK)
            {
                string filename = wktDlg.WktFileName;
                if (File.Exists(filename))
                {
                    if (filename.ToLower().EndsWith("wkb"))
                    {
                        WkbReader wkb = new WkbReader(File.ReadAllText(filename));
                        wkb.LoadIntoImage(imageProvider.CurrImage, wktDlg.FlipYAxis);
                    }
                    else
                    {
                        WktReader.ReadFile(imageProvider.LayeredVectorImage, filename, wktDlg.ScaleDivider, wktDlg.FlipYAxis, wktDlg.IncermentalCoordinates);
                    }
                }

                if (wktDlg.WktFreeText.Length > 1)
                {
                    if (IsHexString(wktDlg.WktFreeText))
                    {
                        WkbReader wkb = new WkbReader(wktDlg.WktFreeText);
                        wkb.LoadIntoImage(imageProvider.CurrImage, wktDlg.FlipYAxis);
                    }
                    else
                    {
                        WktReader.ReadText(imageProvider.LayeredVectorImage, wktDlg.WktFreeText, wktDlg.ScaleDivider, wktDlg.FlipYAxis, wktDlg.IncermentalCoordinates);
                    }
                }
            }
            wktDlg.Dispose();
        }
Exemplo n.º 3
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            List <Line2D> lines = Line2DFunctions.TestLineIntersections(imageProvider.CurrImage.GetPrimitives <Line2D>());

            foreach (Line2D l in lines)
            {
                PrimitiveRenderData.Get(l).Color = Colors.Line2DIntersection;
            }
        }
Exemplo n.º 4
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            EarClippingTriangulation earClipping = new EarClippingTriangulation();

            foreach (Shape2D p in imageProvider.CurrImage.GetPrimitives <Shape2D>())
            {
                earClipping.AddShape(imageProvider.CurrImage.GetPrimitives <Vector2D>().ToArray());
            }
            earClipping.Triangulate();
            imageProvider.CurrImage.Add(earClipping.GetPrimitives());
        }
Exemplo n.º 5
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Comma Seperated Value (*.csv)|*.csv";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                CsvReader loader = new CsvReader(dlg.FileName);
                imageProvider.CurrImage.Add(loader.GetPoints());
            }
        }
Exemplo n.º 6
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            DelaunayTriangulation triangulator = new DelaunayTriangulation(new VectorCloud2D(imageProvider.CurrImage.GetPrimitives <Vector2D>()));

            imageProvider.CurrImage.primitives.AddRange(triangulator.Triangulate());

            /*
             * foreach (Shape2D s in image.GetPrimitives<Shape2D>())
             * {
             *      s.RemoveDuplicates();
             * }
             */
        }
        public void Execute(IVectorImageProvider imageProvider)
        {
            List <Line2D> lines = new List <Line2D>();

            foreach (Primitive2D p in imageProvider.CurrImage.primitives)
            {
                if (p is Shape2D)
                {
                    lines.AddRange(Line2DFunctions.TestLineIntersections((p as Shape2D).GetLines()));
                }
            }
            imageProvider.CurrImage.primitives.AddRange(lines);
        }
Exemplo n.º 8
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            bool          hasIntersections = false;
            VectorCloud2D cloud            = new VectorCloud2D(imageProvider.CurrImage.GetPrimitives <Vector2D>());

            for (int i = 0; i < cloud.Count - 2; i++)
            {
                Vector2D v1 = cloud[i];
                Vector2D v2 = cloud[i + 1];
                Vector2D v3 = cloud[i + 2];

                int countEqual = 0;
                if (v1.IsPositionEqual(v2))
                {
                    countEqual++;
                }
                if (v1.IsPositionEqual(v3))
                {
                    countEqual++;
                }
                if (v2.IsPositionEqual(v3))
                {
                    countEqual++;
                }
                bool isJumpLine = countEqual > 0;
                if (isJumpLine)
                {
                    imageProvider.CurrImage.Add(new Line2D(v1, v2));
                    imageProvider.CurrImage.Add(new Line2D(v2, v3));
                    imageProvider.CurrImage.Add(new Line2D(v3, v1));
                }
                else
                {
                    Triangle2D t = new Triangle2D(v1, v2, v3);
                    if (CheckTriangleListIntersection(imageProvider.CurrImage, t))
                    {
                        hasIntersections = true;
                        PrimitiveRenderData.Get(t).Color   = Color.Lime;
                        PrimitiveRenderData.Get(t.a).Color = Color.Lime;
                        PrimitiveRenderData.Get(t.b).Color = Color.Lime;
                        PrimitiveRenderData.Get(t.c).Color = Color.Lime;
                    }
                    imageProvider.CurrImage.Add(t);
                }
            }
            if (hasIntersections)
            {
                MessageBox.Show("Has intersections!!!!!!");
            }
        }
Exemplo n.º 9
0
        public void Execute(IVectorImageProvider imageProvider)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Doom wad files (*.wad)|*.wad";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                using (BinaryReader reader = new BinaryReader(File.Open(dlg.FileName, FileMode.Open)))
                {
                    WadReader wad = new WadReader();
                    wad.ReadLumps(reader);

                    WadLevelSelectionDlg wadDlg = new WadLevelSelectionDlg();
                    wadDlg.SetLevels(wad.levels);
                    if (wadDlg.ShowDialog() == DialogResult.OK)
                    {
                        LevelReader lvlReader = new LevelReader(wadDlg.Level);
                        lvlReader.ReadData(reader);
                        LevelBuilder.BuildImage(imageProvider.CurrImage, lvlReader, 1.0f);
                    }
                    wadDlg.Dispose();
                }
            }
        }
Exemplo n.º 10
0
 public PluginMenuProxy(IVectorImageProvider imageProvider)
 {
     imgProvider = imageProvider;
 }
 public void Execute(IVectorImageProvider imageProvider)
 {
     imageProvider.CurrImage.Add(Tests.PointCloudCreator.Create(new Rectangle2D(-200, -200, 200, 200), 50));
 }