24 #include <utils/time/simts.h> 49 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;
70 float simdiff = current_simoffset - start_simoffset;
71 float realdiff = current_realtime - &start_time;
73 float sim_to_real = realdiff / simdiff;
75 Time query_simtime(tv);
76 query_simtime -= start_time;
77 float query_simtime_offset = query_simtime.
in_sec() - start_simoffset;
79 query_simtime_offset *= sim_to_real;
81 Time final(query_simtime_offset);
84 return *(
final.get_timeval());
102 start_simoffset = initial_offset;
103 current_simtime = start_time;
114 current_simtime = start_time + (sim_offset - start_simoffset);
115 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.