Beispiel #1
0
 public override void Select(ITrackerFeature trackerFeature, bool select)
 {
     if (trackerFeature.Selected != select)
     {
         trackerFeature.Selected = select;
         if (null != VectorStyle)
         {
             if (select)
             {
                 trackerFeature.Bitmap = TrackerSymbolHelper.GenerateComposite(new Pen(Color.Blue),
                                                                               new SolidBrush(Color.DarkBlue),
                                                                               VectorStyle.Symbol.Width,
                                                                               VectorStyle.Symbol.Height,
                                                                               6,
                                                                               6);
             }
             else
             {
                 trackerFeature.Bitmap = TrackerSymbolHelper.GenerateComposite(new Pen(Color.Lime),
                                                                               new SolidBrush(Color.Green),
                                                                               VectorStyle.Symbol.Width,
                                                                               VectorStyle.Symbol.Height,
                                                                               6,
                                                                               6);
             }
         }
     }
 }
Beispiel #2
0
 public MeasureTool(MapControl mapControl)
     : base(mapControl)
 {
     pointGometries          = new Collection <IGeometry>();
     pointLayer              = new VectorLayer();
     pointLayer.Name         = "measure";
     pointLayer.DataSource   = new DataTableFeatureProvider(pointGometries);
     pointLayer.Style.Symbol = TrackerSymbolHelper.GenerateSimple(Pens.DarkMagenta, Brushes.Indigo, 6, 6);
     pointLayer.Enabled      = false;
     pointLayer.ShowInLegend = false;
 }
Beispiel #3
0
        public MeasureTool()
        {
            geometries      = new List <IGeometry>();
            pointGeometries = geometries.OfType <GeoPoint>();

            pointLayer              = new VectorLayer();
            pointLayer.Name         = "measure";
            pointLayer.DataSource   = new DataTableFeatureProvider(geometries);
            pointLayer.Style.Symbol = TrackerSymbolHelper.GenerateSimple(Pens.DarkMagenta, Brushes.Indigo, 6, 6);
            pointLayer.Visible      = false;
            pointLayer.ShowInLegend = false;
        }
Beispiel #4
0
        protected override void CreateTrackers()
        {
            IPoint point = GeometryFactory.CreatePoint((ICoordinate)SourceFeature.Geometry.Coordinates[0].Clone());

            trackers.Add(new TrackerFeature(this, point, 0, /*SelectedImageTracker*/
                                            (VectorStyle != null) ? TrackerSymbolHelper.GenerateComposite(new Pen(Color.Blue),
                                                                                                          new SolidBrush(Color.DarkBlue),
                                                                                                          VectorStyle.Symbol.Width,
                                                                                                          VectorStyle.Symbol.Height,
                                                                                                          6,
                                                                                                          6) : null));
            trackers[0].Selected = true;
        }
Beispiel #5
0
        protected override void CreateTrackers()
        {
            if (trackerSmallStart == null)
            {
                trackerSmallStart = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Blue), new SolidBrush(Color.DarkBlue), 6, 6);
                trackerSmallEnd   = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Tomato), new SolidBrush(Color.Maroon), 6, 6);
                //NS, 2013-10-11, Warna track symbol dari Green ke Red
                trackerSmall         = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Red), new SolidBrush(Color.OrangeRed), 6, 6);//TrackerSymbolHelper.GenerateSimple(new Pen(Color.Green), new SolidBrush(Color.Lime), 6, 6);
                selectedTrackerSmall = TrackerSymbolHelper.GenerateSimple(new Pen(Color.DarkMagenta), new SolidBrush(Color.Magenta), 6, 6);
            }
            trackers.Clear();
            // optimization: SourceFeature.Geometry.Coordinates is an expensive operation
            if (SourceFeature.Geometry == null)
            {
                return;
            }

            ICoordinate[] coordinates = SourceFeature.Geometry.Coordinates;
            //NS, 2014-05-06
            //Untuk point akhir dari polygon tidak dibuatkan tracker
            int coordCount = 0;

            if (SourceFeature.Geometry.GeometryType == "Polygon")
            {
                coordCount = coordinates.Length - 1;
            }
            else
            {
                coordCount = coordinates.Length;
            }

            //for (int i = 0; i < coordinates.Length; i++)
            for (int i = 0; i < coordCount; i++)
            {
                ICoordinate coordinate  = coordinates[i];
                IPoint      selectPoint = GeometryFactory.CreatePoint(coordinate.X, coordinate.Y);
                if (0 == i)
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmallStart));
                }
                else if ((coordinates.Length - 1) == i)
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmallEnd));
                }
                else
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmall));
                }
            }
            AllTracker = new TrackerFeature(this, null, -1, null);
        }
Beispiel #6
0
        public SnapTool()
        {
            activeTracker = TrackerSymbolHelper.GenerateSimple(new Pen(Color.DarkGreen),
                                                               new SolidBrush(Color.Orange), 8, 8);
            Failed         = true;
            snapLayer.Name = "snapping";

            var provider = new DataTableFeatureProvider(geometries);

            snapLayer.DataSource   = provider;
            snapLayer.Style.Line   = new Pen(Color.DarkViolet, 2);
            snapLayer.Style.Fill   = new SolidBrush(Color.FromArgb(127, Color.DarkSlateBlue));
            snapLayer.Style.Symbol = activeTracker;
            provider.Attributes.Columns.Add("id", typeof(string));

            var iTheme = new Rendering.Thematics.CustomTheme(GetTrackerStyle);

            snapLayer.Theme = iTheme;
        }
Beispiel #7
0
        protected override void CreateTrackers()
        {
            if (SourceFeature == null || SourceFeature.Geometry == null)
            {
                return;
            }

            if (trackerSmallStart == null)
            {
                trackerSmallStart    = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Blue), new SolidBrush(Color.DarkBlue), 6, 6);
                trackerSmallEnd      = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Tomato), new SolidBrush(Color.Maroon), 6, 6);
                trackerSmall         = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Green), new SolidBrush(Color.Lime), 6, 6);
                selectedTrackerSmall = TrackerSymbolHelper.GenerateSimple(new Pen(Color.DarkMagenta), new SolidBrush(Color.Magenta), 6, 6);
            }

            Trackers.Clear();
            Trackers.AddRange(CreateTrackersForGeometry(SourceFeature.Geometry));

            AllTracker = new TrackerFeature(this, null, -1, null);
        }
Beispiel #8
0
        protected override void CreateTrackers()
        {
            if (trackerSmallStart == null)
            {
                trackerSmallStart    = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Blue), new SolidBrush(Color.DarkBlue), 6, 6);
                trackerSmallEnd      = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Tomato), new SolidBrush(Color.Maroon), 6, 6);
                trackerSmall         = TrackerSymbolHelper.GenerateSimple(new Pen(Color.Green), new SolidBrush(Color.Lime), 6, 6);
                selectedTrackerSmall = TrackerSymbolHelper.GenerateSimple(new Pen(Color.DarkMagenta), new SolidBrush(Color.Magenta), 6, 6);
            }
            trackers.Clear();
            // optimization: SourceFeature.Geometry.Coordinates is an expensive operation
            if (SourceFeature.Geometry == null)
            {
                return;
            }

            ICoordinate[] coordinates = SourceFeature.Geometry.Coordinates;
            for (int i = 0; i < coordinates.Length; i++)
            {
                ICoordinate coordinate  = coordinates[i];
                IPoint      selectPoint = GeometryFactory.CreatePoint(coordinate.X, coordinate.Y);
                if (0 == i)
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmallStart));
                }
                else if ((coordinates.Length - 1) == i)
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmallEnd));
                }
                else
                {
                    trackers.Add(new TrackerFeature(this, selectPoint, i, trackerSmall));
                }
            }
            AllTracker = new TrackerFeature(this, null, -1, null);
        }