Changeset 2643 in Sophya for trunk/SophyaExt/XephemAstroLib/satmoon.c
- Timestamp:
- Jan 17, 2005, 11:13:08 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/XephemAstroLib/satmoon.c
r2551 r2643 14 14 static void moonSVis (Obj *eop, Obj *sop, MoonData md[S_NMOONS]); 15 15 static void moonEVis (MoonData md[S_NMOONS]); 16 static void moonPShad (Obj *eop, Obj *sop, MoonData md[S_NMOONS]); 17 static void moonTrans (MoonData md[S_NMOONS]); 16 18 17 19 /* moon table and a few other goodies and when it was last computed */ … … 35 37 static char sbdlfn[] = "saturne.9910"; 36 38 39 /* These values are from the Explanatory Supplement. 40 * Precession degrades them gradually over time. 41 */ 42 #define POLE_RA degrad(40.58) /* RA of Saturn's north pole */ 43 #define POLE_DEC degrad(83.54) /* Dec of Saturn's north pole */ 44 45 37 46 /* get saturn info in md[0], moon info in md[1..S_NMOONS-1]. 38 47 * if !dir always use bruton model. … … 48 57 double *sizep, /* saturn's angular diam, rads */ 49 58 double *etiltp, double *stiltp, /* earth and sun tilts -- +S */ 59 double *polera, double *poledec,/* pole location */ 50 60 MoonData md[S_NMOONS]) /* return info */ 51 61 { … … 54 64 /* always copy back at least for name */ 55 65 memcpy (md, smd, sizeof(smd)); 66 67 /* pole */ 68 if (polera) *polera = POLE_RA; 69 if (poledec) *poledec = POLE_DEC; 56 70 57 71 /* nothing else if repeat call or just want names */ … … 94 108 /* set visibilities */ 95 109 moonSVis (eop, sop, md); 110 moonPShad (eop, sop, md); 96 111 moonEVis (md); 112 moonTrans (md); 97 113 98 114 /* fill in moon ra and dec */ … … 455 471 } 456 472 473 /* set pshad and sx,sy shadow info */ 474 static void 475 moonPShad( 476 Obj *eop, /* earth == SUN */ 477 Obj *sop, /* saturn */ 478 MoonData md[S_NMOONS]) 479 { 480 int i; 481 482 for (i = 1; i < S_NMOONS; i++) { 483 MoonData *mdp = &md[i]; 484 mdp->pshad = !plshadow (sop, eop, POLE_RA, POLE_DEC, mdp->x, 485 mdp->y, mdp->z, &mdp->sx, &mdp->sy); 486 } 487 } 488 489 490 /* set whether moons are transiting */ 491 static void 492 moonTrans (MoonData md[S_NMOONS]) 493 { 494 int i; 495 496 for (i = 1; i < S_NMOONS; i++) { 497 MoonData *mdp = &md[i]; 498 mdp->trans = mdp->z > 0 && mdp->x*mdp->x + mdp->y*mdp->y < 1; 499 } 500 } 501 457 502 /* For RCS Only -- Do Not Edit */ 458 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: satmoon.c,v $ $Date: 200 4-06-15 16:54:12 $ $Revision: 1.1$ $Name: not supported by cvs2svn $"};503 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: satmoon.c,v $ $Date: 2005-01-17 10:13:07 $ $Revision: 1.2 $ $Name: not supported by cvs2svn $"};
Note:
See TracChangeset
for help on using the changeset viewer.