GetUngroupedEdges
(
IEnumerable<IEdge> oFilteredEdges,
List<GroupEdgeInfo> oGroupEdgeInfos
)
{
Debug.Assert(oFilteredEdges != null);
Debug.Assert(oGroupEdgeInfos != null);
// Get the edges in the real groups.
HashSet<IEdge> oEdgesInGroups = new HashSet<IEdge>();
foreach (GroupEdgeInfo oGroupEdgeInfo in oGroupEdgeInfos)
{
foreach (IEdge oEdge in oGroupEdgeInfo.Edges)
{
oEdgesInGroups.Add(oEdge);
}
}
List<IEdge> oUngroupedEdges = new List<IEdge>();
foreach (IEdge oEdge in oFilteredEdges)
{
if ( !oEdgesInGroups.Contains(oEdge) )
{
oUngroupedEdges.Add(oEdge);
}
}
return ( oUngroupedEdges.ToArray() );
}