TryDrawCombinedIntergroupEdges
(
IGraph graph,
GraphDrawingContext graphDrawingContext,
out Visual visual
)
{
Debug.Assert(graph != null);
Debug.Assert(graphDrawingContext != null);
AssertValid();
visual = null;
GroupLayoutDrawingInfo oGroupLayoutDrawingInfo;
if ( !GroupMetadataManager.TryGetGroupLayoutDrawingInfo(
graph, out oGroupLayoutDrawingInfo) )
{
return (false);
}
IEnumerable<IntergroupEdgeInfo> oCombinedIntergroupEdges =
oGroupLayoutDrawingInfo.CombinedIntergroupEdges;
if (oCombinedIntergroupEdges == null)
{
return (false);
}
DrawingVisual oCombinedIntergroupEdgeDrawingVisual =
new DrawingVisual();
using ( DrawingContext oDrawingContext =
oCombinedIntergroupEdgeDrawingVisual.RenderOpen() )
{
foreach (IntergroupEdgeInfo oCombinedIntergroupEdge in
oCombinedIntergroupEdges)
{
DrawCombinedIntergroupEdge(oDrawingContext,
graphDrawingContext, oCombinedIntergroupEdge,
oGroupLayoutDrawingInfo);
}
}
visual = oCombinedIntergroupEdgeDrawingVisual;
return (true);
}