runAlgorithm<T> method
Implementation
@override
Map<T, Offset> runAlgorithm<T>(
Map<T, NodeOffset?> nodes, Set<Edge<T>> edges, Size size) {
var temp = 0.1 * sqrt(size.width / 2 * size.height / 2);
//initialize nodes with random positions and convert to MutableNodePosition
var mutableNodePositions =
nodes.map((key, value) => _offsetToMutablePostion<T>(key, value, size));
for (var i = 0; i < iterations; i++) {
_calculateIteration(mutableNodePositions, edges, size, temp);
temp *= 1.0 - i / (iterations);
}
return mutableNodePositions
.map((key, value) => MapEntry(key, value.position.toOffset(size)));
}