24 #include <utils/time/simts.h> 48 current_simtime = start_time;
61 const timeval *curt = current_simtime.
get_timeval();
62 tv->tv_sec = curt->tv_sec;
63 tv->tv_usec = curt->tv_usec;
71 float simdiff = current_simoffset - start_simoffset;
72 float realdiff = current_realtime - &start_time;
74 float sim_to_real = realdiff / simdiff;
76 Time query_simtime(tv);
77 query_simtime -= start_time;
78 float query_simtime_offset = query_simtime.
in_sec() - start_simoffset;
80 query_simtime_offset *= sim_to_real;
82 Time final(query_simtime_offset);
85 return *(
final.get_timeval());;
103 start_simoffset = initial_offset;
104 current_simtime = start_time;
116 current_simtime = start_time + (sim_offset - start_simoffset);
117 current_simoffset = sim_offset;
double in_sec() const
Convet time to seconds.
virtual timeval conv_to_realtime(const timeval *tv) const
Convert a time given w.r.t.
const timeval * get_timeval() const
Obtain the timeval where the time is stored.
static Clock * instance()
Clock initializer.
virtual void get_time(timeval *tv) const
Get the current time.
Fawkes library namespace.
SimulatorTimeSource()
Constructor.
void get_systime(struct timeval *tv) const
Returns the system time.
void set_start(float initial_offset)
Set start time.
A class for handling time.
virtual ~SimulatorTimeSource()
Destructor.
void set_sim_offset(float sim_offset)
Set simulation offset.
virtual timeval conv_native_to_exttime(const timeval *tv) const
Convert a native time to the external time.