/// <summary>
        /// Clone
        /// </summary>
        public override object Clone()
        {
            LegendNode aLN = new LegendNode();

            aLN.ShapeType   = _ShapeType;
            aLN.LegendBreak = _LegendBreak;

            return(aLN);
        }
示例#2
0
        /// <summary>
        /// Update legend nodes using a legend scheme
        /// </summary>
        /// <param name="aLS">legend scheme</param>
        public void UpdateLegendScheme(LegendScheme aLS)
        {
            if (_mapLayer.LayerType != LayerTypes.ImageLayer)
            {
                _legendNodes.Clear();
                LegendNode aTN = new LegendNode();
                for (int i = 0; i < aLS.BreakNum; i++)
                {
                    if (aLS.LegendBreaks[i].DrawShape)
                    {
                        aTN             = new LegendNode();
                        aTN.ShapeType   = ShapeType;
                        aTN.LegendBreak = aLS.LegendBreaks[i];
                        _legendNodes.Add(aTN);
                    }
                }

                if (_mapLayer.LayerType == LayerTypes.VectorLayer)
                {
                    VectorLayer aLayer = (VectorLayer)_mapLayer;
                    if (aLayer.ChartSet.DrawCharts && aLayer.ChartPoints.Count > 0)
                    {
                        LegendNode aLN = new LegendNode();
                        aLN.ShapeType = ShapeTypes.Polygon;
                        ChartBreak aCB = ((ChartBreak)aLayer.ChartPoints[0].Legend).GetSampleChartBreak();
                        aLN.LegendBreak = aCB;
                        aLN.Height      = ((ChartBreak)aLN.LegendBreak).GetHeight() + 10;
                        _legendNodes.Add(aLN);
                        for (int i = 0; i < aLayer.ChartSet.LegendScheme.BreakNum; i++)
                        {
                            aLN             = new LegendNode();
                            aLN.ShapeType   = ShapeTypes.Polygon;
                            aLN.LegendBreak = aLayer.ChartSet.LegendScheme.LegendBreaks[i];
                            _legendNodes.Add(aLN);
                        }
                    }
                }
            }
        }