public static ImplicitSphere SphereFromXElement(ImplicitXmlChain chain, XElement xElement) { var xc = (xElement.Attribute("xc") != null ? xElement.Attribute("xc").Value : String.Empty); var yc = (xElement.Attribute("yc") != null ? xElement.Attribute("yc").Value : String.Empty); var zc = (xElement.Attribute("zc") != null ? xElement.Attribute("zc").Value : String.Empty); var vc = (xElement.Attribute("vc") != null ? xElement.Attribute("vc").Value : String.Empty); var uc = (xElement.Attribute("uc") != null ? xElement.Attribute("uc").Value : String.Empty); var wc = (xElement.Attribute("wc") != null ? xElement.Attribute("wc").Value : String.Empty); var radius = (xElement.Attribute("radius") != null ? xElement.Attribute("radius").Value : String.Empty); var sphere = new ImplicitSphere(); ImplicitModuleBase source; Double value; if (!String.IsNullOrEmpty(xc)) { if (chain.Modules.TryGetValue(xc, out source)) { sphere.XCenter = source; } else if (Double.TryParse(xc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.XCenter = value; } else { throw new InvalidOperationException("Invalid xc value"); } } if (!String.IsNullOrEmpty(yc)) { if (chain.Modules.TryGetValue(yc, out source)) { sphere.YCenter = source; } else if (Double.TryParse(yc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.YCenter = value; } else { throw new InvalidOperationException("Invalid yc value"); } } if (!String.IsNullOrEmpty(zc)) { if (chain.Modules.TryGetValue(zc, out source)) { sphere.ZCenter = source; } else if (Double.TryParse(zc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.ZCenter = value; } else { throw new InvalidOperationException("Invalid zc value"); } } if (!String.IsNullOrEmpty(vc)) { if (chain.Modules.TryGetValue(vc, out source)) { sphere.VCenter = source; } else if (Double.TryParse(vc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.VCenter = value; } else { throw new InvalidOperationException("Invalid vc value"); } } if (!String.IsNullOrEmpty(uc)) { if (chain.Modules.TryGetValue(uc, out source)) { sphere.UCenter = source; } else if (Double.TryParse(uc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.UCenter = value; } else { throw new InvalidOperationException("Invalid uc value"); } } if (!String.IsNullOrEmpty(wc)) { if (chain.Modules.TryGetValue(wc, out source)) { sphere.WCenter = source; } else if (Double.TryParse(wc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.WCenter = value; } else { throw new InvalidOperationException("Invalid wc value"); } } if (!String.IsNullOrEmpty(radius)) { if (chain.Modules.TryGetValue(radius, out source)) { sphere.Radius = source; } else if (Double.TryParse(radius, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) { sphere.Radius = value; } else { throw new InvalidOperationException("Invalid radius value"); } } return(sphere); }
public static ImplicitSphere SphereFromXElement(ImplicitXmlChain chain, XElement xElement) { var xc = (xElement.Attribute("xc") != null ? xElement.Attribute("xc").Value : String.Empty); var yc = (xElement.Attribute("yc") != null ? xElement.Attribute("yc").Value : String.Empty); var zc = (xElement.Attribute("zc") != null ? xElement.Attribute("zc").Value : String.Empty); var vc = (xElement.Attribute("vc") != null ? xElement.Attribute("vc").Value : String.Empty); var uc = (xElement.Attribute("uc") != null ? xElement.Attribute("uc").Value : String.Empty); var wc = (xElement.Attribute("wc") != null ? xElement.Attribute("wc").Value : String.Empty); var radius = (xElement.Attribute("radius") != null ? xElement.Attribute("radius").Value : String.Empty); var sphere = new ImplicitSphere(); ImplicitModuleBase source; Double value; if (!String.IsNullOrEmpty(xc)) { if (chain.Modules.TryGetValue(xc, out source)) sphere.XCenter = source; else if (Double.TryParse(xc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.XCenter = value; else throw new InvalidOperationException("Invalid xc value"); } if (!String.IsNullOrEmpty(yc)) { if (chain.Modules.TryGetValue(yc, out source)) sphere.YCenter = source; else if (Double.TryParse(yc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.YCenter = value; else throw new InvalidOperationException("Invalid yc value"); } if (!String.IsNullOrEmpty(zc)) { if (chain.Modules.TryGetValue(zc, out source)) sphere.ZCenter = source; else if (Double.TryParse(zc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.ZCenter = value; else throw new InvalidOperationException("Invalid zc value"); } if (!String.IsNullOrEmpty(vc)) { if (chain.Modules.TryGetValue(vc, out source)) sphere.VCenter = source; else if (Double.TryParse(vc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.VCenter = value; else throw new InvalidOperationException("Invalid vc value"); } if (!String.IsNullOrEmpty(uc)) { if (chain.Modules.TryGetValue(uc, out source)) sphere.UCenter = source; else if (Double.TryParse(uc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.UCenter = value; else throw new InvalidOperationException("Invalid uc value"); } if (!String.IsNullOrEmpty(wc)) { if (chain.Modules.TryGetValue(wc, out source)) sphere.WCenter = source; else if (Double.TryParse(wc, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.WCenter = value; else throw new InvalidOperationException("Invalid wc value"); } if (!String.IsNullOrEmpty(radius)) { if (chain.Modules.TryGetValue(radius, out source)) sphere.Radius = source; else if (Double.TryParse(radius, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) sphere.Radius = value; else throw new InvalidOperationException("Invalid radius value"); } return sphere; }