コード例 #1
0
        /// <summary>
        /// Move the coordinate
        /// </summary>
        /// <param name="worldCoord"></param>
        internal override void MoveAll(double divX, double divY)
        {
            if (ActiveCollection != null && ActiveCollection.CanAddCoordinate() && ActiveCollection.Valid)
            {
                var oldCoordinates = new List <Coordinate>(Coordinates);

                for (int nr = 0; nr < Coordinates.Count; nr++)
                {
                    DeleteLastCoordinate();
                }

                var coordinates = Coordinates;
                coordinates.Clear();

                ActiveCollection.Clear();
                ActiveCollection.CoordinateSystem = this.CoordinateSystem;
                ActiveCollection.Transform        = this.PixelToWorldTransform;

                foreach (var coord in oldCoordinates)
                {
                    var cd = new Coordinate(coord.X + divX, coord.Y + divY);

                    coordinates.Add(cd);

                    ActiveCollection.MovedCoordinate(coordinates, cd);
                    ActiveCollection.AddedCoordinate(coordinates, cd);
                }

                if (LastMouseCoordinate != null)
                {
                    MoveCoordinate(LastMouseCoordinate);
                }

                CreateFeatureGeometry();
            }
        }