private void CalcRA() { try { switch (raFormat_) { case RADecFormat.HMS: case RADecFormat.DMS: { double min = Convert.ToDouble(textBoxRAMin.Text); if (min < 0) { min = 0; } else if (min > 59) { min = 59; } double sec = Convert.ToDouble(textBoxRASec.Text); if (sec < 0) { sec = 0; } else if (sec >= 60) { sec = 59.9; } double ra; if (ClientCommonAPI.ParseSignedValue(textBoxRADeg.Text, out ra)) { ra += (min + sec / 60.0) / 60.0; } else { ra -= (min + sec / 60.0) / 60.0; } ra_hour_ = SkyObjectPosCalc.Rev((raFormat_ == RADecFormat.HMS) ? ra * 15.0 : ra) / 15.0; } break; case RADecFormat.Degree: ra_hour_ = SkyObjectPosCalc.Rev(Convert.ToDouble(textBoxRADeg.Text)) / 15.0; break; } } catch (System.FormatException) { ra_hour_ = 0; } ObjectChanged(); }
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; }
public static double CalcTime(DateTime timeUtc) { return(SkyObjectPosCalc.CalcTime(timeUtc.Year, timeUtc.Month, timeUtc.Day, timeUtc.Hour, timeUtc.Minute, timeUtc.Second, timeUtc.Millisecond)); }
private void SetScopePositionAndObjectText(bool sendPositionToStellarium) { if (!scopePosAndObjTextChanged_ && !sendPositionToStellarium) { return; } scopePosAndObjTextChanged_ = false; double d = ClientCommonAPI.CalcTime(); string s = ""; if (connectionAltAzm_ == null) { s += "Encoder Abs Positions Unknown" + Environment.NewLine; } else { s += "Encoder Abs Positions: Azm = " + ClientCommonAPI.PrintAngle(AzmAngle * Const.toDeg, false, false) + ", Alt = " + ClientCommonAPI.PrintAngle(AltAngle * Const.toDeg, false, false) + Environment.NewLine; s += "ErrCnt = " + errorCnt_ + Environment.NewLine; } if (connectionEqu_ == null) { s += "Equ Angle Unknown" + Environment.NewLine; } else { s += "Equ Angle = " + ClientCommonAPI.PrintAngle(EquAngle * Const.toDeg) + Environment.NewLine; } s += Environment.NewLine; if (connectionAltAzm_ == null || connectionEqu_ == null) { s += "Scope Position Unknown"; } else if (alignment_ != null && alignment_.IsAligned) { PairA horz = alignment_.Scope2Horz(new PairA(AzmAngle, AltAngle), EquAngle); s += "Scope Position: Azm = " + ClientCommonAPI.PrintAngle(SkyObjectPosCalc.Rev(horz.Azm * Const.toDeg), false, false); s += ", Alt = " + ClientCommonAPI.PrintAngle(SkyObjectPosCalc.Rev(horz.Alt * Const.toDeg), false, false) + Environment.NewLine; double dec, ra; SkyObjectPosCalc.AzAlt2Equ(d, latitude_, longitude_, SkyObjectPosCalc.Rev(horz.Azm * Const.toDeg), SkyObjectPosCalc.Rev(horz.Alt * Const.toDeg), 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; if (sendPositionToStellarium && stellariumConnection_ != null && stellariumConnection_.IsConnected) { stellariumConnection_.SendPosition(dec, ra); } } s += Environment.NewLine; if (object_ == null) { s += "No Object Selected"; } else { double azm, alt; object_.CalcAzimuthal(d, latitude_, longitude_, out azm, out alt); s += object_.Name + ": Azm = " + ClientCommonAPI.PrintAngle(azm, false, false); s += ", Alt = " + ClientCommonAPI.PrintAngle(alt, false, false) + 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= " + ScopeDSCClient.PrintAngle(azm) + " (" + azm.ToString("F5") + "\x00B0)" + Environment.NewLine; * s += "Alt.\t= " + ScopeDSCClient.PrintAngle(alt) + " (" + alt.ToString("F5") + "\x00B0)"; * */ } textBoxObject.Text = s; }