#include <rtt_rosclock_sim_clock_thread.h>

| Public Types | |
| enum | SimClockSource { SIM_CLOCK_SOURCE_MANUAL = 0, SIM_CLOCK_SOURCE_ROS_CLOCK_TOPIC = 1 } | 
| Simulation clock sources.  More... | |
| Public Member Functions | |
| bool | setClockSource (SimClockSource clock_source) | 
| Set the simulation clock source by ID (see ClockSource enum) | |
| bool | simTimeEnabled () const | 
| Check if simulation time is enabled. | |
| bool | updateClock (const ros::Time new_time) | 
| bool | useManualClock () | 
| Set the clock source to use a manual source, i.e. call `updateClock()` manually. | |
| bool | useROSClockTopic () | 
| Set the clock source to use the ROS /clock topic. | |
| virtual | ~SimClockThread () | 
| Static Public Member Functions | |
| static boost::shared_ptr < SimClockThread > | GetInstance () | 
| Get an instance to the singleton SimClockThread or NULL. | |
| static boost::shared_ptr < SimClockThread > | Instance () | 
| Get an instance to the singleton SimClockThread or create one. | |
| static void | Release () | 
| Release the singleton SimClockThread. | |
| Protected Member Functions | |
| virtual bool | breakLoop () | 
| void | clockMsgCallback (const rosgraph_msgs::ClockConstPtr &clock) | 
| ROS message callback for /clock topic. | |
| virtual void | finalize () | 
| virtual bool | initialize () | 
| virtual void | loop () | 
| void | operator= (SimClockThread const &) | 
| void | resetTimeService () | 
| Re-set the RTT::os::TimeService to zero and restart logging. | |
| SimClockThread () | |
| Constructor is protected, use Instance() to create and get a singleton. | |
| SimClockThread (SimClockThread const &) | |
| bool | updateClockInternal (const ros::Time new_time) | 
| Update the RTT clock and SimClockActivities with a new time (see updateClock() for manually updating) | |
| Protected Attributes | |
| ros::CallbackQueue | callback_queue_ | 
| Custom callback queue used in this thread. | |
| SimClockSource | clock_source_ | 
| Current clock source. | |
| ros::Subscriber | clock_subscriber_ | 
| ROS /clock topic subscriber. | |
| ros::NodeHandle | nh_ | 
| ROS NodeHandle for communication. | |
| bool | process_callbacks_ | 
| Keep running the thread loop if this is set to true. | |
| RTT::os::TimeService * | time_service_ | 
| Convenient pointer to RTT time service. | |
| Static Protected Attributes | |
| static boost::shared_ptr < SimClockThread > | singleton | 
| SimClockThread singleton. | |
This activity subscribes to the ROS /clock topic and overrides the RTT TimeService if the `/use_sim_time` ROS parameter is set.
Definition at line 60 of file rtt_rosclock_sim_clock_thread.h.
Simulation clock sources.
Definition at line 73 of file rtt_rosclock_sim_clock_thread.h.
| SimClockThread::~SimClockThread | ( | ) |  [virtual] | 
Definition at line 96 of file rtt_rosclock_sim_clock_thread.cpp.
| SimClockThread::SimClockThread | ( | ) |  [protected] | 
Constructor is protected, use Instance() to create and get a singleton.
Definition at line 88 of file rtt_rosclock_sim_clock_thread.cpp.
| rtt_rosclock::SimClockThread::SimClockThread | ( | SimClockThread const & | ) |  [protected] | 
| bool SimClockThread::breakLoop | ( | ) |  [protected, virtual] | 
Reimplemented from RTT::os::Thread.
Definition at line 281 of file rtt_rosclock_sim_clock_thread.cpp.
| void SimClockThread::clockMsgCallback | ( | const rosgraph_msgs::ClockConstPtr & | clock | ) |  [protected] | 
ROS message callback for /clock topic.
Definition at line 130 of file rtt_rosclock_sim_clock_thread.cpp.
| void SimClockThread::finalize | ( | ) |  [protected, virtual] | 
Reimplemented from RTT::os::Thread.
Definition at line 287 of file rtt_rosclock_sim_clock_thread.cpp.
| boost::shared_ptr< SimClockThread > SimClockThread::GetInstance | ( | ) |  [static] | 
Get an instance to the singleton SimClockThread or NULL.
Definition at line 62 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::initialize | ( | ) |  [protected, virtual] | 
Reimplemented from RTT::os::Thread.
Definition at line 214 of file rtt_rosclock_sim_clock_thread.cpp.
| boost::shared_ptr< SimClockThread > SimClockThread::Instance | ( | ) |  [static] | 
Get an instance to the singleton SimClockThread or create one.
Definition at line 67 of file rtt_rosclock_sim_clock_thread.cpp.
| void SimClockThread::loop | ( | ) |  [protected, virtual] | 
Reimplemented from RTT::os::Thread.
Definition at line 271 of file rtt_rosclock_sim_clock_thread.cpp.
| void rtt_rosclock::SimClockThread::operator= | ( | SimClockThread const & | ) |  [protected] | 
| void SimClockThread::Release | ( | ) |  [static] | 
Release the singleton SimClockThread.
Definition at line 79 of file rtt_rosclock_sim_clock_thread.cpp.
| void SimClockThread::resetTimeService | ( | ) |  [protected] | 
Re-set the RTT::os::TimeService to zero and restart logging.
Definition at line 191 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::setClockSource | ( | SimClockSource | clock_source | ) | 
Set the simulation clock source by ID (see ClockSource enum)
Definition at line 101 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::simTimeEnabled | ( | ) | const | 
Check if simulation time is enabled.
Definition at line 125 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::updateClock | ( | const ros::Time | new_time | ) | 
Update the RTT clock and SimClockActivities with a new time
This can be called internally from clockMsgCallback or externally by another library (e.g. Gazebo) for in-process triggering. This can be called manually via the ros.clock global service's updateSimClock() operation.
Definition at line 136 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::updateClockInternal | ( | const ros::Time | new_time | ) |  [protected] | 
Update the RTT clock and SimClockActivities with a new time (see updateClock() for manually updating)
Definition at line 146 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::useManualClock | ( | ) | 
Set the clock source to use a manual source, i.e. call `updateClock()` manually.
Definition at line 120 of file rtt_rosclock_sim_clock_thread.cpp.
| bool SimClockThread::useROSClockTopic | ( | ) | 
Set the clock source to use the ROS /clock topic.
Definition at line 115 of file rtt_rosclock_sim_clock_thread.cpp.
Custom callback queue used in this thread.
Definition at line 134 of file rtt_rosclock_sim_clock_thread.h.
Current clock source.
Definition at line 124 of file rtt_rosclock_sim_clock_thread.h.
ROS /clock topic subscriber.
Definition at line 132 of file rtt_rosclock_sim_clock_thread.h.
| ros::NodeHandle rtt_rosclock::SimClockThread::nh_  [protected] | 
ROS NodeHandle for communication.
Definition at line 130 of file rtt_rosclock_sim_clock_thread.h.
| bool rtt_rosclock::SimClockThread::process_callbacks_  [protected] | 
Keep running the thread loop if this is set to true.
Definition at line 127 of file rtt_rosclock_sim_clock_thread.h.
| boost::shared_ptr< SimClockThread > SimClockThread::singleton  [static, protected] | 
SimClockThread singleton.
Definition at line 106 of file rtt_rosclock_sim_clock_thread.h.
Convenient pointer to RTT time service.
Definition at line 121 of file rtt_rosclock_sim_clock_thread.h.