Esempio n. 1
0
 public EdgeColoredGraph(EdgeColoredGraph graph, int[] permutation)
     : this()
 {
     foreach (var e in graph.Edges)
     {
         MakeEdge(permutation[e.a], permutation[e.b], e.edgeLabel);
     }
 }
Esempio n. 2
0
        public EdgeColoredQuotientGraph(EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap)
            : base()
        {
            this.graph = graph;

            EdgeColoredGraphSignature graphSignature = new EdgeColoredGraphSignature(graph, colorMap);

            base.Construct(graphSignature.GetSymmetryClasses());
        }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
 public override void MakeGraph()
 {
     this.graph = new EdgeColoredGraph();
 }
 public EdgeColoredGraphSignature(EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap)
     : base()
 {
     this.graph    = graph;
     this.colorMap = colorMap;
 }
Esempio n. 6
0
 public EdgeColoredVertexSignature(int rootVertexIndex, EdgeColoredGraph graph, IReadOnlyDictionary <string, int> colorMap)
     : this(rootVertexIndex, -1, graph, colorMap)
 {
 }