本文整理汇总了C#中Polyline.IsClockwise方法的典型用法代码示例。如果您正苦于以下问题:C# Polyline.IsClockwise方法的具体用法?C# Polyline.IsClockwise怎么用?C# Polyline.IsClockwise使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polyline
的用法示例。
在下文中一共展示了Polyline.IsClockwise方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PolylineAroundClosedCurve
/// <summary>
///
/// </summary>
/// <param name="curve"></param>
/// <returns></returns>
public static Polyline PolylineAroundClosedCurve(ICurve curve) {
Polyline ret;
var ellipse = curve as Ellipse;
if (ellipse != null)
ret = RefineEllipse(ellipse);
else {
var poly = curve as Polyline;
if (poly != null)
return poly;
var c = curve as Curve;
if (c != null && AllSegsAreLines(c)) {
ret = new Polyline();
foreach (LineSegment ls in c.Segments)
ret.AddPoint(ls.Start);
ret.Closed = true;
if (!ret.IsClockwise())
ret = (Polyline) ret.Reverse();
}
else
ret = StandardRectBoundary(curve);
}
return ret;
}
示例2: RoundVertices
internal static void RoundVertices(Polyline polyline) {
// Following creation of the padded border, round off the vertices for consistency
// in later operations (intersections and event ordering).
PolylinePoint ppt = polyline.StartPoint;
do {
ppt.Point = ApproximateComparer.Round(ppt.Point);
ppt = ppt.NextOnPolyline;
} while (ppt != polyline.StartPoint);
RemoveCloseAndCollinearVerticesInPlace(polyline);
// We've modified the points so the BoundingBox may have changed; force it to be recalculated.
polyline.RequireInit();
// Verify that the polyline is still clockwise.
Debug.Assert(polyline.IsClockwise(), "Polyline is not clockwise after RoundVertices");
}