public bool IsBetterCandidate(ICoordinate newCoordinate) { double newDistance = PointToSnap.Distance(newCoordinate); if (newDistance > Tolerance) { return(false); } return(IsBetterCandidateWithoutTolerance(newCoordinate, newDistance)); }
private bool IsBetterCandidateWithoutTolerance(ICoordinate newCoordinate, double?newDistance = null) { newDistance = newDistance ?? PointToSnap.Distance(newCoordinate); if (newDistance > DistanceToBestSnapPoint) { return(false); } BestSnapPoint = newCoordinate; DistanceToBestSnapPoint = newDistance.Value; return(true); }