当前位置: 首页>>代码示例>>C#>>正文


C# ILineString.Clone方法代码示例

本文整理汇总了C#中ILineString.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# ILineString.Clone方法的具体用法?C# ILineString.Clone怎么用?C# ILineString.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ILineString的用法示例。


在下文中一共展示了ILineString.Clone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Simplify

 /// <summary>
 /// Simplifies the line with the given tolerance.
 /// Writes the result in file.
 /// </summary>
 /// <param name="line">Line to simplify</param>
 /// <param name="tolerance">Tolerance to use by simplify function</param>
 /// <param name="supposedResult">The supposed result</param>
 /// <param name="index"></param>
 public void Simplify(ILineString line, double tolerance, ILineString supposedResult, int index)
 {
     try
     {
         Console.WriteLine("Job {0} started", index);
         IGeometry geometry = TopologyPreservingSimplifier.Simplify((ILineString)line.Clone(), tolerance);
         Assert.IsTrue(geometry.Equals(supposedResult));
         Console.WriteLine("Job {0} terminated", index);
     }
     finally
     {
         Interlocked.Increment(ref _finishedJob);
     }
 }
开发者ID:Walt-D-Cat,项目名称:NetTopologySuite,代码行数:22,代码来源:Issue102Test.cs

示例2: AppendCoordinate

        private void AppendCoordinate(ILineString lineString, ICoordinate worldPosition)
        {
            var newLineString = (ILineString)lineString.Clone();

            double worldDistance = MapHelper.ImageToWorld(Map, (int)ActualMinDistance);

            ICoordinate coordinate;
            if (TemporalEnd)
                coordinate = lineString.Coordinates[lineString.Coordinates.Length - 2];
            else
                coordinate = lineString.Coordinates[lineString.Coordinates.Length - 1];
            if (worldPosition.Distance(coordinate) > worldDistance)
            {
                // if distance is larger than marge add new coordinate at exact location. During drawing line
                // you do not want to snap. For example a line should be able to pass very near a node.

                // HACK: not nice to solve here. If autocurve do not add snapped point when dragging. If not auto
                // curve use the actualSnapping value (=Snap)
                ICoordinate SnapLocation = worldPosition;
                if (!AutoCurve)
                    SnapLocation = Snap(worldPosition).Location;
                if (TemporalEnd)
                    newLineString = (ILineString)GeometryHelper.SetCoordinate(lineString, lineString.Coordinates.Length - 1, SnapLocation);
                else
                    newLineString = AppendCurvePoint(lineString, SnapLocation);
                TemporalEnd = false;
            }
            else
            {
                
                ICoordinate snapLocation = Snap(worldPosition).Location;
                if (TemporalEnd)
                    newLineString = (ILineString)GeometryHelper.SetCoordinate(lineString, lineString.Coordinates.Length - 1, snapLocation);
                else
                    newLineString = AppendCurvePoint(lineString, snapLocation);
                TemporalEnd = true;
            }
            newLineGeometry.Clear();
            newLineGeometry.Add(newLineString);
        }
开发者ID:lishxi,项目名称:_SharpMap,代码行数:40,代码来源:NewLineTool.cs


注:本文中的ILineString.Clone方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。