本文整理汇总了C#中Segment.Split方法的典型用法代码示例。如果您正苦于以下问题:C# Segment.Split方法的具体用法?C# Segment.Split怎么用?C# Segment.Split使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Segment
的用法示例。
在下文中一共展示了Segment.Split方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SplitHelper
/// <summary>
/// Splits segmentToSplit in two based on iLocation.
/// First new segment will be added to diced, and second new segment will be returned.
/// If split doesn't happen, segmentToSplit will be returned.
/// </summary>
private static Segment SplitHelper( Segment segmentToSplit, Vector3D iLocation, Polygon diced, List<IntersectionPoint> iPoints )
{
List<Segment> split;
if( segmentToSplit.Split( iLocation, out split ) )
{
Debug.Assert( split.Count == 2 );
diced.Segments.Add( split[0] );
IntersectionPoint iPoint = new IntersectionPoint();
iPoint.Location = iLocation;
iPoint.Index = diced.Segments.Count;
iPoints.Add( iPoint );
return split[1];
}
else
{
// We were presumably at an endpoint.
// Add to iPoints list only if it was the starting endpoint.
// (This will avoid duplicate entries).
if( iLocation.Compare( segmentToSplit.P1 ) )
{
IntersectionPoint iPoint = new IntersectionPoint();
iPoint.Location = iLocation;
iPoint.Index = diced.Segments.Count;
iPoints.Add( iPoint );
}
return segmentToSplit;
}
}