private void UpdateImageLayers(DrawArgs drawArgs) { try { m_LastUpdate = System.DateTime.Now; if(m_NwImageLayer != null) m_NwImageLayer.Dispose(); if(m_NeImageLayer != null) m_NeImageLayer.Dispose(); if(m_SwImageLayer != null) m_SwImageLayer.Dispose(); if(m_SeImageLayer != null) m_SeImageLayer.Dispose(); double centerLatitude = 0.5 * (m_geographicBoundingBox.North + m_geographicBoundingBox.South); double centerLongitude = 0.5 * (m_geographicBoundingBox.West + m_geographicBoundingBox.East); m_NwImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, m_geographicBoundingBox.West, centerLongitude); m_NeImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, centerLongitude, m_geographicBoundingBox.East); m_SwImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, m_geographicBoundingBox.West, centerLongitude); m_SeImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, centerLongitude, m_geographicBoundingBox.East); if(m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if(m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if(m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if(m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch(Exception ex) { Log.Write(ex); } }
public void Initialize(DrawArgs drawArgs) { try { m_Initializing = true; double centerLatitude = 0.5*(m_GeoBB.North + m_GeoBB.South); double centerLongitude = 0.5*(m_GeoBB.West + m_GeoBB.East); m_NwImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, m_GeoBB.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2*Row + 1, 2*Col)); m_NeImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, centerLongitude, m_GeoBB.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2*Row + 1, 2*Col + 1)); m_SwImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, m_GeoBB.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2*Row, 2*Col)); m_SeImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, centerLongitude, m_GeoBB.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2*Row, 2*Col + 1)); if (m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if (m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if (m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if (m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch (Exception ex) { Log.Write(ex); } finally { m_Initializing = false; if (m_Disposing) { Dispose(); m_Initialized = false; } else { m_Initialized = true; } } }
private void UpdateImageLayers(DrawArgs drawArgs) { try { m_LastUpdate = System.DateTime.Now; if(m_NwImageLayer != null) m_NwImageLayer.Dispose(); if(m_NeImageLayer != null) m_NeImageLayer.Dispose(); if(m_SwImageLayer != null) m_SwImageLayer.Dispose(); if(m_SeImageLayer != null) m_SeImageLayer.Dispose(); double centerLatitude = 0.5 * (m_geographicBoundingBox.North + m_geographicBoundingBox.South); double centerLongitude = 0.5 * (m_geographicBoundingBox.West + m_geographicBoundingBox.East); m_NwImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, m_geographicBoundingBox.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null,//ShapeTile.CachePath, "R",//ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row + 1, 2 * Col)); m_NeImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, centerLongitude, m_geographicBoundingBox.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null,//ShapeTile.CachePath, "R",//ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row + 1, 2 * Col + 1)); m_SwImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, m_geographicBoundingBox.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null,//ShapeTile.CachePath, "R",//ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row, 2 * Col)); m_SeImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, centerLongitude, m_geographicBoundingBox.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null,//ShapeTile.CachePath, "R",//ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row, 2 * Col + 1)); if(m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if(m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if(m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if(m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch(Exception ex) { Log.Write(ex); } }
public void Initialize(DrawArgs drawArgs) { try { m_Initializing = true; double centerLatitude = 0.5 * (m_GeoBB.North + m_GeoBB.South); double centerLongitude = 0.5 * (m_GeoBB.West + m_GeoBB.East); m_NwImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, m_GeoBB.West, centerLongitude, drawArgs); m_NeImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, centerLongitude, m_GeoBB.East, drawArgs); m_SwImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, m_GeoBB.West, centerLongitude, drawArgs); m_SeImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, centerLongitude, m_GeoBB.East, drawArgs); if(m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if(m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if(m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if(m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch(Exception ex) { Log.Write(ex); } finally { m_Initializing = false; if(m_Disposing) { Dispose(); m_Initialized = false; } else { m_Initialized = true; } } }
public void Initialize(DrawArgs drawArgs) { try { m_Initializing = true; double centerLatitude = 0.5 * (m_GeoBB.North + m_GeoBB.South); double centerLongitude = 0.5 * (m_GeoBB.West + m_GeoBB.East); m_NwImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, m_GeoBB.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", ShapeTile.CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2 * Row + 1, 2 * Col)); m_NeImageLayer = CreateImageLayer(m_GeoBB.North, centerLatitude, centerLongitude, m_GeoBB.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", ShapeTile.CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2 * Row + 1, 2 * Col + 1)); m_SwImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, m_GeoBB.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", ShapeTile.CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2 * Row, 2 * Col)); m_SeImageLayer = CreateImageLayer(centerLatitude, m_GeoBB.South, centerLongitude, m_GeoBB.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", ShapeTile.CachePath, ConfigurationLoader.GetRenderablePathString(m_ShapeTileArgs.ParentShapeFileLayer), Level + 1, 2 * Row, 2 * Col + 1)); if (m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if (m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if (m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if (m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch (Exception ex) { Utility.Log.Write(ex); } finally { m_Initializing = false; if (m_Disposing) { Dispose(); m_Initialized = false; } else { m_Initialized = true; } } }
private void UpdateImageLayers(DrawArgs drawArgs) { try { m_LastUpdate = System.DateTime.Now; if (m_NwImageLayer != null) { m_NwImageLayer.Dispose(); } if (m_NeImageLayer != null) { m_NeImageLayer.Dispose(); } if (m_SwImageLayer != null) { m_SwImageLayer.Dispose(); } if (m_SeImageLayer != null) { m_SeImageLayer.Dispose(); } double centerLatitude = 0.5 * (m_geographicBoundingBox.North + m_geographicBoundingBox.South); double centerLongitude = 0.5 * (m_geographicBoundingBox.West + m_geographicBoundingBox.East); m_NwImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, m_geographicBoundingBox.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null, //ShapeTile.CachePath, "R", //ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row + 1, 2 * Col)); m_NeImageLayer = CreateImageLayer(m_geographicBoundingBox.North, centerLatitude, centerLongitude, m_geographicBoundingBox.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null, //ShapeTile.CachePath, "R", //ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row + 1, 2 * Col + 1)); m_SwImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, m_geographicBoundingBox.West, centerLongitude, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null, //ShapeTile.CachePath, "R", //ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row, 2 * Col)); m_SeImageLayer = CreateImageLayer(centerLatitude, m_geographicBoundingBox.South, centerLongitude, m_geographicBoundingBox.East, drawArgs, String.Format("{0}\\{1}\\{2}\\{3:D4}\\{3:D4}_{4:D4}.dds", null, //ShapeTile.CachePath, "R", //ConfigurationLoader.GetRenderablePathString(m_parentProjectedLayer), Level + 1, 2 * Row, 2 * Col + 1)); if (m_NwImageLayer != null) { m_NwImageLayer.Initialize(drawArgs); } if (m_NeImageLayer != null) { m_NeImageLayer.Initialize(drawArgs); } if (m_SwImageLayer != null) { m_SwImageLayer.Initialize(drawArgs); } if (m_SeImageLayer != null) { m_SeImageLayer.Initialize(drawArgs); } } catch (Exception ex) { Log.Write(ex); } }
public override void Update(WorldWind.DrawArgs drawArgs) { lock (this) { if (m_oLayer != null) { if (m_oGroundOverlay.Icon.ViewRefreshMode == KMLViewRefreshMode.onStop) { double dTimeStopped; if (drawArgs.CurrentRoI.Equals(m_oLastAoI)) { dTimeStopped = (DateTime.Now - m_oLastAoIChangeTime).Seconds; } else { dTimeStopped = 0.0; m_oLastAoI = drawArgs.CurrentRoI; m_oLastAoIChangeTime = DateTime.Now; } if (dTimeStopped > m_oGroundOverlay.Icon.ViewRefreshTime && !m_oLayerAoI.Equivalent(drawArgs.CurrentRoI, 1e-6)) { try { File.Delete(m_strImageFilename); } catch (IOException) { return; } GeographicBoundingBox oRenderBox = GetNewBox(drawArgs.CurrentRoI, m_oGroundOverlay.Icon.ViewBoundScale); m_oLayer = new ImageLayer( m_oGroundOverlay.Name, drawArgs.CurrentWorld, m_oGroundOverlay.Altitude, m_strImageFilename, oRenderBox.South, oRenderBox.North, oRenderBox.West, oRenderBox.East, (byte)(m_oGroundOverlay.Color.A * ((double)m_opacity / (double)(byte.MaxValue))), drawArgs.CurrentWorld.TerrainAccessor); if (m_oGroundOverlay.Icon.IsLocalFile) { m_oLayer.ImagePath = Path.Combine(m_strKMLDirectory, m_oGroundOverlay.Icon.HRef); } else { m_oLayer.ImageUrl = m_oGroundOverlay.Icon.GetUri(oRenderBox.West, oRenderBox.South, oRenderBox.East, oRenderBox.North); } m_oLayer.Initialize(drawArgs); m_oLayerAoI = drawArgs.CurrentRoI.Clone() as GeographicBoundingBox; } } m_oLayer.Update(drawArgs); } } }