/// <summary>
        /// Value clone
        /// </summary>
        /// <returns>new polyline Z shape</returns>
        public new PolylineZShape ValueClone()
        {
            PolylineZShape aPLS = new PolylineZShape();

            aPLS.value       = value;
            aPLS.Visible     = Visible;
            aPLS.Selected    = Selected;
            aPLS.LegendIndex = LegendIndex;

            return(aPLS);
        }
        /// <summary>
        /// Clone polylineZ shape
        /// </summary>
        /// <returns>PolylineZShape</returns>
        public override object Clone()
        {
            PolylineZShape aPLS = new PolylineZShape();

            aPLS.value       = value;
            aPLS.Extent      = Extent;
            aPLS.PartNum     = PartNum;
            aPLS.parts       = (int[])parts.Clone();
            aPLS.Points      = new List <PointD>(Points);
            aPLS.Visible     = Visible;
            aPLS.Selected    = Selected;
            aPLS.LegendIndex = LegendIndex;
            //aPLS.ZRange = (double[])ZRange.Clone();
            //aPLS.MRange = (double[])MRange.Clone();
            //aPLS.ZArray = (double[])ZArray.Clone();
            //aPLS.MArray = (double[])MArray.Clone();

            return(aPLS);
        }