private void GetLayerObjects(GeoDo.RSS.Core.DrawEngine.ILayerGroup layerGroup, ILayerObjecGroup g) { foreach (GeoDo.RSS.Core.DrawEngine.ILayer lyr in layerGroup.Layers) { ILayerObjectBase obj = GetLayerObjects(lyr); if (obj != null) { g.Children.Add(obj); } if (lyr is ILayerGroup) { GetLayerObjects(lyr as ILayerGroup, obj as ILayerObjecGroup); } } }
private ILayerObjectBase[] GetLayerFromCanvas(ICanvas canvas) { if (canvas == null || canvas.LayerContainer.IsEmpty()) { return(null); } List <ILayerObjectBase> layerObjects = new List <ILayerObjectBase>(); foreach (GeoDo.RSS.Core.DrawEngine.ILayer lyr in canvas.LayerContainer.Layers) { ILayerObjectBase obj = GetLayerObjects(lyr); if (obj != null) { layerObjects.Add(obj); } } return(layerObjects.Count > 0 ? layerObjects.ToArray() : null); }