/// <summary>
        /// Setup constructor
        /// </summary>
        /// <param name="modelFactory">Factory used to create this planet's model</param>
        /// <param name="rendererFactory">Factory used to create this planet's renderer</param>
        public AbstractPlanet( IPlanetModelFactory modelFactory, IPlanetRendererFactory rendererFactory )
        {
            Arguments.CheckNotNull( modelFactory, "modelFactory" );
            Arguments.CheckNotNull( rendererFactory, "rendererFactory" );

            m_Model = modelFactory.Create( this );
            m_Renderer = rendererFactory.Create( this );
        }
Exemple #2
0
        public Planet(DoubleVector3 location, double radius, ITerrain terrain, IPlanetRenderer renderer, IHeightGenerator generator, ISettings settings, Statistics statistics)
        {
            _location = location;
            _radius   = radius;

            _terrain    = terrain;
            _renderer   = renderer;
            _generator  = generator;
            _settings   = settings;
            _statistics = statistics;
        }
Exemple #3
0
        public Planet(DoubleVector3 location, double radius, ITerrain terrain, IPlanetRenderer renderer, IHeightfieldGenerator generator, ISettings settings, Statistics statistics)
        {
            _location = location;
            _radius = radius;

            _terrain = terrain;
            _renderer = renderer;
            _generator = generator;
            _settings = settings;
            _statistics = statistics;
        }
Exemple #4
0
        public Planet(DoubleVector3 location, double radius, ITerrain terrain, IPlanetRenderer renderer, IHeightfieldGenerator generator, Statistics statistics)
        {
            _location = location;
            _radius = radius;

            _terrain = terrain;
            _renderer = renderer;
            _generator = generator;
            _statistics = statistics;

            _clippingPlanes = new ClippingPlanes();
        }
 /// <summary>
 /// Assigns/unassigns this renderer to/from a planet
 /// </summary>
 protected abstract void AssignToPlanet( IPlanetRenderer renderer, bool remove );
 /// <summary>
 /// Assigns/unassigns this renderer to/from a planet
 /// </summary>
 protected override void AssignToPlanet( IPlanetRenderer renderer, bool remove )
 {
     DestroyVertices( );
     renderer.RingRenderer = remove ? null : this;
 }
 /// <summary>
 /// Validates a planet renderer passed to the <see cref="PlanetRenderer"/> setter
 /// </summary>
 protected virtual void ValidatePlanetRenderer( IPlanetRenderer renderer )
 {
     Arguments.CheckNotNull( renderer, "renderer" );
 }
 /// <summary>
 /// Assigns this to a planet
 /// </summary>
 protected override void AssignToPlanet( IPlanetRenderer renderer, bool remove )
 {
     renderer.TerrainRenderer = remove ? null : this;
     m_Technique = remove || ( renderer.Planet == null ) ? null : CreatePatchTechnique( renderer.Planet );
 }
 /// <summary>
 /// Assigns/unassigns this renderer to/from a planet
 /// </summary>
 protected override void AssignToPlanet( IPlanetRenderer renderer, bool remove )
 {
     renderer.OceanRenderer = remove ? null : this;
 }
 /// <summary>
 /// Assigns/unassigns this renderer to/from a planet
 /// </summary>
 protected override void AssignToPlanet( IPlanetRenderer renderer, bool remove )
 {
     renderer.CloudRenderer = remove ? null : this;
     DisposableHelper.Dispose( m_CloudSphere );
     m_CloudSphere = null;
 }
 /// <summary>
 /// Validates a planet renderer passed to the <see cref="PlanetRenderer"/> setter
 /// </summary>
 protected override void ValidatePlanetRenderer( IPlanetRenderer renderer )
 {
     Arguments.CheckedNonNullCast<ISpherePlanetRenderer>( renderer, "renderer" );
 }
 /// <summary>
 /// Called after this environment renderer has been added to the specified planet renderer
 /// </summary>
 /// <param name="renderer">Planet renderer that this environment renderer was added to</param>
 protected override void OnAddedToPlanetRenderer( IPlanetRenderer renderer )
 {
     base.OnAddedToPlanetRenderer( renderer );
     Refresh( );
 }
        /// <summary>
        /// Assigns/unassigns this renderer to/from a planet
        /// </summary>
        protected override void AssignToPlanet( IPlanetRenderer renderer, bool remove )
        {
            renderer.MarbleRenderer = remove ? null : this;

            m_MarbleTexture = null;
            m_MarbleTextureDirty = true;
            m_MarbleTextureBuilding = false;
            m_Geometry = null;

            if ( !remove )
            {
            }
        }