52 #ifndef __LIBS_TF_TIME_CACHE_H_ 53 #define __LIBS_TF_TIME_CACHE_H_ 56 #include <tf/transform_storage.h> 69 typedef std::pair<fawkes::Time, CompactFrameID> P_TimeAndFrameID;
71 class TimeCacheInterface;
72 typedef std::shared_ptr<TimeCacheInterface> TimeCacheInterfacePtr;
82 std::string* error_str = 0) = 0;
84 virtual void clear_list() = 0;
85 virtual CompactFrameID get_parent(
fawkes::Time time, std::string* error_str) = 0;
86 virtual P_TimeAndFrameID get_latest_time_and_parent() = 0;
89 virtual unsigned int get_list_length()
const = 0;
103 static const int MIN_INTERPOLATION_DISTANCE = 5;
105 static const unsigned int MAX_LENGTH_LINKED_LIST = 1000000;
107 static const int64_t DEFAULT_MAX_STORAGE_TIME = 1ULL * 1000000000LL;
109 TimeCache(
float max_storage_time = DEFAULT_MAX_STORAGE_TIME);
113 std::string* error_str = 0);
115 virtual void clear_list();
116 virtual CompactFrameID get_parent(
fawkes::Time time, std::string* error_str);
117 virtual P_TimeAndFrameID get_latest_time_and_parent();
122 virtual unsigned int get_list_length()
const;
129 float max_storage_time_;
149 std::string* error_str = 0);
151 virtual void clear_list();
152 virtual CompactFrameID get_parent(
fawkes::Time time, std::string* error_str);
153 virtual P_TimeAndFrameID get_latest_time_and_parent();
155 virtual unsigned int get_list_length()
const;
Interface for transform time caches.
Fawkes library namespace.
A class for handling time.
std::list< TransformStorage > L_TransformStorage
List of stored transforms.
Time based transform cache.
Transform cache for static transforms.