public bool Combine(IRenderer renderer) { if (this == renderer) { return(false); } if (renderer is ScaleDependentRenderer) { ScaleDependentRenderer cand = (ScaleDependentRenderer)renderer; foreach (ScaleRenderer sRenderer in this.Renderers) { for (int i = 0; i < cand.Renderers.Count; i++) { if (sRenderer.Combine(cand.Renderers[i])) { cand.Renderers.RemoveAt(i); i--; } } } return(cand.Renderers.Count == 0); } return(false); }
public object Clone() { ScaleDependentRenderer scaleDependentRenderer = new ScaleDependentRenderer(); scaleDependentRenderer._useRefScale = _useRefScale; foreach (IFeatureRenderer renderer in this.Renderers) { scaleDependentRenderer.Renderers.Add(renderer.Clone() as IFeatureRenderer); } return(scaleDependentRenderer); }
public object Clone(CloneOptions options) { ScaleDependentRenderer scaledependentRenderer = new ScaleDependentRenderer(); foreach (IFeatureRenderer renderer in _renderers) { if (renderer == null) { continue; } scaledependentRenderer._renderers.Add(renderer.Clone(options) as IFeatureRenderer); } scaledependentRenderer.UseReferenceScale = _useRefScale; return(scaledependentRenderer); }