21 static const std::string
NAME;
26 TimeROI(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime);
29 double durationInSeconds()
const;
30 double durationInSeconds(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime)
const;
31 std::size_t numBoundaries()
const;
32 std::size_t numberOfRegions()
const;
38 void addROI(
const std::string &startTime,
const std::string &stopTime);
39 void addROI(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime);
40 void addROI(
const std::time_t &startTime,
const std::time_t &stopTime);
41 void appendROIFast(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime);
42 void addMask(
const std::string &startTime,
const std::string &stopTime);
43 void addMask(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime);
44 void addMask(
const std::time_t &startTime,
const std::time_t &stopTime);
45 bool valueAtTime(
const Types::Core::DateAndTime &time)
const;
46 Types::Core::DateAndTime getEffectiveTime(
const Types::Core::DateAndTime &time)
const;
47 Types::Core::DateAndTime firstTime()
const;
48 Types::Core::DateAndTime lastTime()
const;
49 const std::vector<Types::Core::DateAndTime> &
getAllTimes()
const {
return m_roi; }
52 void replaceROI(
const TimeROI &other);
53 void replaceROI(
const std::vector<Types::Core::DateAndTime> &roi);
55 void update_union(
const TimeROI &other);
56 void update_intersection(
const TimeROI &other);
57 void update_or_replace_intersection(
const TimeROI &other);
58 const std::vector<Kernel::TimeInterval> toTimeIntervals()
const;
59 const std::vector<Kernel::TimeInterval> toTimeIntervals(
const Types::Core::DateAndTime &after)
const;
63 std::string debugStrPrint(
const std::size_t type = 0)
const;
64 size_t getMemorySize()
const;
65 Types::Core::DateAndTime timeAtIndex(
unsigned long index)
const;
66 std::vector<std::pair<size_t, size_t>> calculate_indices(
const std::vector<Types::Core::DateAndTime> ×)
const;
69 void saveNexus(Nexus::File *file)
const;
72 std::vector<Types::Core::DateAndTime> getAllTimes(
const TimeROI &other);
73 void validateValues(
const std::string &label);
75 bool isCompletelyInROI(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime)
const;
76 bool isCompletelyInMask(
const Types::Core::DateAndTime &startTime,
const Types::Core::DateAndTime &stopTime)
const;
77 std::vector<Types::Core::DateAndTime>
m_roi;