home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-01 | 67.7 KB | 2,069 lines |
- diff -c v2.4b/Makefile.simple v2.4e/Makefile.simple
- *** v2.4b/Makefile.simple Tue Jun 1 14:30:20 1993
- --- v2.4e/Makefile.simple Tue Jun 1 10:23:00 1993
- ***************
- *** 1,4 ****
- ! # Simple Makefile for xephem v2.4b.
- # We include sample compile and link flags for a few popular systems.
-
- # "stock" X systems
- --- 1,4 ----
- ! # Simple Makefile for xephem v2.4e.
- # We include sample compile and link flags for a few popular systems.
-
- # "stock" X systems
- diff -c v2.4b/README v2.4e/README
- *** v2.4b/README Tue Jun 1 14:31:30 1993
- --- v2.4e/README Tue Jun 1 14:24:00 1993
- ***************
- *** 35,50 ****
-
- If not, there is also a Makefile.simple.
-
- ! atof() can be somewhat problematic. It was historically declared to be
- ! double in math.h. More contemporary systems declare it only in stdlib.h.
- ! Xephem includes stdlib.h if __STDC__ is defined, else it assumes atof()
- ! is declared in math.h. This should work pretty well but if you get
- ! crazy numbers from xephem check the files that use atof and figure out a
- ! way to get it declared to return a double. Atof() is called in compiler.c,
- ! db.c, formats.c, mainmenu.c and satmenu.c.
-
- - Also, on some systems (such as SVR3.2) compile with -D_NO_PROTO and -DSYSV.
- -
- I have searched carefully through the output of running all of xephem
- through lint and gcc on Ultrix and SVR4 and can rationalize all the
- warnings so don't let these bother you.
- --- 35,42 ----
-
- If not, there is also a Makefile.simple.
-
- ! On some systems (such as SVR3.2) compile with -D_NO_PROTO and -DSYSV.
-
- I have searched carefully through the output of running all of xephem
- through lint and gcc on Ultrix and SVR4 and can rationalize all the
- warnings so don't let these bother you.
- ***************
- *** 80,86 ****
- to run on the following configurations:
-
-
- ! xephem v2.4b is known to run on the following systems; check with the author
- for availability of statically linked binary executables.
-
- OS CPU X
- --- 72,78 ----
- to run on the following configurations:
-
-
- ! xephem v2.4e is known to run on the following systems; check with the author
- for availability of statically linked binary executables.
-
- OS CPU X
- ***************
- *** 88,99 ****
- SVR3.2/Venix i486 Metrolink X11R4/Motif 1.1.3
- SVR4.0.3/Consensys i486 MIT X11R5/Motif 1.1.4
- Ultrix 4.2 DECstation 5000 DEC's (?)
- ! SunOS 4.1.2 Sun 4c TeleUSE development system
- hpux 8.07 HP 9000/720 X11R4, Motif 1.1.?
- IRIX 4.0.5 SGI X11R4
- OSF/1 1.2 DEC Alpha X11R5, Motif 1.1.3
-
-
- If you would like to gut xephem for just its astronomical functionality, start
- with obj_cir(). This is basically the dividing line between the user interface
- and the astronomical functions. Also, the following files are pretty much just
- --- 80,97 ----
- SVR3.2/Venix i486 Metrolink X11R4/Motif 1.1.3
- SVR4.0.3/Consensys i486 MIT X11R5/Motif 1.1.4
- Ultrix 4.2 DECstation 5000 DEC's (?)
- ! SunOS 4.1.2 Sun 4c TeleUSE development system*
- hpux 8.07 HP 9000/720 X11R4, Motif 1.1.?
- IRIX 4.0.5 SGI X11R4
- OSF/1 1.2 DEC Alpha X11R5, Motif 1.1.3
- + AIXv3.2 IBM RS/6000 AIXwindows
- + VMS VAX DECwindows
- + SCO v3.2 i486 ODT 2.0
- + Linux i486 MetroLink
-
- + * requires Sun's X server patch 100444-35.
-
- +
- If you would like to gut xephem for just its astronomical functionality, start
- with obj_cir(). This is basically the dividing line between the user interface
- and the astronomical functions. Also, the following files are pretty much just
- ***************
- *** 149,171 ****
-
- ecdowney@pobox.cca.cr.rockwell.com
-
- ! April 21, 1993
-
- ! The following (untested!) DCL file will build xephem for VMS/DECwindows MOTIF;
- ! based on an earlier version by Ethan VanMatre:
-
- $!
- $! Makefile.com -- Command file to compile and link Xephem
- $!
- - $!
- $! A simple minded command file to compile and link Xephem under VAX/VMS
- $! and DECwindows MOTIF
- $!
- ! $! when who what
- $!
- ! $! 2-feb-1992 Ethan VanMatre original from unix makefile
- $!
- ! $
- $ cc aa_hadec/opt/obj
- $ cc anomaly /opt/obj
- $ cc cal_mjd /opt/obj
- --- 147,176 ----
-
- ecdowney@pobox.cca.cr.rockwell.com
-
- ! June 1, 1993
-
- ! The following DCL file, courtesy fisica@astrpd.DNET.NASA.GOV (Max Calvani -
- ! Italy) will build xephem for VMS/DECwindows MOTIF. In addition,
- ! drucker@Csa2.LBL.Gov (Bob Drucker, Berkeley/LBL) writes:
-
- + For VMS users the default settings file can be pointed to in one of
- + two ways. The default name for the resource file on VMS is
- + SYS$LOGIN:DECW$XDEFAULTS.DAT. If you don't wish to use this
- + you can define the logical XENVIRONMENT to point to the file (this
- + allows you to keep the file anywhere you want with any name).
- +
- $!
- $! Makefile.com -- Command file to compile and link Xephem
- $!
- $! A simple minded command file to compile and link Xephem under VAX/VMS
- $! and DECwindows MOTIF
- $!
- ! $! when who what
- $!
- ! $! 2-feb-1992 Ethan VanMatre original from unix makefile
- ! $! 13-mar-1993 Max Calvani updated for xephem v2.4.
- $!
- ! $ set ver
- $ cc aa_hadec/opt/obj
- $ cc anomaly /opt/obj
- $ cc cal_mjd /opt/obj
- ***************
- *** 186,191 ****
- --- 191,197 ----
- $ cc listmenu/opt/obj
- $ cc mainmenu/opt/obj
- $ cc marsmenu/opt/obj
- + $ cc marsmap/opt/obj
- $ cc misc /opt/obj
- $ cc moon /opt/obj
- $ cc moonmenu/opt/obj
- ***************
- *** 200,211 ****
- $ cc plot_aux/opt/obj
- $ cc plotmenu/opt/obj
- $ cc precess /opt/obj
- $ cc query /opt/obj
- $ cc reduce /opt/obj
- $ cc refract /opt/obj
- $ cc riset /opt/obj
- $ cc riset_cir/opt/obj
- - $ cc risetmenu/opt/obj
- $ cc satmenu /opt/obj
- $ cc sex_dec /opt/obj
- $ cc skyfiltmenu/opt/obj
- --- 206,217 ----
- $ cc plot_aux/opt/obj
- $ cc plotmenu/opt/obj
- $ cc precess /opt/obj
- + $ cc preferences/opt/obj
- $ cc query /opt/obj
- $ cc reduce /opt/obj
- $ cc refract /opt/obj
- $ cc riset /opt/obj
- $ cc riset_cir/opt/obj
- $ cc satmenu /opt/obj
- $ cc sex_dec /opt/obj
- $ cc skyfiltmenu/opt/obj
- ***************
- *** 239,244 ****
- --- 245,251 ----
- listmenu.obj, -
- mainmenu.obj, -
- marsmenu.obj, -
- + marsmap.obj, -
- misc.obj, -
- moon.obj, -
- moonmenu.obj, -
- ***************
- *** 253,264 ****
- plot_aux.obj, -
- plotmenu.obj, -
- precess.obj, -
- query.obj, -
- reduce.obj, -
- refract.obj, -
- riset.obj, -
- riset_cir.obj, -
- - risetmenu.obj, -
- satmenu.obj, -
- sex_dec.obj, -
- skyfiltmenu.obj, -
- --- 260,271 ----
- plot_aux.obj, -
- plotmenu.obj, -
- precess.obj, -
- + preferences.obj, -
- query.obj, -
- reduce.obj, -
- refract.obj, -
- riset.obj, -
- riset_cir.obj, -
- satmenu.obj, -
- sex_dec.obj, -
- skyfiltmenu.obj, -
- ***************
- *** 278,280 ****
- --- 285,288 ----
- $!clean:
- $ purge
- $!
- + $ set nover
- diff -c v2.4b/XEphem.ad v2.4e/XEphem.ad
- *** v2.4b/XEphem.ad Tue Jun 1 14:30:43 1993
- --- v2.4e/XEphem.ad Wed May 19 13:59:45 1993
- ***************
- *** 168,173 ****
- --- 168,176 ----
- XEphem*SkyFilter*SymbolDA.foreground: snow
- XEphem*SkyFilter*SymbolDA.background: #00004a
-
- + ! set the width of the symbol boxes in the Sky view Filter menu.
- + XEphem*SkyFilter*SymbolDA.width: 20
- +
- ! initial types of object to display in Sky View
- XEphem*SkyFilter*Planets.set: True
- XEphem*SkyFilter*Elliptical.set: True
- diff -c v2.4b/compiler.c v2.4e/compiler.c
- *** v2.4b/compiler.c Tue Jun 1 14:30:14 1993
- --- v2.4e/compiler.c Tue May 18 09:36:50 1993
- ***************
- *** 27,32 ****
- --- 27,34 ----
- #define P_(s) ()
- #endif
-
- + extern double atod P_((char *buf));
- +
- int compile_expr P_((char *ex, char *errbuf));
- int execute_expr P_((double *vp, char *errbuf));
- int prog_isgood P_((void));
- ***************
- *** 276,282 ****
- (void) sprintf (err_msg, toomc, MAX_OPX);
- return (ERR);
- }
- ! consts[nconsts] = atof (lcexpr);
- tok = CONST | (nconsts++ << OP_SHIFT);
- skip_double();
- } else if (isalpha(c)) {
- --- 278,284 ----
- (void) sprintf (err_msg, toomc, MAX_OPX);
- return (ERR);
- }
- ! consts[nconsts] = atod (lcexpr);
- tok = CONST | (nconsts++ << OP_SHIFT);
- skip_double();
- } else if (isalpha(c)) {
- diff -c v2.4b/datamenu.c v2.4e/datamenu.c
- *** v2.4b/datamenu.c Tue Jun 1 14:31:45 1993
- --- v2.4e/datamenu.c Tue Jun 1 10:54:35 1993
- ***************
- *** 40,45 ****
- --- 40,46 ----
- extern void f_ra P_((Widget w, double ra));
- extern void f_showit P_((Widget w, char *s));
- extern void f_string P_((Widget w, char *s));
- + extern void field_log P_((Widget w, double value, int logv, char *str));
- extern void get_something P_((Widget w, char *resource, char *value));
- extern void get_xmstring P_((Widget w, char *resource, char **txtp));
- extern void hlp_dialog P_((char *tag, char *deflt[], int ndeflt));
- ***************
- *** 66,72 ****
- static void dm_help_cb P_((Widget w, XtPointer client, XtPointer call));
- static void dm_compute P_((int r, int force, Now *np));
- static void dm_format P_((Now *np, Obj *op, RiseSet *rp, int c, Widget w));
- ! static void dm_rs_addplus P_((Widget w, int addplus));
- static void dm_rs_hrsup P_((Widget w, RiseSet *rp));
- static void show_constellation P_((Now *np, Obj *op, Widget w));
- static void dm_separation P_((Obj *p, Obj *q, int how, Widget w));
- --- 67,73 ----
- static void dm_help_cb P_((Widget w, XtPointer client, XtPointer call));
- static void dm_compute P_((int r, int force, Now *np));
- static void dm_format P_((Now *np, Obj *op, RiseSet *rp, int c, Widget w));
- ! static void dm_rs_addplus P_((Widget w, double tm, int addplus));
- static void dm_rs_hrsup P_((Widget w, RiseSet *rp));
- static void show_constellation P_((Now *np, Obj *op, Widget w));
- static void dm_separation P_((Obj *p, Obj *q, int how, Widget w));
- ***************
- *** 844,853 ****
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NORISE)
- f_string (w, "NoRise");
- ! else {
- ! f_mtime (w, rp->rs_risetm); /* 5 chars wide */
- ! dm_rs_addplus (w, rp->rs_flags & RS_2RISES); /* adds 1 */
- ! }
- break;
-
- case RSAZ_ID:
- --- 845,852 ----
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NORISE)
- f_string (w, "NoRise");
- ! else
- ! dm_rs_addplus (w, rp->rs_risetm, rp->rs_flags & RS_2RISES);
- break;
-
- case RSAZ_ID:
- ***************
- *** 872,881 ****
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NOSET)
- f_string (w, "NoSet ");
- ! else {
- ! f_mtime (w, rp->rs_settm); /* 5 chars wide */
- ! dm_rs_addplus (w, rp->rs_flags & RS_2SETS); /* adds 1 */
- ! }
- break;
-
- case SETAZ_ID:
- --- 871,878 ----
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NOSET)
- f_string (w, "NoSet ");
- ! else
- ! dm_rs_addplus (w, rp->rs_settm, rp->rs_flags & RS_2SETS);
- break;
-
- case SETAZ_ID:
- ***************
- *** 898,907 ****
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NOTRANS)
- f_string (w, "NoTran");
- ! else {
- ! f_mtime (w, rp->rs_trantm); /* 5 chars wide */
- ! dm_rs_addplus (w, rp->rs_flags & RS_2TRANS); /* adds 1 */
- ! }
- break;
-
- case TRALT_ID:
- --- 895,902 ----
- f_string (w, "NvrUp ");
- else if (rp->rs_flags & RS_NOTRANS)
- f_string (w, "NoTran");
- ! else
- ! dm_rs_addplus (w, rp->rs_trantm, rp->rs_flags & RS_2TRANS);
- break;
-
- case TRALT_ID:
- ***************
- *** 939,957 ****
- }
- }
-
- static void
- ! dm_rs_addplus (w, addplus)
- Widget w;
- int addplus;
- {
- ! char *orig, *new;
-
- ! get_xmstring (w, XmNlabelString, &orig);
- ! new = XtMalloc(strlen(orig)+2); /* '+' plus the '\0' */
- ! (void) sprintf (new, addplus ? "%s+" : "%s ", orig);
- ! f_string (w, new);
- ! XtFree (orig);
- ! XtFree (new);
- }
-
- /* display the total hours this object has been up.
- --- 934,955 ----
- }
- }
-
- + /* display the rise/set/transit time tm (in hours) in widget w.
- + * if addplus is != 0 then add a '+' to the time string.
- + * N.B. be sure the total string length is the same regardless of addplus.
- + */
- static void
- ! dm_rs_addplus (w, tm, addplus)
- Widget w;
- + double tm;
- int addplus;
- {
- ! char str[32];
-
- ! fs_mtime (str, tm); /* 5 chars: "hh:mm" */
- ! (void) strcat (str, addplus ? "+" : " "); /* always add 1 */
- ! field_log (w, tm, 1, str);
- ! f_showit (w, str);
- }
-
- /* display the total hours this object has been up.
- ***************
- *** 973,980 ****
- return;
- }
- if (rp->rs_flags & RS_NEVERUP) {
- ! f_mtime (w, 0.0); /* 5 chars wide */
- ! dm_rs_addplus(w, 0); /* adds 1 */
- return;
- }
-
- --- 971,977 ----
- return;
- }
- if (rp->rs_flags & RS_NEVERUP) {
- ! dm_rs_addplus (w, 0.0, 0);
- return;
- }
-
- ***************
- *** 983,990 ****
- hrs = s - r;
- if (hrs < 0)
- hrs += 24.0;
- ! f_mtime (w, hrs); /* 5 chars wide */
- ! dm_rs_addplus(w, rp->rs_flags&(RS_NORISE|RS_NOSET|RS_2RISES|RS_2SETS));
- }
-
- static void
- --- 980,986 ----
- hrs = s - r;
- if (hrs < 0)
- hrs += 24.0;
- ! dm_rs_addplus(w, hrs, rp->rs_flags&(RS_NORISE|RS_NOSET|RS_2RISES|RS_2SETS));
- }
-
- static void
- diff -c v2.4b/db.c v2.4e/db.c
- *** v2.4b/db.c Tue Jun 1 14:30:16 1993
- --- v2.4e/db.c Thu May 20 12:51:21 1993
- ***************
- *** 3,14 ****
-
- #include <stdio.h>
- #include <ctype.h>
- - #include <malloc.h>
- #include <math.h>
- #if defined(__STDC__)
- #include <stdlib.h>
- #include <string.h>
- #endif
- #include "astro.h"
- #include "circum.h"
- #include "preferences.h"
- --- 3,17 ----
-
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- +
- #if defined(__STDC__)
- #include <stdlib.h>
- #include <string.h>
- + #else
- + extern void *malloc(), *realloc();
- #endif
- +
- #include "astro.h"
- #include "circum.h"
- #include "preferences.h"
- ***************
- *** 20,25 ****
- --- 23,29 ----
- #define P_(s) ()
- #endif
-
- + extern double atod P_((char *buf));
- extern Now *mm_get_now P_((void));
- extern int obj_cir P_((Now *np, Obj *op));
- extern void cal_mjd P_((int mn, double dy, int yr, double *Mjd));
- ***************
- *** 332,341 ****
- break;
- }
- case F_MAG:
- ! op->f_mag = atof (bp) * MAGSCALE;
- break;
- case F_SIZE:
- ! op->f_size = atof (bp);
- break;
- case F_EPOCH: {
- double fepoch;
- --- 336,345 ----
- break;
- }
- case F_MAG:
- ! op->f_mag = atod (bp) * MAGSCALE;
- break;
- case F_SIZE:
- ! op->f_size = atod (bp);
- break;
- case F_EPOCH: {
- double fepoch;
- ***************
- *** 365,389 ****
- }
-
- case E_INC:
- ! op->e_inc = atof (bp);
- break;
- case E_LAN:
- ! op->e_Om = atof (bp);
- break;
- case E_AOP:
- ! op->e_om = atof (bp);
- break;
- case E_A:
- ! op->e_a = atof (bp);
- break;
- case E_N:
- ! op->e_n = atof (bp);
- break;
- case E_E:
- ! op->e_e = atof (bp);
- break;
- case E_M:
- ! op->e_M = atof (bp);
- break;
- case E_CEPOCH:
- crack_year (bp, pref, &op->e_cepoch);
- --- 369,393 ----
- }
-
- case E_INC:
- ! op->e_inc = atod (bp);
- break;
- case E_LAN:
- ! op->e_Om = atod (bp);
- break;
- case E_AOP:
- ! op->e_om = atod (bp);
- break;
- case E_A:
- ! op->e_a = atod (bp);
- break;
- case E_N:
- ! op->e_n = atod (bp);
- break;
- case E_E:
- ! op->e_e = atod (bp);
- break;
- case E_M:
- ! op->e_M = atod (bp);
- break;
- case E_CEPOCH:
- crack_year (bp, pref, &op->e_cepoch);
- ***************
- *** 405,411 ****
- /* leave type unchanged if no or unrecognized prefix */
- break;
- }
- ! op->e_mag.m1 = atof(bp);
- break;
- case E_M2:
- switch (bp[0]) {
- --- 409,415 ----
- /* leave type unchanged if no or unrecognized prefix */
- break;
- }
- ! op->e_mag.m1 = atod(bp);
- break;
- case E_M2:
- switch (bp[0]) {
- ***************
- *** 421,430 ****
- /* leave type unchanged if no or unrecognized prefix */
- break;
- }
- ! op->e_mag.m2 = atof(bp);
- break;
- case E_SIZE:
- ! op->e_size = atof (bp);
- break;
-
- case H_EP:
- --- 425,434 ----
- /* leave type unchanged if no or unrecognized prefix */
- break;
- }
- ! op->e_mag.m2 = atod(bp);
- break;
- case E_SIZE:
- ! op->e_size = atod (bp);
- break;
-
- case H_EP:
- ***************
- *** 431,461 ****
- crack_year (bp, pref, &op->h_ep);
- break;
- case H_INC:
- ! op->h_inc = atof (bp);
- break;
- case H_LAN:
- ! op->h_Om = atof (bp);
- break;
- case H_AOP:
- ! op->h_om = atof (bp);
- break;
- case H_E:
- ! op->h_e = atof (bp);
- break;
- case H_QP:
- ! op->h_qp = atof (bp);
- break;
- case H_EPOCH:
- crack_year (bp, pref, &op->h_epoch);
- break;
- case H_G:
- ! op->h_g = atof (bp);
- break;
- case H_K:
- ! op->h_k = atof (bp);
- break;
- case H_SIZE:
- ! op->h_size = atof (bp);
- break;
-
- case P_EP:
- --- 435,465 ----
- crack_year (bp, pref, &op->h_ep);
- break;
- case H_INC:
- ! op->h_inc = atod (bp);
- break;
- case H_LAN:
- ! op->h_Om = atod (bp);
- break;
- case H_AOP:
- ! op->h_om = atod (bp);
- break;
- case H_E:
- ! op->h_e = atod (bp);
- break;
- case H_QP:
- ! op->h_qp = atod (bp);
- break;
- case H_EPOCH:
- crack_year (bp, pref, &op->h_epoch);
- break;
- case H_G:
- ! op->h_g = atod (bp);
- break;
- case H_K:
- ! op->h_k = atod (bp);
- break;
- case H_SIZE:
- ! op->h_size = atod (bp);
- break;
-
- case P_EP:
- ***************
- *** 462,489 ****
- crack_year (bp, pref, &op->p_ep);
- break;
- case P_INC:
- ! op->p_inc = atof (bp);
- break;
- case P_AOP:
- ! op->p_om = atof (bp);
- break;
- case P_QP:
- ! op->p_qp = atof (bp);
- break;
- case P_LAN:
- ! op->p_Om = atof (bp);
- break;
- case P_EPOCH:
- crack_year (bp, pref, &op->p_epoch);
- break;
- case P_G:
- ! op->p_g = atof (bp);
- break;
- case P_K:
- ! op->p_k = atof (bp);
- break;
- case P_SIZE:
- ! op->p_size = atof (bp);
- break;
- default:
- printf ("BUG! db_set_field: bad id: %d\n", id);
- --- 466,493 ----
- crack_year (bp, pref, &op->p_ep);
- break;
- case P_INC:
- ! op->p_inc = atod (bp);
- break;
- case P_AOP:
- ! op->p_om = atod (bp);
- break;
- case P_QP:
- ! op->p_qp = atod (bp);
- break;
- case P_LAN:
- ! op->p_Om = atod (bp);
- break;
- case P_EPOCH:
- crack_year (bp, pref, &op->p_epoch);
- break;
- case P_G:
- ! op->p_g = atod (bp);
- break;
- case P_K:
- ! op->p_k = atod (bp);
- break;
- case P_SIZE:
- ! op->p_size = atod (bp);
- break;
- default:
- printf ("BUG! db_set_field: bad id: %d\n", id);
- ***************
- *** 508,515 ****
- if (nobj[t] >= nmem[t]) {
- int oldn = nmem[t];
- int newn = oldn + DBMEMCHUNKS;
- ! char *newp = db[t] ? realloc (db[t], size*newn)
- ! : malloc (size*newn);
- if (!newp)
- return (NULL);
- zero_mem (newp + size*oldn, size*DBMEMCHUNKS);
- --- 512,519 ----
- if (nobj[t] >= nmem[t]) {
- int oldn = nmem[t];
- int newn = oldn + DBMEMCHUNKS;
- ! char *newp = db[t] ? (char *) realloc (db[t], size*newn)
- ! : (char *) malloc (size*newn);
- if (!newp)
- return (NULL);
- zero_mem (newp + size*oldn, size*DBMEMCHUNKS);
- diff -c v2.4b/dbmenu.c v2.4e/dbmenu.c
- *** v2.4b/dbmenu.c Tue Jun 1 14:31:11 1993
- --- v2.4e/dbmenu.c Wed May 19 14:18:50 1993
- ***************
- *** 4,13 ****
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- ! #include <errno.h>
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- #include <Xm/Xm.h>
- #include <Xm/Form.h>
- #include <Xm/Frame.h>
- --- 4,14 ----
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- !
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- +
- #include <Xm/Xm.h>
- #include <Xm/Form.h>
- #include <Xm/Frame.h>
- ***************
- *** 26,31 ****
- --- 27,33 ----
- #endif
-
- extern Obj *db_next P_((Obj *op, HowNext how));
- + extern char *syserrstr P_((void));
- extern int db_n P_((void));
- extern int db_read P_((FILE *fp, int append));
- extern void all_newdb P_((int appended));
- ***************
- *** 46,52 ****
-
- #undef P_
-
- - extern char *sys_errlist[];
- extern Widget toplevel_w;
- extern char *myclass;
- #define XtD XtDisplay(toplevel_w)
- --- 48,53 ----
- ***************
- *** 211,217 ****
- if (!fp) {
- char msg[128];
- (void) sprintf (msg, "Can not open %.75s: %.25s", name,
- ! sys_errlist[errno]);
- xe_msg (msg, 1);
- }
- return (fp);
- --- 212,218 ----
- if (!fp) {
- char msg[128];
- (void) sprintf (msg, "Can not open %.75s: %.25s", name,
- ! syserrstr());
- xe_msg (msg, 1);
- }
- return (fp);
- diff -c v2.4b/formats.c v2.4e/formats.c
- *** v2.4b/formats.c Tue Jun 1 14:30:50 1993
- --- v2.4e/formats.c Tue May 18 09:37:32 1993
- ***************
- *** 18,23 ****
- --- 18,24 ----
- #define P_(s) ()
- #endif
-
- + extern double atod P_((char *buf));
- extern void dec_sex P_((double d, int *hd, int *m, int *s, int *isneg));
- extern void f_dec_sexsign P_((double x, int *h, int *m, int *s));
- extern void field_log P_((Widget w, double value, int logv, char *str));
- ***************
- *** 143,149 ****
- dec = v;
- frac = (v - dec)*60.0;
- (void) sprintf (str, "59.%.*s5", p, "999999999");
- ! if (frac >= atof (str)) {
- dec += 1;
- frac = 0.0;
- }
- --- 144,150 ----
- dec = v;
- frac = (v - dec)*60.0;
- (void) sprintf (str, "59.%.*s5", p, "999999999");
- ! if (frac >= atod (str)) {
- dec += 1;
- frac = 0.0;
- }
- ***************
- *** 487,493 ****
- /* not in a number now ... */
- if (in) {
- /* ... but we *were* in a number, so it counts */
- ! comp[ncomp] = atof (bp0);
- set[ncomp] = 1;
- in = 0;
- }
- --- 488,494 ----
- /* not in a number now ... */
- if (in) {
- /* ... but we *were* in a number, so it counts */
- ! comp[ncomp] = atod (bp0);
- set[ncomp] = 1;
- in = 0;
- }
- diff -c v2.4b/listmenu.c v2.4e/listmenu.c
- *** v2.4b/listmenu.c Tue Jun 1 14:31:13 1993
- --- v2.4e/listmenu.c Wed May 19 14:19:00 1993
- ***************
- *** 4,17 ****
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- #include <X11/Xlib.h>
- #include <Xm/Xm.h>
- #include <Xm/Form.h>
- #include <Xm/DrawingA.h>
- ! #include <Xm/LabelG.h>
- #include <Xm/PushB.h>
- #include <Xm/ToggleB.h>
- #include <Xm/Separator.h>
- --- 4,19 ----
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- +
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- +
- #include <X11/Xlib.h>
- #include <Xm/Xm.h>
- #include <Xm/Form.h>
- #include <Xm/DrawingA.h>
- ! #include <Xm/Label.h>
- #include <Xm/PushB.h>
- #include <Xm/ToggleB.h>
- #include <Xm/Separator.h>
- ***************
- *** 27,32 ****
- --- 29,35 ----
-
- extern int access(); /* don't know whether to include unistd.h */
-
- + extern char *syserrstr P_((void));
- extern void all_selection_mode P_((int whether));
- extern void f_string P_((Widget w, char *s));
- extern void hlp_dialog P_((char *tag, char *deflt[], int ndeflt));
- ***************
- *** 58,73 ****
-
- extern Widget toplevel_w;
-
- - #ifdef VMS
- - #include <perror.h>
- - #include <errno.h>
- - #else
- - extern char *sys_errlist[];
- - extern errno;
- - #endif
- -
- - #define errsys (sys_errlist[errno])
- -
- /* max number of fields we can keep track of at once to list */
- #define MAXLSTFLDS 10
- #define MAXLSTSTR 32 /* longest string we can list */
- --- 61,66 ----
- ***************
- *** 494,500 ****
- char *buf;
- XmToggleButtonSetState (active_w, False, False);
- buf = XtMalloc (strlen(txt)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", txt, errsys);
- xe_msg (buf, 1);
- XtFree (buf);
- }
- --- 487,493 ----
- char *buf;
- XmToggleButtonSetState (active_w, False, False);
- buf = XtMalloc (strlen(txt)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", txt, syserrstr());
- xe_msg (buf, 1);
- XtFree (buf);
- }
- diff -c v2.4b/mainmenu.c v2.4e/mainmenu.c
- *** v2.4b/mainmenu.c Tue Jun 1 14:32:10 1993
- --- v2.4e/mainmenu.c Tue Jun 1 12:23:55 1993
- ***************
- *** 38,43 ****
- --- 38,44 ----
- #define P_(s) ()
- #endif
-
- + extern double atod P_((char *buf));
- extern double mjd_day P_((double jd));
- extern double mjd_hr P_((double jd));
- extern int f_ison P_((void));
- ***************
- *** 118,125 ****
- extern char *myclass;
- extern XtAppContext xe_app;
- #define XtD XtDisplay(toplevel_w)
- - extern char *sys_errlist[];
- - extern errno;
- extern Widget calm_create();
-
- /* shorthands for fields of a Now structure, now.
- --- 119,124 ----
- ***************
- *** 156,161 ****
- --- 155,162 ----
- static XtIntervalId mm_interval_id; /* set while waiting in a pause loop */
- static int mm_selecting; /* set while our fields are being selected */
-
- + #define NO_PAUSE_DELAY 20 /* ms between loops when pause is 0 */
- +
- /* field ids
- * N.B. must be in same order as they appear in mm_field_map[].
- */
- ***************
- *** 726,732 ****
- print_idle();
- } else {
- mm_interval_id =
- ! XtAppAddTimeOut (xe_app, spause>0 ? 1000 : 120, mm_timer_cb, 0);
- }
- }
-
- --- 727,734 ----
- print_idle();
- } else {
- mm_interval_id =
- ! XtAppAddTimeOut (xe_app, spause>0 ? 1000 : NO_PAUSE_DELAY,
- ! mm_timer_cb, 0);
- }
- }
-
- ***************
- *** 870,876 ****
- if (bp[0] == 'n' || bp[0] == 'N')
- time_fromsys (&now);
- else
- ! mjd = atof(bp) - MJD0;
- set_t0 (&now);
- new = 1;
- break;
- --- 872,878 ----
- if (bp[0] == 'n' || bp[0] == 'N')
- time_fromsys (&now);
- else
- ! mjd = atod(bp) - MJD0;
- set_t0 (&now);
- new = 1;
- break;
- ***************
- *** 1035,1041 ****
- epoch = EOD;
- else {
- double e;
- ! e = atof(bp);
- year_mjd (e, &epoch);
- }
- new = 1;
- --- 1037,1043 ----
- epoch = EOD;
- else {
- double e;
- ! e = atod(bp);
- year_mjd (e, &epoch);
- }
- new = 1;
- diff -c v2.4b/misc.c v2.4e/misc.c
- *** v2.4b/misc.c Tue Jun 1 14:31:52 1993
- --- v2.4e/misc.c Thu May 20 18:13:49 1993
- ***************
- *** 5,13 ****
- --- 5,15 ----
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- +
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- +
- #include <X11/Xlib.h>
- #include <X11/cursorfont.h>
- #include <Xm/Xm.h>
- ***************
- *** 88,93 ****
- --- 90,97 ----
- int lc P_((int cx, int cy, int cw, int x1, int y1, int x2, int y2, int *sx1, int *sy1, int *sx2, int *sy2));
- void hg_mag P_((double h, double g, double rp, double rho, double rsn, double *mp));
- void gk_mag P_((double g, double k, double rp, double rho, double *mp));
- + double atod P_((char *buf));
- + char *syserrstr P_((void));
-
- #undef P_
-
- ***************
- *** 809,812 ****
- --- 813,851 ----
- double *mp;
- {
- *mp = g + 5.0*log10(rho) + 2.5*k*log10(rp);
- + }
- +
- + /* given a string convert to floating point and return it as a double.
- + * this is to avoid the unportabilities associated with declaring atof().
- + */
- + double
- + atod (buf)
- + char *buf;
- + {
- + double tmp;
- +
- + (void) sscanf (buf, "%lf", &tmp);
- + return (tmp);
- + }
- +
- + /* return a string for whatever is in errno right now.
- + * I never would have imagined it would be so hard to turn errno into a string!
- + */
- + char *
- + syserrstr ()
- + {
- + #if defined(__STDC__)
- + #include <errno.h>
- + #include <string.h>
- + return (strerror (errno));
- + #else
- + #if defined(VMS)
- + #include <errno.h>
- + #include <perror.h>
- + #else
- + extern char *sys_errlist[];
- + extern int errno;
- + #endif
- + return (sys_errlist[errno]);
- + #endif
- }
- diff -c v2.4b/patchlevel.h v2.4e/patchlevel.h
- *** v2.4b/patchlevel.h Tue Jun 1 14:30:25 1993
- --- v2.4e/patchlevel.h Tue Jun 1 10:20:14 1993
- ***************
- *** 3,6 ****
- * it is also updated by any subsequent patches that are issued for xephem.
- */
-
- ! #define PATCHLEVEL "Version 2.4b May 10, 1993"
- --- 3,6 ----
- * it is also updated by any subsequent patches that are issued for xephem.
- */
-
- ! #define PATCHLEVEL "Version 2.4e June 1, 1993"
- diff -c v2.4b/plotmenu.c v2.4e/plotmenu.c
- *** v2.4b/plotmenu.c Tue Jun 1 14:30:58 1993
- --- v2.4e/plotmenu.c Wed May 19 14:19:24 1993
- ***************
- *** 4,12 ****
- --- 4,14 ----
- #include <stdio.h>
- #include <ctype.h>
- #include <math.h>
- +
- #if defined(__STDC__)
- #include <stdlib.h>
- #endif
- +
- #include <X11/Xlib.h>
- #include <Xm/Xm.h>
- #include <Xm/Form.h>
- ***************
- *** 25,30 ****
- --- 27,33 ----
- #define P_(s) ()
- #endif
-
- + extern char *syserrstr P_((void));
- extern int plot_cartesian P_((FILE *pfp, Widget widget, unsigned int nx, unsigned int ny, int flipx, int flipy, int grid));
- extern void all_selection_mode P_((int whether));
- extern void f_string P_((Widget w, char *s));
- ***************
- *** 70,85 ****
- extern Widget toplevel_w;
- #define XtD XtDisplay(toplevel_w)
-
- - #ifdef VMS
- - #include <perror.h>
- - #include <errno.h>
- - #else
- - extern char *sys_errlist[];
- - extern errno;
- - #endif
- -
- - #define errsys (sys_errlist[errno])
- -
- /* max number of things we can keep track of at once to plot */
- #define MAXPLTLINES 10
- #define MAXFLDNAM 32 /* longest allowed field name */
- --- 73,78 ----
- ***************
- *** 622,628 ****
- char *buf;
- XmToggleButtonSetState (active_w, False, False);
- buf = XtMalloc (strlen(txt)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", txt, errsys);
- xe_msg (buf, 1);
- XtFree (buf);
- }
- --- 615,621 ----
- char *buf;
- XmToggleButtonSetState (active_w, False, False);
- buf = XtMalloc (strlen(txt)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", txt, syserrstr());
- xe_msg (buf, 1);
- XtFree (buf);
- }
- ***************
- *** 668,674 ****
- if (!fp) {
- char *buf;
- buf = XtMalloc (strlen(fn)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", fn, errsys);
- xe_msg (buf, 1);
- XtFree (buf);
- XtFree (fn);
- --- 661,667 ----
- if (!fp) {
- char *buf;
- buf = XtMalloc (strlen(fn)+100);
- ! (void) sprintf (buf, "Can not open %s: %s", fn, syserrstr());
- xe_msg (buf, 1);
- XtFree (buf);
- XtFree (fn);
- diff -c v2.4b/skyviewmenu.c v2.4e/skyviewmenu.c
- *** v2.4b/skyviewmenu.c Tue Jun 1 14:32:28 1993
- --- v2.4e/skyviewmenu.c Tue Jun 1 13:24:09 1993
- ***************
- *** 63,68 ****
- --- 63,69 ----
- extern int svf_filter_ok P_((Obj *op));
- extern int tickmarks P_((double min, double max, int numdiv, double ticks[]));
- extern void aa_hadec P_((double lati, double alt, double az, double *ha, double *dec));
- + extern void confnd P_((double r, double d, double e, char **name));
- extern void db_update P_((Obj *op));
- extern void ecl_eq P_((double Mjd, double Lat, double Lng, double *ra, double *dec));
- extern void eq_ecl P_((double Mjd, double ra, double dec, double *Lat, double *Lng));
- ***************
- *** 174,179 ****
- --- 175,181 ----
- static Pixmap sv_pm; /* off-screen pixmap we *really* draw */
- static Widget talt_w, taz_w; /* tracking alt/az report widgets */
- static Widget tra_w, tdec_w; /* tracking ra/dec report widgets */
- + static Widget tconst_w; /* tracking constellation report wdgt */
-
- /* pixels and GCs
- */
- ***************
- *** 357,364 ****
- sv_id (op)
- Obj *op;
- {
- ! Display *dsp = XtDisplay (svda_w);
- ! Window win = XtWindow (svda_w);
- unsigned int wide, h, r, xb, yb;
- double altdec, azra;
- int x, y;
- --- 359,366 ----
- sv_id (op)
- Obj *op;
- {
- ! Display *dsp;
- ! Window win;
- unsigned int wide, h, r, xb, yb;
- double altdec, azra;
- int x, y;
- ***************
- *** 366,371 ****
- --- 368,376 ----
- if (!svform_w || !XtIsManaged(svform_w) || !op || op->type == UNDEFOBJ)
- return (-2);
-
- + dsp = XtDisplay (svda_w);
- + win = XtWindow (svda_w);
- +
- sv_getcircle (&wide, &h, &r, &xb, &yb);
-
- altdec = aa_mode ? op->s_alt : op->s_dec;
- ***************
- *** 1085,1090 ****
- --- 1090,1107 ----
- set_xmstring (taz_w, XmNlabelString, " ");
- XtManageChild(taz_w);
-
- + /* make a label for the constellation just below Alt */
- +
- + n = 0;
- + XtSetArg (args[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
- + XtSetArg (args[n], XmNleftWidget, fov_w); n++;
- + XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
- + XtSetArg (args[n], XmNtopWidget, talt_w); n++;
- + XtSetArg (args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;
- + tconst_w = XmCreateLabel (svform_w, "TConst", args, n);
- + set_xmstring (tconst_w, XmNlabelString, " ");
- + XtManageChild(tconst_w);
- +
- /* make a drawing area inside the sliders for drawing the sky */
-
- n = 0;
- ***************
- *** 1442,1447 ****
- --- 1459,1465 ----
- int evt = ev->type;
- int okmotion, okbutton;
- double lst;
- + char *constellation;
-
- /* only interested if motion event or button 1 press/release */
- okmotion = evt == MotionNotify && ev->xmotion.state == Button1Mask;
- ***************
- *** 1482,1487 ****
- --- 1500,1508 ----
- refract (pressure, temp, alt, &alt);
- }
-
- + confnd (ra, dec, epoch == EOD ? mjd : epoch, &constellation);
- + constellation += 5; /* skip the abbreviation */
- +
- (void) strcpy (alt_buf, "Alt: ");
- fs_angle (alt_buf+5, alt);
- (void) strcpy (az_buf, "Az: ");
- ***************
- *** 1495,1500 ****
- --- 1516,1522 ----
- (void) strcpy (az_buf, " ");
- (void) strcpy (ra_buf, " ");
- (void) strcpy (dec_buf, " ");
- + constellation = " ";
- }
-
- f_showit (talt_w, alt_buf);
- ***************
- *** 1501,1506 ****
- --- 1523,1529 ----
- f_showit (taz_w, az_buf);
- f_showit (tra_w, ra_buf);
- f_showit (tdec_w, dec_buf);
- + f_showit (tconst_w, constellation);
- }
-
- /* a dot has been picked:
- ***************
- *** 2254,2260 ****
- }
-
- /* determine if the given object is visible and within a circle of radius r
- ! * pixels. if so, return 1 and compute the location in *xp/*yp, else return 0.
- * N.B. only call this for bona fide db objects -- *not* for objects in the
- * TrailObj lists -- it will destroy their history.
- */
- --- 2277,2283 ----
- }
-
- /* determine if the given object is visible and within a circle of radius r
- ! * pixels. if so, return 1 and compute the location in *xp / *yp, else return 0.
- * N.B. only call this for bona fide db objects -- *not* for objects in the
- * TrailObj lists -- it will destroy their history.
- */
- diff -c v2.4b/time.c v2.4e/time.c
- *** v2.4b/time.c Tue Jun 1 14:30:34 1993
- --- v2.4e/time.c Tue Jun 1 12:26:24 1993
- ***************
- *** 20,25 ****
- --- 20,26 ----
-
- #undef P_
-
- +
- static long c0;
- static double mjd0;
-
- ***************
- *** 55,62 ****
- double inc;
- {
- if (inc == RTC) {
- ! long c;
- ! (void) time (&c);
- mjd = mjd0 + (c - c0)/SPD;
- } else
- mjd += inc/24.0;
- --- 56,62 ----
- double inc;
- {
- if (inc == RTC) {
- ! long c = time (NULL);
- mjd = mjd0 + (c - c0)/SPD;
- } else
- mjd += inc/24.0;
- diff -c v2.4b/versionmenu.c v2.4e/versionmenu.c
- *** v2.4b/versionmenu.c Tue Jun 1 14:31:17 1993
- --- v2.4e/versionmenu.c Tue Jun 1 13:32:32 1993
- ***************
- *** 6,12 ****
- --- 6,21 ----
- */
-
- /*
- + * 2.4e 6/1 can not list rise/set/transit times while looping: fixed.
- + * decreased loop delay when pause is set to 0.
- + * changed troublesome comment in skyviewmenu.c.
- + * another change for DEC's alpha in time.c.
- + * added constellation name to Sky View cursor tracking report.
- + * patch to bring v2.4b to v2.4e posted to comp.sources.x.
- + * 2.4d 5/27 Sky Mark in ObjX/Y before Sky View seg faults: fixed.
- + * 2.4c 5/19 portability enhancements, particularly to VMS and Motif 1.2.
- * 2.4b 5/10 changed to using memcpy() instead of struct assign (for Alpha).
- + * 2.4b was released to comp.sources.x May 1993 in v19i090-v19i110.
- * 2.4a 4/23 changed usage of time() (just needed for DEC's Alpha CPUs)
- * 2.4 4/21 fixed blank jup and sat views (unsigned).
- * 2.3 4/12 add ecliptic option to sky view.
- diff -c v2.4b/xephem.c v2.4e/xephem.c
- *** v2.4b/xephem.c Tue Jun 1 14:31:47 1993
- --- v2.4e/xephem.c Wed May 19 13:37:00 1993
- ***************
- *** 463,490 ****
- cascade = XmCreateCascadeButton (menu_bar, "Control", args, n);
- XtManageChild (cascade);
-
- ! /* Create "ObjX/Y..." Cascade Button. */
- ! str = XmStringCreate ("ObjX/Y...", XmSTRING_DEFAULT_CHARSET);
- n = 0;
- ! XtSetArg (args[n], XmNlabelString, str); n++;
- XtSetArg (args[n], XmNmnemonic, 'O'); n++;
- ! cascade = XmCreateCascadeButton (menu_bar, "ObjXY", args, n);
- ! XtManageChild (cascade);
- ! XtAddCallback (cascade, XmNactivateCallback, m_activate_cb,
- (XtPointer)OBJS);
- ! XmStringFree (str);
- !
- ! /* Create "DB..." Cascade Button. */
- ! str = XmStringCreate ("DB...", XmSTRING_DEFAULT_CHARSET);
- n = 0;
- ! XtSetArg (args[n], XmNlabelString, str); n++;
- ! XtSetArg (args[n], XmNmnemonic, 'D'); n++;
- ! cascade = XmCreateCascadeButton (menu_bar, "DB", args, n);
- XtManageChild (cascade);
- ! XtAddCallback (cascade, XmNactivateCallback, m_activate_cb,
- ! (XtPointer)DB);
- ! XmStringFree (str);
- !
- /* Create "Preferences" PulldownMenu. */
-
- pref_create_pulldown (menu_bar);
- --- 463,492 ----
- cascade = XmCreateCascadeButton (menu_bar, "Control", args, n);
- XtManageChild (cascade);
-
- ! /* Create "Objects" pulldown */
- n = 0;
- ! menu_pane = XmCreatePulldownMenu (menu_bar, "obj_pane", args, n);
- !
- ! n = 0;
- ! XtSetArg (args[n], XmNmnemonic, 'D'); n++;
- ! button = XmCreatePushButton (menu_pane, "Data Base", args, n);
- ! XtManageChild (button);
- ! XtAddCallback (button, XmNactivateCallback, m_activate_cb,
- ! (XtPointer)DB);
- !
- ! n = 0;
- XtSetArg (args[n], XmNmnemonic, 'O'); n++;
- ! button = XmCreatePushButton (menu_pane, "ObjX/Y", args, n);
- ! XtManageChild (button);
- ! XtAddCallback (button, XmNactivateCallback, m_activate_cb,
- (XtPointer)OBJS);
- !
- n = 0;
- ! XtSetArg (args[n], XmNsubMenuId, menu_pane); n++;
- ! XtSetArg (args[n], XmNmnemonic, 'O'); n++;
- ! cascade = XmCreateCascadeButton (menu_bar, "Objects", args, n);
- XtManageChild (cascade);
- !
- /* Create "Preferences" PulldownMenu. */
-
- pref_create_pulldown (menu_bar);
- diff -c v2.4b/xephem.hlp v2.4e/xephem.hlp
- *** v2.4b/xephem.hlp Tue Jun 1 14:30:45 1993
- --- v2.4e/xephem.hlp Tue Jun 1 14:12:32 1993
- ***************
- *** 60,71 ****
- The "Control" pulldown toggles the plotting, listing and searching control
- menus.
-
- ! The "ObjX/Y..." pushbutton toggles the menu that allows you to define
- ! the user defined objects, ObjX and ObjY. Said menu also allows you to
- ! inspect each item currently in the xephem database.
-
- ! The "DB..." pushbutton toggles the menu that allows to add or replace
- ! entries in the xephem database from files of database objects.
-
- The "Preferences" pulldown lists the available preferences that may be
- changed at runtime. The options currently available include whether the
- --- 60,76 ----
- The "Control" pulldown toggles the plotting, listing and searching control
- menus.
-
- ! The "Objects" pulldown entries toggle the menus that control reading
- ! database files of objects into memory and defining the two user defined
- ! objects, ObjX and ObjY.
-
- ! The "Data Base" pushbutton toggles the menu that allows you to add or
- ! replace objects in memory from files of database objects.
- !
- ! The "ObjX/Y" pushbutton toggles the menu that allows you to define
- ! the user defined objects, ObjX and ObjY. This menu also allows you to
- ! inspect the fields of any object currently in memory and locate the
- ! object on the Sky View menu.
-
- The "Preferences" pulldown lists the available preferences that may be
- changed at runtime. The options currently available include whether the
- ***************
- *** 114,142 ****
- Dusk Local time when the sun center is "Twilight dip" degrees below
- the horizon after sunset today.
- Night Length Length of astronomical night, ie, Dawn - Dusk. If this and the
- ! display for Dawn and Dusk are shown as "-----", it means the sun
- ! is either always below or always above "Twilight dip" degrees
- ! below the horizon on this particular day.
-
- N Steps The number of times the display will be updated (time advanced
- by Step Size each step) automatically.
- Step Size The amount of time UTC (and its derivatives) is incremented
- ! each loop.
- Pause Number of seconds to pause between screen updates. This is
- ! used mainly to set up for free-running unattended operation.
- ! Pausing is not done when plotting or searching is on.
-
- Latitude Location latitude, positive degrees north of equator.
- Longitude Location longitude, positive degrees west of Greenwich meridian.
- Elevation Local elevation of the ground above sea level, in feet. (see
- ! implementation notes). Used in refraction correction.
- Temperature Local surface air temperature, in degrees F. Used in refraction
- ! correction.
- Atm Pressure Local surface air pressure, in inches of mercury. Used in
- ! refraction correction.
- Epoch The epoch, to the nearest 0.1 years, to which the ra/dec
- ! fields are precessed. This says (OfDate) when coordinates
- ! are not precessed, ie, are in the epoch of date.
-
- The calendar on the right of the Main menu is based on UTC. Selecting a date
- button will set the date. Unlabeled buttons before the first of the month
- --- 119,147 ----
- Dusk Local time when the sun center is "Twilight dip" degrees below
- the horizon after sunset today.
- Night Length Length of astronomical night, ie, Dawn - Dusk. If this and the
- ! display for Dawn and Dusk are shown as "-----", it means the sun
- ! is either always below or always above "Twilight dip" degrees
- ! below the horizon on this particular day.
-
- N Steps The number of times the display will be updated (time advanced
- by Step Size each step) automatically.
- Step Size The amount of time UTC (and its derivatives) is incremented
- ! each loop.
- Pause Number of seconds to pause between screen updates. This is
- ! used mainly to set up for free-running unattended operation.
- ! Pausing is not done when plotting or searching is on.
-
- Latitude Location latitude, positive degrees north of equator.
- Longitude Location longitude, positive degrees west of Greenwich meridian.
- Elevation Local elevation of the ground above sea level, in feet. (see
- ! implementation notes). Used in refraction correction.
- Temperature Local surface air temperature, in degrees F. Used in refraction
- ! correction.
- Atm Pressure Local surface air pressure, in inches of mercury. Used in
- ! refraction correction.
- Epoch The epoch, to the nearest 0.1 years, to which the ra/dec
- ! fields are precessed. This says (OfDate) when coordinates
- ! are not precessed, ie, are in the epoch of date.
-
- The calendar on the right of the Main menu is based on UTC. Selecting a date
- button will set the date. Unlabeled buttons before the first of the month
- ***************
- *** 254,264 ****
- Long longitude, in degrees west of Greenwich, in the form d:m:s.
- Lat latitude, in degrees north of the equator, in the form d:m:s.
- Elevation height above sea level, in feet or meters, such as 800. Used to
- ! compute parallax of solar system objects.
- Temp air temperature, in degrees F or C, such as 60.
- Pressure air pressure, in inches of Mercury or mBar, such as 29.50.
- ! Temp and Pressure are used to compute refraction when the AdpHzrn
- ! option is active; see the Help for the Data setup table.
- StepSize the time increment between screen updates, such as "1" to give
- one hour updates. this can be a specific amount or RTC to use
- the system clock as a real-time source. You may also specify a
- --- 259,269 ----
- Long longitude, in degrees west of Greenwich, in the form d:m:s.
- Lat latitude, in degrees north of the equator, in the form d:m:s.
- Elevation height above sea level, in feet or meters, such as 800. Used to
- ! compute parallax of solar system objects.
- Temp air temperature, in degrees F or C, such as 60.
- Pressure air pressure, in inches of Mercury or mBar, such as 29.50.
- ! Temp and Pressure are used to compute refraction when the AdpHzrn
- ! option is active; see the Help for the Data setup table.
- StepSize the time increment between screen updates, such as "1" to give
- one hour updates. this can be a specific amount or RTC to use
- the system clock as a real-time source. You may also specify a
- ***************
- *** 268,277 ****
- see the discussion under Program Operation.
- Epoch this sets the desired ra/dec precession epoch. you can put any
- date here (use decimal form, such as 1992.5) or "EOD" to use the
- ! current instant ("Epoch of Date").
- Pause The number of seconds to pause between calculation steps.
- TwilightDip Number of degrees the sun is below the horizon that you want to
- ! define as being the end of "twilight"; must be at least 0.
- @Date/time
- Xephem uses many values that get are entered in some variation of X/Y/Z form.
- We call this a "triad" input format.
- --- 273,282 ----
- see the discussion under Program Operation.
- Epoch this sets the desired ra/dec precession epoch. you can put any
- date here (use decimal form, such as 1992.5) or "EOD" to use the
- ! current instant ("Epoch of Date").
- Pause The number of seconds to pause between calculation steps.
- TwilightDip Number of degrees the sun is below the horizon that you want to
- ! define as being the end of "twilight"; must be at least 0.
- @Date/time
- Xephem uses many values that get are entered in some variation of X/Y/Z form.
- We call this a "triad" input format.
- ***************
- *** 615,628 ****
- Various odd ball rising, transit and setting conditions are accounted for
- and marked as follows when they occur:
-
- ! NoRise up some time but never rises, as such, today.
- ! NoSet up some time but never sets, as such, today.
- ! NoTran up some time but doesn't transit, as such, today.
- ! CirPol object is circumpolar (never goes below horizon) today.
- ! NvrUp object is never up today.
- ! XX:XX+ "+" appended to rise, transit or set times means the event occurs
- twice today; the time given is the time of the first event.
- ! "+" appended to "Hours Up" means it is still up at midnight.
-
- Any of the information in this table may be plotted, listed or used in a
- search algorithm. See the help for these control functions for more details.
- --- 620,633 ----
- Various odd ball rising, transit and setting conditions are accounted for
- and marked as follows when they occur:
-
- ! NoRise up some time but never rises, as such, today.
- ! NoSet up some time but never sets, as such, today.
- ! NoTran up some time but doesn't transit, as such, today.
- ! CirPol object is circumpolar (never goes below horizon) today.
- ! NvrUp object is never up today.
- ! XX:XX+ "+" appended to rise, transit or set times means the event occurs
- twice today; the time given is the time of the first event.
- ! "+" appended to "Hours Up" means it is still up at midnight.
-
- Any of the information in this table may be plotted, listed or used in a
- search algorithm. See the help for these control functions for more details.
- ***************
- *** 653,689 ****
-
- Cns name of the constellation in which the object appears.
- R_A apparent geocentric right ascension of object, precessed to
- ! given epoch, in hours, minutes and decimal minutes.
- Dec apparent geocentric declination of object, precessed to
- ! given epoch, in degrees and minutes.
- Az degrees eastward of true north for object.
- Alt degrees up from a horizontal plane that is Elevation feet above
- sea level.
- HeLong true heliocentric longitude, in degrees. Earth's is displayed
- on the sun's line. For the moon this is the geocentric
- ! longitude.
- HeLat true heliocentric latitude, in degrees. For the moon this is
- the geocentric latitude.
- EaDst true distance from Earth center to object center, in AU, except
- distance to the moon is in miles or km depending on the Units
- ! preference.
- SnDst true distance from sun center to object center, in AU.
- Elong spherical angular separation between sun and given object,
- ! calculated from the their geocentric ecliptic coordinates.
- ! Note this is not just the difference in ecliptic longitude.
- ! The sign, however, is simply sign(obj's longitude - sun's
- ! longitude), ie, degrees east. thus, a positive elongation
- ! means the object rises after the sun. This field is not
- ! generally useful in searching for conjunctions because of
- ! the discontinuous sign change that occurs at conjunction.
- Size angular size of object, in arc seconds.
- VMag visual magnitude of object.
- Phase percent of visible surface in sunlight. Note the moon phase
- ! is calculated simplistically as just abs(elongation)/180*100
- ! which can be a few degrees off... this means that because of
- ! how elongation is defined it doesn't say 0 during new moon
- ! (or 100 during full) except during close eclipses (maybe
- ! that's a "feature"?).
-
- Column three controls information related to rising, transiting, and
- setting. These may be computed according to two options.
- --- 658,694 ----
-
- Cns name of the constellation in which the object appears.
- R_A apparent geocentric right ascension of object, precessed to
- ! given epoch, in hours, minutes and decimal minutes.
- Dec apparent geocentric declination of object, precessed to
- ! given epoch, in degrees and minutes.
- Az degrees eastward of true north for object.
- Alt degrees up from a horizontal plane that is Elevation feet above
- sea level.
- HeLong true heliocentric longitude, in degrees. Earth's is displayed
- on the sun's line. For the moon this is the geocentric
- ! longitude.
- HeLat true heliocentric latitude, in degrees. For the moon this is
- the geocentric latitude.
- EaDst true distance from Earth center to object center, in AU, except
- distance to the moon is in miles or km depending on the Units
- ! preference.
- SnDst true distance from sun center to object center, in AU.
- Elong spherical angular separation between sun and given object,
- ! calculated from the their geocentric ecliptic coordinates.
- ! Note this is not just the difference in ecliptic longitude.
- ! The sign, however, is simply sign(obj's longitude - sun's
- ! longitude), ie, degrees east. thus, a positive elongation
- ! means the object rises after the sun. This field is not
- ! generally useful in searching for conjunctions because of
- ! the discontinuous sign change that occurs at conjunction.
- Size angular size of object, in arc seconds.
- VMag visual magnitude of object.
- Phase percent of visible surface in sunlight. Note the moon phase
- ! is calculated simplistically as just abs(elongation)/180*100
- ! which can be a few degrees off... this means that because of
- ! how elongation is defined it doesn't say 0 during new moon
- ! (or 100 during full) except during close eclipses (maybe
- ! that's a "feature"?).
-
- Column three controls information related to rising, transiting, and
- setting. These may be computed according to two options.
- ***************
- *** 710,721 ****
- TrnTm
- TrnAlt The local time and altitude when the object crosses the meridian
- today, ie, when its azimuth is true south or, if no precession, when
- ! the local sidereal time equals the object's right ascension.
- SetTm
- SetAz The local time and azimuth when the upper limb (or center) of the
- object sets today.
- HrsUp The number of hours the object is up today, that is, the difference
- ! between the set and rise times.
-
- Note that these times are for the current local day. See the description of
- "odd ball" circumstances that this definition can produce and how xephem
- --- 715,726 ----
- TrnTm
- TrnAlt The local time and altitude when the object crosses the meridian
- today, ie, when its azimuth is true south or, if no precession, when
- ! the local sidereal time equals the object's right ascension.
- SetTm
- SetAz The local time and azimuth when the upper limb (or center) of the
- object sets today.
- HrsUp The number of hours the object is up today, that is, the difference
- ! between the set and rise times.
-
- Note that these times are for the current local day. See the description of
- "odd ball" circumstances that this definition can produce and how xephem
- ***************
- *** 777,804 ****
- central display is intended to be similar to a telescopic view. Descriptions
- of each function are keyed to the schematic depiction below:
-
- ! _____________________________________________
- ! |Alt-Az | | [Alt] [Az] | |
- ! |RA-Dec | F | | A |
- ! |--------| O | | l |
- ! |Grid | V | | t |
- ! |--------| | | |
- ! |F Mag | | | / |
- ! |B Mag | | Sky | |
- ! |--------| | | D |
- ! |Dots | | | e |
- ! |Ecliptic| | | c |
- ! |Labels | | | |
- ! |--------| | | |
- ! |Locate | | | |
- ! |--------| | [RA] [Dec] | |
- ! | |___|__________________________|___|
- ! | | Az / RA |
- ! | |__________________________________|
- ! | | Date/Time stamp |
- ! |________|__________________________________|
- ! | Filter Close Help |
- ! |___________________________________________|
-
- Alt-Az / RA-Dec
- The radio box in the upper left corner selects whether the display
- --- 782,809 ----
- central display is intended to be similar to a telescopic view. Descriptions
- of each function are keyed to the schematic depiction below:
-
- ! _____________________________________________
- ! |Alt-Az | | [Alt] [Az] | |
- ! |RA-Dec | F | [Constellation] | A |
- ! |--------| O | | l |
- ! |Grid | V | | t |
- ! |--------| | | |
- ! |F Mag | | | / |
- ! |B Mag | | Sky | |
- ! |--------| | | D |
- ! |Dots | | | e |
- ! |Ecliptic| | | c |
- ! |Labels | | | |
- ! |--------| | | |
- ! |Locate | | | |
- ! |--------| | [RA] [Dec] | |
- ! | |___|__________________________|___|
- ! | | Az / RA |
- ! | |__________________________________|
- ! | | Date/Time stamp |
- ! |________|__________________________________|
- ! | Filter Close Help |
- ! |___________________________________________|
-
- Alt-Az / RA-Dec
- The radio box in the upper left corner selects whether the display
- ***************
- *** 866,875 ****
- The left vertically-oriented slider controls the field-of-view of the
- display circle. This can be varied from 1 to 180 degrees.
-
- ! [Alt] [Az] [RA] [Dec]
- ! The coordinates of the cursor are tracked and displayed across the bottom
- ! and top of the circular display area as long as it is within the circle and
- ! the left mouse button is depressed.
-
- NOTE: The values displayed during tracking for the coordinate system
- opposite to the one currently in effect may not agree exactly with
- --- 871,880 ----
- The left vertically-oriented slider controls the field-of-view of the
- display circle. This can be varied from 1 to 180 degrees.
-
- ! [Alt] [Az] [RA] [Dec] [Constellation]
- ! The coordinates and constellation of the cursor are tracked and displayed
- ! across the top and bottom of the circular display area as long as the left
- ! mouse button is depressed and the cursor is within the circle.
-
- NOTE: The values displayed during tracking for the coordinate system
- opposite to the one currently in effect may not agree exactly with
- ***************
- *** 898,931 ****
- selected, the data will be as it was at the time the position was created.
- In addition, the popup offers several control operations, as follows:
-
- ! Selecting "Point" from the popup will center the object in the field of
- ! view (as well as can be done with the accuracy of the pointing scales
- ! anyway).
-
- ! Selecting "Make ObjX/Y" will assign the given object to become ObjX
- ! or ObjY, depending on which one is currently being displayed in the
- ! ObjX/Y menu. See the help for the ObjX/Y menu for more information on
- ! that menu.
-
- ! Selecting "Leave Trail" will start to accumulate all positions of the
- ! given object as time is advanced. Each new location will be connected
- ! with a line to its previous location. The trails remain correct if the
- ! display coordinate system is changed. Trails may be turned on or off
- ! without loss of trail information. However, trailing information is
- ! discarded if trailing is turned off when a new time step is performed.
- ! If any point in a trail is selected the information displayed is as per
- ! the object at that time. The fastest way to accumulate trailing
- ! information is to turn trailing on and pop the menu down while running.
-
- ! Note that in Alt-Az mode, if an object goes below the horizon the line
- ! segments of the trail are displayed but not the actual points.
-
- ! Selecting "Persistent Label" will place the name of the object near it
- ! on the display. This will remain until the label is turned off. Note
- ! this option is maintained separately for trailed objects and for
- ! the untrailed objects; that is, you have independent control over
- ! labeling for a trailed object and its currently displayed object
- ! since the latter also always appears in the trailed list.
-
- The coordinates of the cursor are displayed in the corners of the circular
- sky area as long as the cursor is within the central circle and the left
- --- 903,936 ----
- selected, the data will be as it was at the time the position was created.
- In addition, the popup offers several control operations, as follows:
-
- ! Selecting "Point" from the popup will center the object in the field of
- ! view (as well as can be done with the accuracy of the pointing scales
- ! anyway).
-
- ! Selecting "Make ObjX/Y" will assign the given object to become ObjX
- ! or ObjY, depending on which one is currently being displayed in the
- ! ObjX/Y menu. See the help for the ObjX/Y menu for more information on
- ! that menu.
-
- ! Selecting "Leave Trail" will start to accumulate all positions of the
- ! given object as time is advanced. Each new location will be connected
- ! with a line to its previous location. The trails remain correct if the
- ! display coordinate system is changed. Trails may be turned on or off
- ! without loss of trail information. However, trailing information is
- ! discarded if trailing is turned off when a new time step is performed.
- ! If any point in a trail is selected the information displayed is as per
- ! the object at that time. The fastest way to accumulate trailing
- ! information is to turn trailing on and pop the menu down while running.
-
- ! Note that in Alt-Az mode, if an object goes below the horizon the line
- ! segments of the trail are displayed but not the actual points.
-
- ! Selecting "Persistent Label" will place the name of the object near it
- ! on the display. This will remain until the label is turned off. Note
- ! this option is maintained separately for trailed objects and for
- ! the untrailed objects; that is, you have independent control over
- ! labeling for a trailed object and its currently displayed object
- ! since the latter also always appears in the trailed list.
-
- The coordinates of the cursor are displayed in the corners of the circular
- sky area as long as the cursor is within the central circle and the left
- ***************
- *** 1082,1127 ****
- For other object types, the remaining fields are defined as follows:
-
- elliptical format (e < 1):
- ! i = inclination, degrees
- ! O = longitude of ascending node, degrees
- ! o = argument of perihelion, degrees
- ! a = mean distance (aka semi-major axis), AU
- ! n = mean daily motion, degrees per day (computed from a**3/2 if omitted)
- ! e = eccentricity,
- ! M = mean anomaly (ie, degrees from perihelion),
- ! E = epoch date (ie, time of M),
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k or H/G = magnitude model; select which by preceding the first field
- ! with either a "g" or an "H"; H/G is the default if neither is given.
- ! s = angular size at 1 AU, arc seconds, optional
-
- hyperbolic format (e > 1):
- ! T = epoch of perihelion
- ! i = inclination, degrees
- ! O = longitude of ascending node, degrees
- ! o = argument of perihelion, degrees
- ! e = eccentricity,
- ! q = perihelion distance, AU
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k = magnitude model
- ! s = angular size at 1 AU, arc seconds, optional
-
- parabolic format (e == 1):
- ! T = epoch of perihelion
- ! i = inclination, degrees
- ! o = argument of perihelion, degrees
- ! q = perihelion distance, AU
- ! O = longitude of ascending node, degrees
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k = magnitude model
- ! s = angular size at 1 AU, arc seconds, optional
-
- fixed format:
- ! RA, hours
- ! Declination, degrees
- ! magnitude
- ! reference epoch
- ! s = angular size, arc minutes, optional
- @Object
- Xephem supports two user-defined objects, denoted ObjX and ObjY. These may
- be fixed objects or objects in elliptical, hyperbolic or parabolic
- --- 1087,1132 ----
- For other object types, the remaining fields are defined as follows:
-
- elliptical format (e < 1):
- ! i = inclination, degrees
- ! O = longitude of ascending node, degrees
- ! o = argument of perihelion, degrees
- ! a = mean distance (aka semi-major axis), AU
- ! n = mean daily motion, degrees per day (computed from a**3/2 if omitted)
- ! e = eccentricity,
- ! M = mean anomaly (ie, degrees from perihelion),
- ! E = epoch date (ie, time of M),
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k or H/G = magnitude model; select which by preceding the first field
- ! with either a "g" or an "H"; H/G is the default if neither is given.
- ! s = angular size at 1 AU, arc seconds, optional
-
- hyperbolic format (e > 1):
- ! T = epoch of perihelion
- ! i = inclination, degrees
- ! O = longitude of ascending node, degrees
- ! o = argument of perihelion, degrees
- ! e = eccentricity,
- ! q = perihelion distance, AU
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k = magnitude model
- ! s = angular size at 1 AU, arc seconds, optional
-
- parabolic format (e == 1):
- ! T = epoch of perihelion
- ! i = inclination, degrees
- ! o = argument of perihelion, degrees
- ! q = perihelion distance, AU
- ! O = longitude of ascending node, degrees
- ! D = the equinox year (ie, time of i/O/o).
- ! g/k = magnitude model
- ! s = angular size at 1 AU, arc seconds, optional
-
- fixed format:
- ! RA, hours
- ! Declination, degrees
- ! magnitude
- ! reference epoch
- ! s = angular size, arc minutes, optional
- @Object
- Xephem supports two user-defined objects, denoted ObjX and ObjY. These may
- be fixed objects or objects in elliptical, hyperbolic or parabolic
- diff -c v2.4b/xephem.man v2.4e/xephem.man
- *** v2.4b/xephem.man Tue Jun 1 14:30:11 1993
- --- v2.4e/xephem.man Wed May 19 14:12:37 1993
- ***************
- *** 4,9 ****
- --- 4,11 ----
- .SH Syntax
- \fBxephem\fP
- .SH Description
- + .na
- + .nh
- .PP
- .B Xephem
- is an interactive astronomical ephemeris program for X Windows. It has built-in
- ***************
- *** 37,51 ****
- .B Xephem
- has information about the Solar system planets and several moons
- built in. These can be accessed without the need to access an external
- ! database. However, if a database of objects is available then
- .B xephem
- ! can read this information into memory and use it as well. The database
- ! is read in using the
- ! .I DB...
- ! pulldown. The objects may be inspected in detail, manipulated and assigned
- ! to so-called `user defined objects' X and Y using the
- ! .I ObjX/Y...
- ! pulldown.
-
- All of the tabular data that
- .B xephem
- --- 39,55 ----
- .B Xephem
- has information about the Solar system planets and several moons
- built in. These can be accessed without the need to access an external
- ! database. In addition, if a database of objects is available then
- .B xephem
- ! can read this information into memory and use it as well. Database files
- ! are read in using the
- ! .I Data Base
- ! button in the
- ! .I Objects
- ! pulldown. The objects in memory may be inspected in detail,
- ! manipulated and assigned to so-called `user defined objects' X and Y using the
- ! .I ObjX/Y
- ! button in the same pulldown.
-
- All of the tabular data that
- .B xephem
- ***************
- *** 60,65 ****
- --- 64,75 ----
- .I Preferences
- pulldown.
-
- + The
- + .I Files
- + pulldown in the main menu allows one to reset the main menu from the initial
- + resource settings; toggle whether the general messages menu is display; and
- + quit the program.
- +
- Finally, the
- .I Help
- pulldown provides several categories of assistance applicable to the overall
- ***************
- *** 85,95 ****
- code is in xephem.c surrounded by #ifdef WANT_EDITRES.
- .SH Author
- .PP
- ! Elwood Downey, currently at ecdowney@pobox.cca.cr.rockwell.com
- .SH See also
- .PP
- ! Ephem, the ancestor of xephem suitable for "dumb" 24x80 character displays,
- including VMS and DOS as well as UNIX.
- .PP
- ! Ephem and xephem are both on export.lcs.mit.edu; look for contrib/ephem*
- and contrib/xephem* for the latest releases.
- --- 95,109 ----
- code is in xephem.c surrounded by #ifdef WANT_EDITRES.
- .SH Author
- .PP
- ! Elwood Downey, currently at ecdowney@pobox.cca.cr.rockwell.com.
- .SH See also
- .PP
- ! .B Ephem,
- ! the ancestor of xephem suitable for "dumb" 24x80 character displays,
- including VMS and DOS as well as UNIX.
- .PP
- ! .B Ephem
- ! and
- ! .B xephem
- ! are both on export.lcs.mit.edu; look for contrib/ephem*
- and contrib/xephem* for the latest releases.
-
-