void gfrepu_c ( SpiceDouble ivbeg,
SpiceDouble time )
This function tells the progress reporting system
how far a search has progressed.
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
ivbeg I Start time of work interval.
ivend I End time of work interval.
time I Current time being examined in the search process.
ivend are the bounds of a time interval. Normally this interval
is contained within the confinement window `cnfine' passed to
gfrepi_c on the latest call to that function, but this is
not a requirement.
In order for a meaningful progress report to be displayed,
`ivbeg' and `ivend' must satisfy the following constraints:
- `ivbeg' must be less than or equal to `ivend'.
- Over a search pass, the sum of the differences
ivend - ivbeg
for all calls to this routine made during the pass
must equal the measure (that is, the sum of the
lengths of the intervals) of the confinement window
time is the current time reached in the search for an event.
`time' must lie in the interval
ivbeg : ivend
inclusive. The input values of `time' for a given interval
need not form an increasing sequence.
None. This routine does perform console I/O when progress
reporting is enabled.
1) If `ivbeg' and `ivend' are in decreasing order, the error
SPICE(BADENDPOINTS) is signaled.
2) If `time' is not in the closed interval [ivbeg, ivend], the
error SPICE(VALUEOUTOFRANGE) is signaled.
3) Any I/O errors resulting from writing to standard output will be
diagnosed by routines in the call tree of this routine.
This is one of three GF progress reporting routines that cooperate
in order to display a report via console I/O. These routines may
be used by SPICE-based applications as inputs to mid-level GF
Developers wishing to use their own GF progress reporting routines
must design them with the same interfaces and should assign them the
same progress reporting roles as those of these routines.
The GF progress reporting API routines are written to simplify
reporting of work (such as searching for a geometric event) over a
particular window. This is an important feature for interactive
programs that may "go away" from the user's control for a
considerable length of time. It allows the user to see that
something is still going on (although maybe not too quickly).
The three routines constituting the GF progress reporting API
gfrepi_c is used to prepare the reporting mechanism for a search
pass. It is used to store the confinement window and
progress report message prefix and suffix, and to
initialize parameters associated with the reporting of
the job in progress.
gfrepu_c is used to notify the progress reporting system that
a specified increment of work has been completed
since the last call to gfrepu_c or gfrepi_c, whichever
occurred most recently.
gfrepf_c is used to "finish" the reporting of work (set the
completion value to 100%.
1) This example shows how to call a mid-level GF search API that
requires as input progress reporting routines.
If custom progress reporting routines are available, they
can replace gfrepi_c, gfrepu_c, and gfrepf_c in any GF API calls.
The code fragment below is from the first code example in the
Only the portions of that program relevant to use of the
progress reporting routines are copied here.
Select a twenty-second step. We'll ignore any occultations
lasting less than 20 seconds.
gfsstp_c ( 20.0 );
Perform the search.
gfocce_c ( "ANY",
"MOON", "ellipsoid", "IAU_MOON",
"SUN", "ellipsoid", "IAU_SUN",
"LT", "EARTH", CNVTOL,
gfstep_c, gfrefn_c, rpt,
gfrepi_c, gfrepu_c, gfrepf_c,
bail, gfbail_c, &cnfine,
N.J. Bachman (JPL)
W.L. Taber (JPL)
I.M. Underwood (JPL)
L.S. Elson (JPL)
E.D. Wright (JPL)
-CSPICE Version 1.0.0, 28-FEB-2009 (NJB) (LSE) (WLT) (IMU) (EDW)
GF update progress report