getNearObject method
Implementation
T? getNearObject(Point point) {
var x = _getCoord(point.x),
y = _getCoord(point.y),
closestDistSq = _sqCellSize;
T? closest;
for (var i = y - 1; i <= y + 1; i++) {
var row = _grid[i];
if (row != null) {
for (var j = x - 1; j <= x + 1; j++) {
var cell = row[j];
if (cell != null) {
for (var k = 0, len = cell.length; k < len; k++) {
var obj = cell[k];
var dist = _sqDist(_objectPoint[obj]!, point);
if (dist < closestDistSq ||
dist <= closestDistSq && closest == null) {
closestDistSq = dist;
closest = obj;
}
}
}
}
}
}
return closest;
}