コード例 #1
0
        private void CalcAndOutputResults()
        {
            if (!init_)
            {
                return;
            }

            string s = "";

            double d = ClientCommonAPI.CalcTime();

            object_ = GetObject();
            s      += object_.Name + ":" + Environment.NewLine;

            double dec, ra;

            object_.CalcTopoRaDec(d, latitude_, longitude_, out dec, out ra);
            s += "R.A.\t= " + ClientCommonAPI.PrintTime(ra) + " (" + ra.ToString("F5") + "\x00B0)" + Environment.NewLine;
            s += "Dec.\t= " + ClientCommonAPI.PrintAngle(dec, true) + " (" + ClientCommonAPI.PrintDec(dec, "F5") + "\x00B0)" + Environment.NewLine;

            double azm, alt;

            object_.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt);
            s += "Azm.\t= " + ClientCommonAPI.PrintAngle(azm) + " (" + azm.ToString("F5") + "\x00B0)" + Environment.NewLine;
            s += "Alt.\t= " + ClientCommonAPI.PrintAngle(alt) + " (" + alt.ToString("F5") + "\x00B0)" + Environment.NewLine;

            buttonOK.Enabled = (alt > 0);

            textBoxResults.Text = s;
        }
コード例 #2
0
        private void buttonAddObject_Click(object sender, EventArgs e)
        {
            if (!init_)
            {
                return;
            }

            double d = ClientCommonAPI.CalcTime();

            SkyObjectPosCalc.SkyPosition obj = GetObject();

            double azm, alt;

            obj.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt);

            try
            {
                DSCAlignment alignmentNew = (DSCAlignment)alignment_.Clone();
                alignmentNew.AddStar(new AlignStar(obj.Name, new Vect3(azm * Const.toRad, alt * Const.toRad), new PairA(host_.AzmAngle, host_.AltAngle), host_.EquAngle));
                alignmentNew.ForceAlignment();
                alignment_ = alignmentNew;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Alignment Error", MessageBoxButtons.OK);
                return;
            }

            AlignmentChanged();
        }
コード例 #3
0
        private void buttonRevalidate_Click(object sender, EventArgs e)
        {
            if (!alignment_.IsAligned)
            {
                return;
            }
            double d = ClientCommonAPI.CalcTime();

            SkyObjectPosCalc.SkyPosition obj = GetObject();

            double azm, alt;

            obj.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt);

            try
            {
                alignment_.CorrectOffsets(new AlignStar(obj.Name, new Vect3(azm * Const.toRad, alt * Const.toRad), new PairA(host_.AzmAngle, host_.AltAngle), host_.EquAngle));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Correct Alignment Error", MessageBoxButtons.OK);
                return;
            }

            AlignmentChanged();
        }
コード例 #4
0
        private void SetPositionText()
        {
            if (!posTextChanged_)
            {
                return;
            }
            posTextChanged_ = false;

            string s = "";

            if (connectionAltAzm_ == null || connectionEqu_ == null || alignment_ == null || !alignment_.IsAligned || object_ == null)
            {
                s += "--, --";
            }
            else
            {
                double d = ClientCommonAPI.CalcTime();
                double azm, alt;
                object_.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt);
                PairA objScope = alignment_.Horz2Scope(new PairA(azm * Const.toRad, alt * Const.toRad), EquAngle);

                if (!showNearestAzmRotation_)
                {
                    s += ClientCommonAPI.PrintAzmAltDifference(SkyObjectPosCalc.Rev(objScope.Azm * Const.toDeg) - AzmAngle * Const.toDeg, (objScope.Alt - AltAngle) * Const.toDeg, oppositeHorzPositioningDir_);
                }
                else
                {
                    double azmd = SkyObjectPosCalc.Rev(objScope.Azm * Const.toDeg - AzmAngle * Const.toDeg);
                    if (azmd > 180)
                    {
                        azmd -= 360;
                    }
                    s += ClientCommonAPI.PrintAzmAltDifference(azmd, (objScope.Alt - AltAngle) * Const.toDeg, oppositeHorzPositioningDir_);
                }
            }

            textBoxPosition.Text = s;
        }
コード例 #5
0
        private void CalcAndOutputResults()
        {
            if (!init_)
            {
                return;
            }

            string s = "";

            double d = ClientCommonAPI.CalcTime();

            SkyObjectPosCalc.SkyPosition obj = GetObject();
            s += obj.Name + ":" + Environment.NewLine;

            double dec, ra;

            obj.CalcTopoRaDec(d, latitude_, longitude_, out dec, out ra);
            s += "R.A.\t= " + ClientCommonAPI.PrintTime(ra) + " (" + ra.ToString("F5") + "\x00B0)" + Environment.NewLine;
            s += "Dec.\t= " + ClientCommonAPI.PrintAngle(dec, true) + " (" + ClientCommonAPI.PrintDec(dec, "F5") + "\x00B0)" + Environment.NewLine;

            double azm, alt;

            obj.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt);
            s += "Azm.\t= " + ClientCommonAPI.PrintAngle(azm) + " (" + azm.ToString("F5") + "\x00B0)" + Environment.NewLine;
            s += "Alt.\t= " + ClientCommonAPI.PrintAngle(alt) + " (" + alt.ToString("F5") + "\x00B0)" + Environment.NewLine;
            s += Environment.NewLine;

            buttonAddObject.Enabled        = (alt > 0);
            buttonCorrectPolarAxis.Enabled = ClientCommonAPI.IsEquAxisCorrectionNeeded(latitude_, alignment_);

            if (alignment_.IsAligned)
            {
                s += "Alignment valid";
            }
            else
            {
                s += "Alignment not valid";
            }
            s += Environment.NewLine;
            s += alignment_.ToString(true);

            if (ClientCommonAPI.IsEquAxisCorrectionNeeded(latitude_, alignment_))
            {
                s += Environment.NewLine + ClientCommonAPI.AddEquAxisCorrectionText(latitude_, alignment_);
            }

            textBoxResults.Text = s;
        }