Changeset 2643 in Sophya for trunk/SophyaExt/XephemAstroLib/umoon.c
- Timestamp:
- Jan 17, 2005, 11:13:08 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/XephemAstroLib/umoon.c
r2551 r2643 11 11 static int use_bdl (double jd, char *dir, MoonData md[U_NMOONS]); 12 12 static void moonradec (double usize, MoonData md[U_NMOONS]); 13 static void moonSVis (Obj * eop, Obj *uop, MoonData md[U_NMOONS]);13 static void moonSVis (Obj *sop, Obj *uop, MoonData md[U_NMOONS]); 14 14 static void moonEVis (MoonData md[U_NMOONS]); 15 static void moonPShad (Obj *sop, Obj *uop, MoonData md[U_NMOONS]); 16 static void moonTrans (MoonData md[U_NMOONS]); 15 17 16 18 /* moon table and a few other goodies and when it was last computed */ … … 29 31 static char ubdlfn[] = "uranus.9910"; 30 32 33 /* These values are from the Explanatory Supplement. 34 * Precession degrades them gradually over time. 35 */ 36 #define POLE_RA degrad(257.43) /* RA of Uranus' north pole */ 37 #define POLE_DEC degrad(-15.10) /* Dec of Uranus' north pole */ 38 39 31 40 /* get uranus info in md[0], moon info in md[1..U_NMOONS-1]. 32 41 * if !uop caller just wants md[] for names 33 * N.B. we assume eop and uop are updated.42 * N.B. we assume sop and uop are updated. 34 43 */ 35 44 void … … 37 46 double Mjd, /* mjd */ 38 47 char dir[], /* dir in which to look for helper files */ 39 Obj * eop, /* earth ==Sun */48 Obj *sop, /* Sun */ 40 49 Obj *uop, /* uranus */ 41 50 double *sizep, /* u angular diam, rads */ 51 double *polera, double *poledec, /* pole location */ 42 52 MoonData md[U_NMOONS]) /* return info */ 43 53 { … … 46 56 /* always copy back at least for name */ 47 57 memcpy (md, umd, sizeof(umd)); 58 59 /* pole */ 60 if (polera) *polera = POLE_RA; 61 if (poledec) *poledec = POLE_DEC; 48 62 49 63 /* nothing else if repeat call or just want names */ … … 86 100 87 101 /* set visibilities */ 88 moonSVis (eop, uop, md); 102 moonSVis (sop, uop, md); 103 moonPShad (sop, uop, md); 89 104 moonEVis (md); 105 moonTrans (md); 90 106 91 107 /* fill in moon ra and dec */ … … 172 188 static void 173 189 moonSVis( 174 Obj * eop, /* earth ==SUN */190 Obj *sop, /* SUN */ 175 191 Obj *uop, /* uranus */ 176 192 MoonData md[U_NMOONS]) 177 193 { 178 double esd = eop->s_edist;194 double esd = sop->s_edist; 179 195 double eod = uop->s_edist; 180 196 double sod = uop->s_sdist; … … 215 231 } 216 232 233 /* set pshad and sx,sy shadow info */ 234 static void 235 moonPShad( 236 Obj *sop, /* SUN */ 237 Obj *uop, /* uranus */ 238 MoonData md[U_NMOONS]) 239 { 240 int i; 241 242 for (i = 1; i < U_NMOONS; i++) { 243 MoonData *mdp = &md[i]; 244 mdp->pshad = !plshadow (uop, sop, POLE_RA, POLE_DEC, mdp->x, 245 mdp->y, mdp->z, &mdp->sx, &mdp->sy); 246 } 247 } 248 249 /* set whether moons are transiting */ 250 static void 251 moonTrans (MoonData md[U_NMOONS]) 252 { 253 int i; 254 255 for (i = 1; i < U_NMOONS; i++) { 256 MoonData *mdp = &md[i]; 257 mdp->trans = mdp->z > 0 && mdp->x*mdp->x + mdp->y*mdp->y < 1; 258 } 259 } 260 261 217 262 /* For RCS Only -- Do Not Edit */ 218 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: umoon.c,v $ $Date: 200 4-06-15 16:54:12 $ $Revision: 1.1$ $Name: not supported by cvs2svn $"};263 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: umoon.c,v $ $Date: 2005-01-17 10:13:08 $ $Revision: 1.2 $ $Name: not supported by cvs2svn $"};
Note:
See TracChangeset
for help on using the changeset viewer.