本文整理汇总了C#中Polyline.RemoveEndPoint方法的典型用法代码示例。如果您正苦于以下问题:C# Polyline.RemoveEndPoint方法的具体用法?C# Polyline.RemoveEndPoint怎么用?C# Polyline.RemoveEndPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polyline
的用法示例。
在下文中一共展示了Polyline.RemoveEndPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemoveCloseAndCollinearVerticesInPlace
internal static Polyline RemoveCloseAndCollinearVerticesInPlace(Polyline polyline) {
var epsilon = ApproximateComparer.IntersectionEpsilon * 10;
for (PolylinePoint pp = polyline.StartPoint.Next; pp != null; pp = pp.Next) {
if (ApproximateComparer.Close(pp.Prev.Point, pp.Point, epsilon)) {
if (pp.Next == null) {
polyline.RemoveEndPoint();
} else {
pp.Prev.Next = pp.Next;
pp.Next.Prev = pp.Prev;
}
}
}
if (ApproximateComparer.Close(polyline.Start, polyline.End, epsilon)) {
polyline.RemoveStartPoint();
}
InteractiveEdgeRouter.RemoveCollinearVertices(polyline);
if ((polyline.EndPoint.Prev != null) &&
(Point.GetTriangleOrientation(polyline.EndPoint.Prev.Point, polyline.End, polyline.Start) == TriangleOrientation.Collinear)) {
polyline.RemoveEndPoint();
}
if ((polyline.StartPoint.Next != null) &&
(Point.GetTriangleOrientation(polyline.End, polyline.Start, polyline.StartPoint.Next.Point) == TriangleOrientation.Collinear)) {
polyline.RemoveStartPoint();
}
return polyline;
}