arrangeInCircle static method
List<NmGraphNodeData>
arrangeInCircle(
- List<
NmGraphNodeData> nodes, { - Offset center = const Offset(400, 300),
- double radius = 200,
Arrange nodes in a circle.
Implementation
static List<NmGraphNodeData> arrangeInCircle(List<NmGraphNodeData> nodes, {Offset center = const Offset(400, 300), double radius = 200}) {
final result = <NmGraphNodeData>[];
for (var i = 0; i < nodes.length; i++) {
final angle = (2 * math.pi * i) / nodes.length - math.pi / 2;
final x = center.dx + radius * math.cos(angle);
final y = center.dy + radius * math.sin(angle);
result.add(nodes[i].copyWith(position: Offset(x, y)));
}
return result;
}