TryCalculateGraphMetrics ( IGraph graph, CalculateGraphMetricsContext calculateGraphMetricsContext, out GraphMetricColumn [] graphMetricColumns ) { Debug.Assert(graph != null); Debug.Assert(calculateGraphMetricsContext != null); AssertValid(); graphMetricColumns = null; // Partition the graph into motifs using the MotifCalculator class in // the Algorithms namespace, which knows nothing about Excel. Algorithms.MotifCalculator oMotifCalculator = new Algorithms.MotifCalculator(); ICollection <Motif> oMotifs; if (!oMotifCalculator.TryCalculateMotifs(graph, m_eMotifsToCalculate, m_iDConnectorMinimumAnchorVertices, m_iDConnectorMaximumAnchorVertices, m_iCliqueMinimumMemberVertices, m_iCliqueMaximumMemberVertices, calculateGraphMetricsContext.BackgroundWorker, out oMotifs)) { // The user cancelled. return(false); } // Convert the collection of motifs to an array of GraphMetricColumn // objects. graphMetricColumns = GroupsToGraphMetricColumnsConverter.Convert <Motif>( oMotifs, (oMotif) => oMotif.VerticesInMotif, (oMotif) => MotifToGroupName(oMotif), true, (oMotif) => oMotif.CollapsedAttributes ); return(true); }
TryCalculateGraphMetrics ( IGraph graph, CalculateGraphMetricsContext calculateGraphMetricsContext, out GraphMetricColumn [] graphMetricColumns ) { Debug.Assert(graph != null); Debug.Assert(calculateGraphMetricsContext != null); AssertValid(); graphMetricColumns = null; // Partition the graph into motifs using the MotifCalculator class in // the Algorithms namespace, which knows nothing about Excel. Algorithms.MotifCalculator oMotifCalculator = new Algorithms.MotifCalculator(); ICollection<Motif> oMotifs; if ( !oMotifCalculator.TryCalculateMotifs(graph, m_eMotifsToCalculate, m_iDConnectorMinimumAnchorVertices, m_iDConnectorMaximumAnchorVertices, m_iCliqueMinimumMemberVertices, m_iCliqueMaximumMemberVertices, calculateGraphMetricsContext.BackgroundWorker, out oMotifs) ) { // The user cancelled. return (false); } // Convert the collection of motifs to an array of GraphMetricColumn // objects. graphMetricColumns = GroupsToGraphMetricColumnsConverter.Convert<Motif>( oMotifs, (oMotif) => oMotif.VerticesInMotif, (oMotif) => MotifToGroupName(oMotif), true, (oMotif) => oMotif.CollapsedAttributes ); return (true); }