Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }