30 TimeWindow(
const util::Duration &earliest_start,
const util::Duration &latest_finish);
31 TimeWindow(
const util::Duration &earliest_start,
const util::Duration &latest_finish,
32 const util::Duration &spawn_time);
34 const util::Duration &getRelativeEarliestStart()
const;
35 const util::Duration &getRelativeLatestFinish()
const;
37 util::Duration getAbsoluteEarliestStart()
const;
38 util::Duration getAbsoluteLatestFinish()
const;
40 bool hasSpawnTime()
const;
41 void setSpawnTime(
const util::Duration &spawn_time);
43 SERIALIZE(earliest_start_, latest_finish_, spawn_time_);
46 util::Duration earliest_start_ = 0.0;
47 util::Duration latest_finish_ = 0.0;
49 std::optional<util::Duration> spawn_time_ = std::nullopt;