本文整理汇总了C#中Polyline.RequireInit方法的典型用法代码示例。如果您正苦于以下问题:C# Polyline.RequireInit方法的具体用法?C# Polyline.RequireInit怎么用?C# Polyline.RequireInit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Polyline
的用法示例。
在下文中一共展示了Polyline.RequireInit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InsertPointIntoPolylineAfter
internal static PolylinePoint InsertPointIntoPolylineAfter(Polyline borderPolyline, PolylinePoint insertAfter,
Point pointToInsert) {
PolylinePoint np;
if (insertAfter.Next != null) {
np = new PolylinePoint(pointToInsert) { Prev = insertAfter, Next = insertAfter.Next, Polyline = borderPolyline };
insertAfter.Next.Prev = np;
insertAfter.Next = np;
} else {
np = new PolylinePoint(pointToInsert) { Prev = insertAfter, Polyline = borderPolyline };
insertAfter.Next = np;
borderPolyline.EndPoint = np;
}
Debug.Assert(
!(ApproximateComparer.Close(np.Point, np.PrevOnPolyline.Point) ||
ApproximateComparer.Close(np.Point, np.NextOnPolyline.Point)));
borderPolyline.RequireInit();
return np;
}
示例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");
}