void NWindowEditDegrees::setValueDouble (double _val) { struct ln_dms dms; ln_deg_to_dms (_val, &dms); wprintw (getWriteWindow (), dms.neg ? "-" : "+"); if (dms.degrees > 0) wprintw (getWriteWindow (), "%id", dms.degrees); if (dms.minutes > 0) wprintw (getWriteWindow (), "%i'", dms.minutes); if (dms.seconds > 0) wprintw (getWriteWindow (), "%g\"", dms.seconds); if (dms.degrees == 0 && dms.minutes == 0 && dms.seconds == 0) wprintw (getWriteWindow (), "0"); }
/*! \fn void ln_lnlat_to_hlnlat (struct ln_lnlat_posn * pos, struct lnh_lnlat_posn * hpos) * \brief double long/lat position to human readable long/lat position * \ingroup conversion */ void ln_lnlat_to_hlnlat (struct ln_lnlat_posn * pos, struct lnh_lnlat_posn * hpos) { ln_deg_to_dms (pos->lng, &hpos->lng); ln_deg_to_dms (pos->lat, &hpos->lat); }
/*! \fn void ln_hrz_to_hhrz (struct ln_hrz_posn * pos, struct lnh_hrz_posn * hpos) * \brief double horizontal position to human readable horizontal position * \ingroup conversion */ void ln_hrz_to_hhrz (struct ln_hrz_posn * pos, struct lnh_hrz_posn * hpos) { ln_deg_to_dms (pos->alt, &hpos->alt); ln_deg_to_dms (pos->az, &hpos->az); }
/*! \fn void ln_equ_to_hequ (struct ln_equ_posn * pos, struct lnh_equ_posn * hpos) * \brief human double equatorial position to human readable equatorial position * \ingroup conversion */ void ln_equ_to_hequ (struct ln_equ_posn * pos, struct lnh_equ_posn * hpos) { ln_deg_to_hms (pos->ra, &hpos->ra); ln_deg_to_dms (pos->dec, &hpos->dec); }
/* convert radians to dms */ void ln_rad_to_dms (double radians, struct ln_dms * dms) { double degrees = ln_rad_to_deg(radians); ln_deg_to_dms(degrees, dms); }