コード例 #1
0
        public void Setup()
        {
            noFallOffPolicy = new NoFallOffPolicy();
            lineStringSource =
                new LineString(new[]
                                   {
                                       new Coordinate(0, 0), new Coordinate(10, 0), new Coordinate(20, 0),
                                       new Coordinate(30, 0), new Coordinate(40, 0)
                                   });
            lineStringTarget = (ILineString)lineStringSource.Clone();
            theLarch = new LineString(new[]
                                   {
                                       new Coordinate(0, 0), new Coordinate(10, 0), new Coordinate(20, 0),
                                       new Coordinate(30, 0), new Coordinate(40, 0), new Coordinate(50, 0)
                                   });

        }
コード例 #2
0
        public override bool MoveTracker(TrackerFeature trackerFeature, double deltaX, double deltaY,
                                         SnapResult snapResult = null)
        {
            if (trackerFeature == AllTracker)
            {
                if (FallOffPolicy == null)
                {
                    FallOffPolicy = new NoFallOffPolicy();
                }

                var handles = TrackerIndices.ToList();

                FallOffPolicy.Move(TargetFeature.Geometry, Trackers.Select(t => t.Geometry).ToList(),
                                   handles, -1, deltaX, deltaY);

                foreach (var topologyRule in FeatureRelationEditors)
                {
                    topologyRule.UpdateRelatedFeatures(SourceFeature, TargetFeature.Geometry, handles);
                }

                return true;
            }
            return base.MoveTracker(trackerFeature, deltaX, deltaY, snapResult);
        }