MeshCreator.GetSegmentNearPosition C# (CSharp) Method

GetSegmentNearPosition() private method

private GetSegmentNearPosition ( Vector2 position ) : Segment,
position Vector2
return Segment,
    private Segment GetSegmentNearPosition(Vector2 position)
    {
        float selectDistance = HandleUtility.GetHandleSize(position) * baseSelectDistance;
        int minIndex = -1;
        float minValue = float.MaxValue;

        float distance = 0;
        for(int i = 0; i < segments.Count; i++) {
            distance = HandleUtility.DistancePointToLineSegment(position, segments[i].first.position, segments[i].second.position);

            if(distance < minValue) {
                minValue = distance;
                minIndex = i;
            }
        }

        if(minValue > selectDistance) return null;
        if(minIndex < 0) return null;

        segments[minIndex].index = minIndex;
        return segments[minIndex];
    }