CyberKeyGeometry.cached constructor
CyberKeyGeometry.cached(})
The cached geometry for a key box of size (built on a miss).
Implementation
factory CyberKeyGeometry.cached(
Size size, {
required double chamfer,
required double edgeWidth,
required double plunge,
}) {
final key = (size, chamfer, edgeWidth, plunge);
final hit = _cache.remove(key);
if (hit != null) return _cache[key] = hit;
builds++;
final g = _cache[key] = CyberKeyGeometry.build(
size,
chamfer: chamfer,
edgeWidth: edgeWidth,
plunge: plunge,
);
while (_cache.length > capacity) {
_cache.remove(_cache.keys.first);
}
return g;
}