/// <summary>
        /// Creates a default spherical gas giant
        /// </summary>
        public static ISpherePlanet DefaultGasGiant( Units.Metres planetRadius )
        {
            ISpherePlanet planet = new SpherePlanet( );

            //	Models
            ISpherePlanetModel model = planet.PlanetModel;
            model.Radius = planetRadius;
            model.RingModel = new SpherePlanetRingModel( planetRadius * 1.75, planetRadius * 0.1 );

            //	Renderers
            ISpherePlanetRenderer renderer = planet.PlanetRenderer;
            renderer.MarbleRenderer = new SphereGasGiantMarbleRenderer( );

            return planet;
        }
        /// <summary>
        /// Creates a default spherical planet
        /// </summary>
        public static ISpherePlanet DefaultPlanet( IWorkItemQueue workQueue, Units.Metres planetRadius )
        {
            workQueue = workQueue ?? ExtendedThreadPool.Instance;

            ISpherePlanet planet = new SpherePlanet( );

            //	Models
            ISpherePlanetModel model = planet.PlanetModel;
            model.Radius				= planetRadius;
            model.OceanModel			= new PlanetOceanModel( );
            model.TerrainModel			= new SpherePlanetProcTerrainModel( );
            model.AtmosphereModel		= new SpherePlanetAtmosphereModel( );
            model.RingModel				= new SpherePlanetRingModel( planetRadius * 1.75, new Units.Metres( 50000 ) );
            model.CloudModel			= new SpherePlanetCloudModel( workQueue );

            //	Renderers
            ISpherePlanetRenderer renderer = planet.PlanetRenderer;
            renderer.MarbleRenderer		= new SpherePlanetMarbleRenderer( new SpherePlanetMarbleTextureBuilder( ) );
            renderer.OceanRenderer		= new SpherePlanetOceanRenderer( );
            renderer.TerrainRenderer	= new SpherePlanetTerrainPatchRenderer( );
            renderer.AtmosphereRenderer = new SpherePlanetAtmosphereRenderer( );
            renderer.RingRenderer		= new SpherePlanetRingRenderer( );
            renderer.CloudRenderer		= new SpherePlanetCloudRenderer( );

            return planet;
        }