public virtual void SaveToXML(XmlElement objSystem) { var xeStar = objSystem.OwnerDocument.CreateElement("Star"); objSystem.AppendChild(xeStar); Common.CreateTextNode(xeStar, "Type", StarType.ToString()); Common.CreateTextNode(xeStar, "LumClass", LumClass.ToString()); Common.CreateTextNode(xeStar, "DecClass", DecClass.ToString()); Common.CreateTextNode(xeStar, "StellarMass", StellarMass.ToString()); Common.CreateTextNode(xeStar, "Luminosity", Luminosity.ToString()); Common.CreateTextNode(xeStar, "NumOrbits", NumOrbits.ToString()); Common.CreateTextNode(xeStar, "HZone", HZone.ToString()); Common.CreateTextNode(xeStar, "TypeRoll", TypeRoll.ToString()); Common.CreateTextNode(xeStar, "ClassRoll", ClassRoll.ToString()); Common.CreateTextNode(xeStar, "NumCompanions", NumCompanions.ToString()); Common.CreateTextNode(xeStar, "Name", Name.ToString()); foreach (var orbit in Orbits) { orbit.SaveToXML(xeStar); } var xeStars = objSystem.OwnerDocument.CreateElement("Companions"); xeStar.AppendChild(xeStars); foreach (var companion in Companions) { companion.SaveToXML(xeStars); } }
public override void SaveToXML(XmlElement objStar) { var xeStar = objStar.OwnerDocument.CreateElement("Star"); objStar.AppendChild(xeStar); // Companion specific attributes Common.CreateTextNode(xeStar, "OrbitNum", OrbitNum.ToString()); Common.CreateTextNode(xeStar, "Range", Range.ToString()); Common.CreateTextNode(xeStar, "SysNat", SysNat.ToString()); // Common attributes Common.CreateTextNode(xeStar, "Type", StarType.ToString()); Common.CreateTextNode(xeStar, "LumClass", LumClass.ToString()); Common.CreateTextNode(xeStar, "DecClass", DecClass.ToString()); Common.CreateTextNode(xeStar, "StellarMass", StellarMass.ToString()); Common.CreateTextNode(xeStar, "Luminosity", Luminosity.ToString()); Common.CreateTextNode(xeStar, "NumOrbits", NumOrbits.ToString()); Common.CreateTextNode(xeStar, "HZone", HZone.ToString()); Common.CreateTextNode(xeStar, "TypeRoll", TypeRoll.ToString()); Common.CreateTextNode(xeStar, "ClassRoll", ClassRoll.ToString()); Common.CreateTextNode(xeStar, "NumCompanions", NumCompanions.ToString()); Common.CreateTextNode(xeStar, "Name", Name.ToString()); foreach (var orbit in Orbits) { orbit.SaveToXML(xeStar); } var xeStars = objStar.OwnerDocument.CreateElement("Companions"); xeStar.AppendChild(xeStars); foreach (var companion in Companions) { companion.SaveToXML(xeStars); } }
public double GetLuminosity() { var starSize = 0; var A = 0.0; var B = 0.0; var X = int.Parse(DecClass.ToString()); switch (StarType) { case StellarType.O: starSize = 0; break; case StellarType.B: starSize = 0; break; case StellarType.F: starSize = 4; break; case StellarType.G: starSize = 6; break; case StellarType.K: starSize = 8; break; case StellarType.M: starSize = 10; break; } switch (LumClass) { case 'a': A = DataTables.LumTableIa[starSize]; B = DataTables.LumTableIa[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableIa[12]); } break; case 'b': A = DataTables.LumTableIb[starSize]; B = DataTables.LumTableIb[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableIb[12]); } break; case '2': A = DataTables.LumTableII[starSize]; B = DataTables.LumTableII[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableII[12]); } break; case '3': A = DataTables.LumTableIII[starSize]; B = DataTables.LumTableIII[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableIII[12]); } break; case '4': A = DataTables.LumTableIV[starSize]; B = DataTables.LumTableIV[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableIV[12]); } break; case '5': A = DataTables.LumTableV[starSize]; B = DataTables.LumTableV[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableV[12]); } break; case 'D': A = DataTables.LumTableD[starSize]; B = DataTables.LumTableD[starSize + 1]; if (StarType == StellarType.M && DecClass == '9') { return(DataTables.LumTableD[12]); } break; } return((((B - A) / 5) * X) + A); }
public double GetStellarMass() { var starSize = 0; var A = 0.0; var B = 0.0; var X = int.Parse(DecClass.ToString()); switch (StarType) { case StellarType.O: starSize = 0; break; case StellarType.B: starSize = 0; break; case StellarType.F: starSize = 4; break; case StellarType.G: starSize = 6; break; case StellarType.K: starSize = 8; break; case StellarType.M: starSize = 10; break; } switch (LumClass) { case 'a': A = DataTables.MassTableIa[starSize]; B = DataTables.MassTableIa[starSize + 1]; break; case 'b': A = DataTables.MassTableIb[starSize]; B = DataTables.MassTableIb[starSize + 1]; break; case '2': A = DataTables.MassTableII[starSize]; B = DataTables.MassTableII[starSize + 1]; break; case '3': A = DataTables.MassTableIII[starSize]; B = DataTables.MassTableIII[starSize + 1]; break; case '4': A = DataTables.MassTableIV[starSize]; B = DataTables.MassTableIV[starSize + 1]; break; case '5': A = DataTables.MassTableV[starSize]; B = DataTables.MassTableV[starSize + 1]; break; case 'D': A = DataTables.MassTableD[starSize]; B = DataTables.MassTableD[starSize + 1]; break; } return((((B - A) / 5) * X) + A); }