MOBILISIS-Calculator/library/include/mobilisis/duration.h
Gerhard Hoffmann ae9a54bf02 Added:
pun_mutable:
        duration might be changed during runtime
    pun_round_to_next_24h_boundary
        duration has to be aligned with next possible 24h boundary
    pun_round_to_prev_24h_boundary
        duration has to be aligned with previous 24h boundary
    pun_align_with_timepoint
        duration has to be aligned with dedicated time point

Removed:
    pun_requires_change
        Replaced by pu_mutable
2024-08-18 19:23:12 +02:00

65 lines
2.5 KiB
C++

#include <string>
#include <QDebug>
#include <QDateTime>
class ATBDuration
{
public:
explicit ATBDuration()
: pun_id(0)
, pun_label("")
, pun_duration(0)
, pun_duration_saved(0)
, pun_duration_min(0)
, pun_duration_max(0)
, pun_interpolation_id(-1)
, pun_netto(false)
, pun_brutto(false)
, pun_fixed(false)
, pun_mutable(false)
, pun_round_to_next_24h_boundary(false)
, pun_round_to_prev_24h_boundary(false)
, pun_align_with_timepoint(QDateTime())
, pun_next_step_correction(0) {
}
friend QDebug operator<<(QDebug debug, ATBDuration const &td) {
QDebugStateSaver saver(debug);
debug.nospace()
<< " pun_id: " << td.pun_id << "\n"
<< " pun_label: " << QString::fromStdString(td.pun_label) << "\n"
<< " pun_duration: " << td.pun_duration << "\n"
<< " pun_duration_saved: " << td.pun_duration_saved << "\n"
<< " pun_duration_min: " << td.pun_duration_min << "\n"
<< " pun_duration_max: " << td.pun_duration_max << "\n"
<< " pun_interpolation_id: " << td.pun_interpolation_id << "\n"
<< " pun_netto: " << td.pun_netto << "\n"
<< " pun_brutto: " << td.pun_brutto << "\n"
<< " pun_fixed: " << td.pun_fixed << "\n"
<< " pun_mutable: " << td.pun_mutable << "\n"
<< "pun_round_to_next_24h_boundary: " << td.pun_round_to_next_24h_boundary << "\n"
<< "pun_round_to_prev_24h_boundary: " << td.pun_round_to_prev_24h_boundary << "\n"
<< " pun_align_with_timepoint: " << td.pun_align_with_timepoint << endl;
return debug;
}
int pun_id;
std::string pun_label;
int pun_duration;
int pun_duration_saved;
int pun_duration_min;
int pun_duration_max;
int pun_interpolation_id;
bool pun_netto; // the timestep expressed by this duration is a netto timestep
bool pun_brutto; // the timestep expressed by this duration is a brutto timestep
bool pun_fixed; // the value given in tariff-file is fixed (constant)
bool pun_mutable; // the value could change
bool pun_round_to_next_24h_boundary;
bool pun_round_to_prev_24h_boundary;
QDateTime pun_align_with_timepoint;
int pun_next_step_correction;
};