createRing static method
List<FreeHexagon>
createRing({
- required FreeHexagon center,
- required double ringSize,
- double gap = 0.0,
- int startEdge = 0,
创建环形排列的六边形
center 中心六边形
ringSize 环中六边形的大小
gap 间隙
startEdge 从哪条边开始(默认0)
Implementation
static List<FreeHexagon> createRing({
required FreeHexagon center,
required double ringSize,
double gap = 0.0,
int startEdge = 0,
}) {
final ring = <FreeHexagon>[];
for (var i = 0; i < 6; i++) {
final edgeIndex = (startEdge + i) % 6;
final hexCenter = calculateAdjacentCenter(
sourceHex: center,
sourceEdge: edgeIndex,
targetSize: ringSize,
gap: gap,
targetOrientation: center.orientation,
);
ring.add(
FreeHexagon(
id: '${center.id}_ring_$i',
center: hexCenter,
size: ringSize,
orientation: center.orientation,
),
);
}
return ring;
}