LET @name = @name FILL @number(0:)
The FILL command reduces the number of intervals in a schedule by merging
adjacent intervals that are separated by gaps of (strictly) less than some
number of seconds. It is most often used to ignore small gaps in an otherwise
continuously satisfied set of constraints.
Formally, let W be the schedule containing the intervals
[a_1, b_1], [a_2, b_2],..., [a_n, b_n]and let x be any number. If two adjacent intervals
[a_i, b_i], [a_(i+1), b_(i+1)]satisfy the inequality
a_(i+1) - b_i < xthen the intervals are replaced by a single interval:
[a_i,b_(i+1)]A graphical description of the FILL command is shown below.
Gap limit : --- Input schedule : ----- ----- ----- ----- --- - --- -- -- Output schedule : ----------- ------------ ---------------
FIND CLOSE SEPARATION OF BODY1 BODY2 FROM OBSERVER LESS THAN 1 DEGREE STEP SIZE LENGTH; LET CLOSE = CLOSE FILL 60 SECONDS; LET CLEAR = DARK COMPLEMENT;
Compare with FILTER, which removes small intervals (instead of small gaps
between intervals).