public EdgeColoredGraph(EdgeColoredGraph graph, int[] permutation) : this() { foreach (var e in graph.Edges) { MakeEdge(permutation[e.a], permutation[e.b], e.edgeLabel); } }
public EdgeColoredQuotientGraph(EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap) : base() { this.graph = graph; EdgeColoredGraphSignature graphSignature = new EdgeColoredGraphSignature(graph, colorMap); base.Construct(graphSignature.GetSymmetryClasses()); }
public EdgeColoredVertexSignature(int rootVertexIndex, int height, EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap) : base() { this.graph = graph; this.colorMap = colorMap; if (height == -1) { base.CreateMaximumHeight(rootVertexIndex, graph.GetVertexCount()); } else { base.Create(rootVertexIndex, graph.GetVertexCount(), height); } }
public override void MakeGraph() { this.graph = new EdgeColoredGraph(); }
public EdgeColoredGraphSignature(EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap) : base() { this.graph = graph; this.colorMap = colorMap; }
public EdgeColoredVertexSignature(int rootVertexIndex, EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap) : this(rootVertexIndex, -1, graph, colorMap) { }