MapAround.Mapping.MapWorkspace.processPolylineStyle C# (CSharp) Method

processPolylineStyle() private method

private processPolylineStyle ( XmlNode layerNode, PolylineStyle PolylineStyle ) : void
layerNode XmlNode
PolylineStyle PolylineStyle
return void
        private void processPolylineStyle(XmlNode layerNode, PolylineStyle PolylineStyle)
        {
            XmlNode polylineStyle = tryGetNodeByName(layerNode.ChildNodes, "polyline_style");
            if (polylineStyle != null)
            {
                PolylineStyle.Width = int.Parse(polylineStyle.Attributes["width"].Value, CultureInfo.InvariantCulture);

                PolylineStyle.Color = ColorTranslator.FromHtml(polylineStyle.Attributes["color"].Value);
                PolylineStyle.DashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["dash_style"].Value, CultureInfo.InvariantCulture);

                if (polylineStyle.Attributes["dash_cap"] != null)
                    PolylineStyle.DashCap = (DashCap)int.Parse(polylineStyle.Attributes["dash_cap"].Value, CultureInfo.InvariantCulture);

                if (polylineStyle.Attributes["dash_pattern"] != null)
                    PolylineStyle.DashPattern = stringToFloatArray(polylineStyle.Attributes["dash_pattern"].Value);

                if (polylineStyle.Attributes["is_compound"] != null)
                    PolylineStyle.IsCompound = polylineStyle.Attributes["is_compound"].Value == "1";

                if (polylineStyle.Attributes["compound"] != null)
                    PolylineStyle.Compound = stringToFloatArray(polylineStyle.Attributes["compound"].Value);

                if (polylineStyle.Attributes["use_annex_line"] != null)
                {
                    PolylineStyle.UseAnnexLine = polylineStyle.Attributes["use_annex_line"].Value == "1";

                    PolylineStyle.AnnexColor = ColorTranslator.FromHtml(polylineStyle.Attributes["annex_color"].Value);
                    PolylineStyle.AnnexDashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["annex_dash_style"].Value, CultureInfo.InvariantCulture);

                    if (polylineStyle.Attributes["annex_dash_cap"] != null)
                        PolylineStyle.AnnexDashCap = (DashCap)int.Parse(polylineStyle.Attributes["annex_dash_cap"].Value, CultureInfo.InvariantCulture);

                    if (polylineStyle.Attributes["annex_dash_pattern"] != null)
                        PolylineStyle.AnnexDashPattern = stringToFloatArray(polylineStyle.Attributes["annex_dash_pattern"].Value);

                    if (polylineStyle.Attributes["is_annex_compound"] != null)
                        PolylineStyle.IsAnnexCompound = polylineStyle.Attributes["is_annex_compound"].Value == "1";

                    if (polylineStyle.Attributes["annex_compound"] != null)
                        PolylineStyle.AnnexCompound = stringToFloatArray(polylineStyle.Attributes["annex_compound"].Value);
                }

                if (polylineStyle.Attributes["use_outline"] != null)
                    PolylineStyle.UseOutline = polylineStyle.Attributes["use_outline"].Value == "1";
                if (polylineStyle.Attributes["outline_color"] != null)
                    PolylineStyle.OutlineColor = ColorTranslator.FromHtml(polylineStyle.Attributes["outline_color"].Value);
                if (polylineStyle.Attributes["outline_width"] != null)
                    PolylineStyle.OutlineWidth = int.Parse(polylineStyle.Attributes["outline_width"].Value, CultureInfo.InvariantCulture);
                if (polylineStyle.Attributes["outline_transparent"] != null)
                    PolylineStyle.OutlineColor = Color.FromArgb(int.Parse(polylineStyle.Attributes["outline_transparent"].Value, CultureInfo.InvariantCulture), PolylineStyle.OutlineColor);
            }
        }