forHead static method
Implementation
static Map<String, bool> forHead(Rect faceRect, Rect calculatedRect) {
final foreheadHeight = faceRect.height * 0.25;
const extraHeadMargin = 90.0;
final foreheadRect = Rect.fromLTWH(
faceRect.left,
faceRect.top - extraHeadMargin,
faceRect.width,
foreheadHeight - 30,
);
final corners = [
foreheadRect.topLeft,
foreheadRect.topRight,
foreheadRect.bottomLeft,
foreheadRect.bottomRight,
];
final paddedRect = calculatedRect.inflate(20); // Expand all sides
final insideCount = corners.where((p) => paddedRect.contains(p)).length;
final isForeheadMostlyInside = insideCount >= 2;
final isForeheadTouchingBox = calculatedRect.overlaps(foreheadRect);
return {
'isForeheadMostlyInside': isForeheadMostlyInside,
'isForeheadTouchingBox': isForeheadTouchingBox,
};
}