Beispiel #1
0
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);
}