engine: Small typo/cleanups in autogrouping code
This commit is contained in:
@@ -39,7 +39,7 @@ type GroupableRes interface {
|
|||||||
SetAutoGroupMeta(*AutoGroupMeta)
|
SetAutoGroupMeta(*AutoGroupMeta)
|
||||||
|
|
||||||
// GroupCmp compares two resources and decides if they're suitable for
|
// GroupCmp compares two resources and decides if they're suitable for
|
||||||
//grouping. This usually needs to be unique to your resource.
|
// grouping. This usually needs to be unique to your resource.
|
||||||
GroupCmp(res GroupableRes) error
|
GroupCmp(res GroupableRes) error
|
||||||
|
|
||||||
// GroupRes groups resource argument (res) into self.
|
// GroupRes groups resource argument (res) into self.
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ func AutoGroup(ag engine.AutoGrouper, g *pgraph.Graph, debug bool, logf func(for
|
|||||||
logf("!VertexMerge for: %s into: %s", wStr, vStr)
|
logf("!VertexMerge for: %s into: %s", wStr, vStr)
|
||||||
|
|
||||||
} else { // success!
|
} else { // success!
|
||||||
logf("success for: %s into: %s", wStr, vStr)
|
logf("%s into %s", wStr, vStr)
|
||||||
merged = true // woo
|
merged = true // woo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,6 +89,19 @@ func (ag *baseGrouper) VertexNext() (v1, v2 pgraph.Vertex, err error) {
|
|||||||
ag.done = true
|
ag.done = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// TODO: is this index swap better or even valid?
|
||||||
|
//if ag.i < l {
|
||||||
|
// ag.i++
|
||||||
|
//}
|
||||||
|
//if ag.i == l {
|
||||||
|
// ag.i = 0
|
||||||
|
// if ag.j < l {
|
||||||
|
// ag.j++
|
||||||
|
// }
|
||||||
|
// if ag.j == l {
|
||||||
|
// ag.done = true
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -110,7 +123,7 @@ func (ag *baseGrouper) VertexMerge(v1, v2 pgraph.Vertex) (v pgraph.Vertex, err e
|
|||||||
return nil, fmt.Errorf("vertexMerge needs to be overridden")
|
return nil, fmt.Errorf("vertexMerge needs to be overridden")
|
||||||
}
|
}
|
||||||
|
|
||||||
// EdgeMerge can be overridden, since it just simple returns the first edge.
|
// EdgeMerge can be overridden, since it just simply returns the first edge.
|
||||||
func (ag *baseGrouper) EdgeMerge(e1, e2 pgraph.Edge) pgraph.Edge {
|
func (ag *baseGrouper) EdgeMerge(e1, e2 pgraph.Edge) pgraph.Edge {
|
||||||
return e1 // noop
|
return e1 // noop
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import (
|
|||||||
|
|
||||||
// VertexMerge merges v2 into v1 by reattaching the edges where appropriate, and
|
// VertexMerge merges v2 into v1 by reattaching the edges where appropriate, and
|
||||||
// then by deleting v2 from the graph. Since more than one edge between two
|
// then by deleting v2 from the graph. Since more than one edge between two
|
||||||
// vertices is not allowed, duplicate edges are merged as well. an edge merge
|
// vertices is not allowed, duplicate edges are merged as well. An edge merge
|
||||||
// function can be provided if you'd like to control how you merge the edges!
|
// function can be provided if you'd like to control how you merge the edges!
|
||||||
func VertexMerge(g *pgraph.Graph, v1, v2 pgraph.Vertex, vertexMergeFn func(pgraph.Vertex, pgraph.Vertex) (pgraph.Vertex, error), edgeMergeFn func(pgraph.Edge, pgraph.Edge) pgraph.Edge) error {
|
func VertexMerge(g *pgraph.Graph, v1, v2 pgraph.Vertex, vertexMergeFn func(pgraph.Vertex, pgraph.Vertex) (pgraph.Vertex, error), edgeMergeFn func(pgraph.Edge, pgraph.Edge) pgraph.Edge) error {
|
||||||
// methodology
|
// methodology
|
||||||
|
|||||||
Reference in New Issue
Block a user