fd::onset_series_blueprint — Blueprint patterns denoting how to handle onsets and pairs of onsets, and how to generate timepoints from onset series.
// In header: <fd/interval_schedule_definition.h> enum onset_series_blueprint { itemized = = 0, evenly_clocked = = 1, subinterval_range = = 2 | onset_series_sub_blueprint, subrange_interval = = 3 | onset_series_sub_blueprint, remainder_subrange_interval = = 4 | onset_series_sub_blueprint, fixed_duration = = 1 | onset_series_duration_blueprint, fixed_subrange_duration = = 2 | onset_series_duration_blueprint };
Note | |
---|---|
With the exception of an 'itemized' onset series, the start of onsets (IOW the offset of multiple onsets in a series of onsets) gets equalized. This process results in clocking actions evenly, and is done for the purpose of simplification on all levels: reasoning, GUI, handling, timepoint iteration, ... |
For blueprint types featuring only one onset specification the onset series will be made equal to the first. For blueprint types featuring a pair of beginning/until onset specification all 'beginning' onsets will be made equal to the first 'beginning' onset, all 'until' onsets will be made equal to the first 'until' onset.
Equalization/Evenly Clocking means:
time intervals: at 2nd sublevel:
daily interval: same minute+second
hour interval: same second
date intervals: same time of day
Furthermore, for beginning/until pairs, the 'until' onset may be made the same as the 'beginning' onset:
day-based interval: same second
itemized
evenly_clocked
Onsets with equalized start of. Example weekly interval: 3AM on Friday and Sunday.
subinterval_range
An onset pair denoting a range of subintervals. Example weekly interval: every hour from 3AM on Friday until 3PM on Sunday.
subrange_interval
An onset pair denoting a subrange of subintervals. It's actually the same as having multiple subinterval_range pairs, however labeled as such, which allows to make certain assumptions (like e.g. onset pairs are on the same weekday for week_day intervals). Example weekly interval: every hour from 3AM until 3PM on Friday and Sunday.
remainder_subrange_interval
An onset denoting a subrange of subintervals, where the end of the subrange is implicitly the remainder of the subrange. IOW from start of the onset until the remainder of the subrange.
It is similar to having one or multiple subrange_interval pairs, however no 'until' onset is specified, but instead the end of the period is implicit. E.g. for a weekly interval (and date intervals in general) the end of the day is the end of the period.
Example weekly interval: every hour from 3PM until midnight on Friday and Sunday.
fixed_duration
Pairs of onset/completion points. Example weekly interval: 3AM on Friday until 3PM on Sunday.
fixed_subrange_duration
Pairs of onset/completion points at same 'subgranularity'. It's actually the same as having one or multiple fixed_duration pairs, however labeled as such, which allows to make certain assumptions (like e.g. onset/completion are on the same weekday for week_day intervals). Example weekly interval: 3AM until 3PM on Friday and Sunday.