#!/usr/bin/env python

"""
"""

from botex import *

ALTITUDE = 100e3

planets = sun.planets()

for planet in planets:
    satellites = [x for x in planet.satellites()
                  if x.period() > 0 and x.radius() > 0]
    satellites.sort(lambda x, y: cmp(x.distance(), y.distance()))
    if len(satellites) > 1:
        print "%s:" % planet.name()
        print '%6.6s' % '',
        for each in satellites:
            print '%6.6s' % each.name(),
        print
        for i, first in enumerate(satellites):
            print '%-6.6s' % first.name(),
            firstSurface = SurfaceLocation(first)
            firstOrbit = AltitudeLocation(first, ALTITUDE)
            for j, second in enumerate(satellites):
                secondSurface = SurfaceLocation(second)
                secondOrbit = AltitudeLocation(second, ALTITUDE)
                surfaceToSurface = Course(firstSurface, secondSurface)
                orbitToOrbit = Course(firstOrbit, secondOrbit)
                if i < j:
                    print '%6.0f' % orbitToOrbit.deltavee(),
                elif i > j:
                    print '%6.0f' % surfaceToSurface.deltavee(),
                else:
                    assert i == j
                    print '%6.0f' % firstOrbit.orbitalSpeedAroundPrimary(),
            print
        print
