A class to keep a sorted linked list in time This builds and maintains a list of timestamped data. And provides lookup functions to get data out as a function of time.
More...
Public Member Functions |
| void | clearList () |
| bool | getData (ros::Time time, TransformStorage &data_out, std::string *error_str=0) |
| P_TimeAndFrameID | getLatestTimeAndParent () |
| ros::Time | getLatestTimestamp () |
| unsigned int | getListLength () |
| | Debugging information methods.
|
| ros::Time | getOldestTimestamp () |
| CompactFrameID | getParent (ros::Time time, std::string *error_str) |
| bool | insertData (const TransformStorage &new_data) |
| | TimeCache (ros::Duration max_storage_time=ros::Duration().fromNSec(DEFAULT_MAX_STORAGE_TIME)) |
Static Public Attributes |
| static const int64_t | DEFAULT_MAX_STORAGE_TIME = 1ULL * 1000000000LL |
| | default value of 10 seconds storage
|
| static const unsigned int | MAX_LENGTH_LINKED_LIST = 1000000 |
| | Maximum length of linked list, to make sure not to be able to use unlimited memory.
|
| static const int | MIN_INTERPOLATION_DISTANCE = 5 |
| | Number of nano-seconds to not interpolate below.
|
Private Types |
typedef std::set
< TransformStorage > | L_TransformStorage |
Private Member Functions |
| uint8_t | findClosest (const TransformStorage *&one, const TransformStorage *&two, ros::Time target_time, std::string *error_str) |
| | A helper function for getData.
|
| void | interpolate (const TransformStorage &one, const TransformStorage &two, ros::Time time, TransformStorage &output) |
| void | pruneList () |
Private Attributes |
| ros::Duration | max_storage_time_ |
| L_TransformStorage | storage_ |
A class to keep a sorted linked list in time This builds and maintains a list of timestamped data. And provides lookup functions to get data out as a function of time.
Definition at line 97 of file time_cache.h.