public AdjacencyMatrixDictionaryDirector(IVertexDataProvider vertexDataProvider, IAdjacencyProvider adjacencyProvider,
                                          IIncidenceProvider incidenceProvider, EdgeNodeDictionaryProvider edgeNodeDictionaryProvider)
 {
     if (vertexDataProvider == null)
     {
         throw new NullReferenceException("Data provider cannot be null when constructing AdjacencyMatrixDictionaryDirector!");
     }
     this.VertexDataProvider = vertexDataProvider;
     if (adjacencyProvider == null)
     {
         throw new NullReferenceException("adjacencyProvider cannot be null when constructing AdjacencyMatrixDictionaryDirector!");
     }
     this.AdjacencyProvider = adjacencyProvider;
     if (incidenceProvider == null)
     {
         throw new NullReferenceException("incidenceProvider cannot be null when constructing AdjacencyMatrixDictionaryDirector!");
     }
     this.IncidenceProvider = incidenceProvider;
     if (edgeNodeDictionaryProvider == null)
     {
         throw new NullReferenceException("edgeNodeDictionaryProvider cannot be null when constructing AdjacencyMatrixDictionaryDirector!");
     }
     this.EdgeNodeDictionaryProvider = edgeNodeDictionaryProvider;
 }
예제 #2
0
 private List <int> IncidentEdgePositions(IIncidenceProvider incidenceProvider)
 {
     return(incidenceProvider.GetIncidentEdges(this.Node.Position));
 }