/// <summary>
        /// Returns an instance of <see cref="T:CasaSoft.vrt.R3dCoordsConverter"/>
        /// initialized with control's data
        /// </summary>
        /// <returns></returns>
        public R3dCoordsConverter CoordsConverter()
        {
            R3dCoordsConverter ret = null;

            if (!string.IsNullOrWhiteSpace(txtLat.Text)
                & !string.IsNullOrWhiteSpace(txtLon.Text)
                & !string.IsNullOrWhiteSpace(txtX.Text)
                & !string.IsNullOrWhiteSpace(txtY.Text))
            {
                LatLon ll = new LatLon()
                {
                    Lat = this.Lat, Lon = this.Lon
                };
                XY xy = new XY()
                {
                    X = this.X, Y = this.Y
                };

                if (!string.IsNullOrWhiteSpace(txtZone.Text))
                {
                    ret = new R3dCoordsConverter(ll, xy, this.UTMzone);
                }
                else
                {
                    ret = new R3dCoordsConverter(ll, xy);
                }
            }
            return(ret);
        }
        private IR3DConverter getConv(R3dCoordsConverter R3Dconv)
        {
            R3DConverterFactory factory = new R3DConverterFactory();
            IR3DConverter       conv    = factory.GetConverter("LABEL");

            conv.SetKml(kml);
            conv.R3dConverter = R3Dconv;
            return(conv);
        }
        private void btnClip_Click(object sender, System.EventArgs e)
        {
            R3dCoordsConverter R3Dconv = R3Dorigin.CoordsConverter();

            if (R3Dconv != null)
            {
                Clipboard.SetDataObject(GetResult(getConv(R3Dconv)));
                Balloon(catalog.GetString("Data copied to Clipboard."));
            }
        }
        /// <summary>
        /// Save dirty work
        /// </summary>
        /// <param name="filename">File to save on</param>
        protected override void doSave(string filename)
        {
            R3dCoordsConverter R3Dconv = R3Dorigin.CoordsConverter();

            if (R3Dconv != null)
            {
                base.doSave(filename);
                IR3DConverter conv = getConv(R3Dconv);
                conv.FileOut(GetResult(conv), filename);
            }
        }