def get_max_ballcount(cls, ball_diam, rolling_radius, min_gap=0.):
        """
        The maximum number of balls given ``rolling_radius`` and ``ball_diam``

        :param min_gap: minimum gap between balls (measured along vector between
                        spherical centers)
        :type min_gap: :class:`float`
        :return: maximum ball count
        :rtype: :class:`int`
        """

        min_arc = asin(((ball_diam + min_gap) / 2) / rolling_radius) * 2
        return int((2 * pi) / min_arc)