tf2  master
tf2 maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time.
Public Member Functions | Static Public Attributes | List of all members
tf2::TimeCache Class Reference

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...

#include <time_cache.h>

Inheritance diagram for tf2::TimeCache:
Inheritance graph
[legend]
Collaboration diagram for tf2::TimeCache:
Collaboration graph
[legend]

Public Member Functions

 TimeCache (tf2::Duration max_storage_time=TIMECACHE_DEFAULT_MAX_STORAGE_TIME)
 
virtual bool getData (TimePoint time, TransformStorage &data_out, std::string *error_str=0)
 Virtual methods. More...
 
virtual bool insertData (const TransformStorage &new_data)
 Insert data into the cache. More...
 
virtual void clearList ()
 Clear the list of stored values. More...
 
virtual CompactFrameID getParent (TimePoint time, std::string *error_str)
 Retrieve the parent at a specific time. More...
 
virtual P_TimeAndFrameID getLatestTimeAndParent ()
 Get the latest time stored in this cache, and the parent associated with it. Returns parent = 0 if no data. More...
 
virtual unsigned int getListLength ()
 Debugging information methods. More...
 
virtual TimePoint getLatestTimestamp ()
 Get the latest timestamp cached. More...
 
virtual TimePoint getOldestTimestamp ()
 Get the oldest timestamp cached. More...
 
- Public Member Functions inherited from tf2::TimeCacheInterface
virtual ~TimeCacheInterface ()=default
 

Static Public Attributes

static const int MIN_INTERPOLATION_DISTANCE = 5
 Number of nano-seconds to not interpolate below. More...
 
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. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TimeCache()

tf2::TimeCache::TimeCache ( tf2::Duration  max_storage_time = TIMECACHE_DEFAULT_MAX_STORAGE_TIME)

Member Function Documentation

◆ getData()

virtual bool tf2::TimeCache::getData ( TimePoint  time,
TransformStorage data_out,
std::string error_str = 0 
)
virtual

Virtual methods.

Implements tf2::TimeCacheInterface.

◆ insertData()

virtual bool tf2::TimeCache::insertData ( const TransformStorage new_data)
virtual

Insert data into the cache.

Implements tf2::TimeCacheInterface.

◆ clearList()

virtual void tf2::TimeCache::clearList ( )
virtual

Clear the list of stored values.

Implements tf2::TimeCacheInterface.

◆ getParent()

virtual CompactFrameID tf2::TimeCache::getParent ( TimePoint  time,
std::string error_str 
)
virtual

Retrieve the parent at a specific time.

Implements tf2::TimeCacheInterface.

◆ getLatestTimeAndParent()

virtual P_TimeAndFrameID tf2::TimeCache::getLatestTimeAndParent ( )
virtual

Get the latest time stored in this cache, and the parent associated with it. Returns parent = 0 if no data.

Implements tf2::TimeCacheInterface.

◆ getListLength()

virtual unsigned int tf2::TimeCache::getListLength ( )
virtual

Debugging information methods.

Implements tf2::TimeCacheInterface.

◆ getLatestTimestamp()

virtual TimePoint tf2::TimeCache::getLatestTimestamp ( )
virtual

Get the latest timestamp cached.

Implements tf2::TimeCacheInterface.

◆ getOldestTimestamp()

virtual TimePoint tf2::TimeCache::getOldestTimestamp ( )
virtual

Get the oldest timestamp cached.

Implements tf2::TimeCacheInterface.

Member Data Documentation

◆ MIN_INTERPOLATION_DISTANCE

const int tf2::TimeCache::MIN_INTERPOLATION_DISTANCE = 5
static

Number of nano-seconds to not interpolate below.

◆ MAX_LENGTH_LINKED_LIST

const unsigned int tf2::TimeCache::MAX_LENGTH_LINKED_LIST = 1000000
static

Maximum length of linked list, to make sure not to be able to use unlimited memory.


The documentation for this class was generated from the following file: