Returns true if the distance between the (x,y) locations of
        two generators g0 and g1 is greater than a minimum separation.

        Can be extended easily to support other criteria.

def __distance_valid(self, g0, g1, p):
        """
        Returns true if the distance between the (x,y) locations of
        two generators g0 and g1 is greater than a minimum separation.

        Can be extended easily to support other criteria.
        """
        dist = np.sqrt((g1.x - g0.x) ** 2 +
                    (g1.y - g0.y) ** 2)
        return dist >= p.min_separation