本文整理汇总了C#中Vertices.nextVertex方法的典型用法代码示例。如果您正苦于以下问题:C# Vertices.nextVertex方法的具体用法?C# Vertices.nextVertex怎么用?C# Vertices.nextVertex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vertices
的用法示例。
在下文中一共展示了Vertices.nextVertex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: collinearSimplify
/// <summary>
/// Removes all collinear points on the polygon.
/// </summary>
/// <param name="vertices">The polygon that needs simplification.</param>
/// <param name="collinearityTolerance">The collinearity tolerance.</param>
/// <returns>A simplified polygon.</returns>
public static Vertices collinearSimplify( Vertices vertices, float collinearityTolerance = 0 )
{
if( vertices.Count <= 3 )
return vertices;
var simplified = new Vertices( vertices.Count );
for( int i = 0; i < vertices.Count; i++ )
{
var prev = vertices.previousVertex( i );
var current = vertices[i];
var next = vertices.nextVertex( i );
//If they collinear, continue
if( MathUtils.isCollinear( ref prev, ref current, ref next, collinearityTolerance ) )
continue;
simplified.Add( current );
}
return simplified;
}
示例2: reduceByDistance
/// <summary>
/// Reduces the polygon by distance.
/// </summary>
/// <param name="vertices">The vertices.</param>
/// <param name="distance">The distance between points. Points closer than this will be removed.</param>
public static Vertices reduceByDistance( Vertices vertices, float distance )
{
if( vertices.Count <= 3 )
return vertices;
float distance2 = distance * distance;
Vertices simplified = new Vertices( vertices.Count );
for( int i = 0; i < vertices.Count; i++ )
{
Vector2 current = vertices[i];
Vector2 next = vertices.nextVertex( i );
//If they are closer than the distance, continue
if( ( next - current ).LengthSquared() <= distance2 )
continue;
simplified.Add( current );
}
return simplified;
}