UNPKG

@mui/x-internal-gestures

Version:

The core engine of GestureEvents, a modern and robust multi-pointer gesture detection library for JavaScript.

29 lines (26 loc) 729 B
import { getDistance } from "./getDistance.js"; /** * Calculate the average distance between all pairs of pointers */ export function calculateAverageDistance(pointers) { if (pointers.length < 2) { return 0; } let totalDistance = 0; let pairCount = 0; // Calculate distance between each pair of pointers for (let i = 0; i < pointers.length; i += 1) { for (let j = i + 1; j < pointers.length; j += 1) { totalDistance += getDistance({ x: pointers[i].clientX, y: pointers[i].clientY }, { x: pointers[j].clientX, y: pointers[j].clientY }); pairCount += 1; } } // Return average distance return pairCount > 0 ? totalDistance / pairCount : 0; }