Skip to content
Snippets Groups Projects
Commit 01ae631e authored by Angel Santamaria-Navarro's avatar Angel Santamaria-Navarro
Browse files

add comments to KFPackBuffer class

parent a17fd68a
No related branches found
No related tags found
1 merge request!157Kfpackmanager
Pipeline #
...@@ -17,6 +17,10 @@ class SensorBase; ...@@ -17,6 +17,10 @@ class SensorBase;
namespace wolf { namespace wolf {
/** \brief Key frame class pack
*
* To store a key_frame with an associated time tolerance.
*/
class KFPack class KFPack
{ {
public: public:
...@@ -28,34 +32,67 @@ class KFPack ...@@ -28,34 +32,67 @@ class KFPack
WOLF_PTR_TYPEDEFS(KFPack); WOLF_PTR_TYPEDEFS(KFPack);
/** \brief Buffer of Key frame class objects
*
* Object and functions to manage a buffer of KFPack objects.
*/
class KFPackBuffer class KFPackBuffer
{ {
public: public:
typedef std::map<TimeStamp,KFPackPtr>::iterator Iterator; typedef std::map<TimeStamp,KFPackPtr>::iterator Iterator; // buffer iterator
KFPackBuffer(void); KFPackBuffer(void);
~KFPackBuffer(void); ~KFPackBuffer(void);
/**\brief Select a Pack from the buffer
*
* Select from the buffer the closest pack (w.r.t. time stamp),
* respecting a defined time tolerance
*/
KFPackPtr selectPack(const TimeStamp& _time_stamp, const Scalar& _time_tolerance); KFPackPtr selectPack(const TimeStamp& _time_stamp, const Scalar& _time_tolerance);
/**\brief Buffer size
*
*/
size_t size(void); size_t size(void);
/**\brief Add a pack to the buffer
*
*/
void add(const FrameBasePtr& _key_frame, const Scalar& _time_tolerance); void add(const FrameBasePtr& _key_frame, const Scalar& _time_tolerance);
/**\brief Remove all packs in the buffer with a time stamp older than the specified
*
*/
void removeUpTo(const TimeStamp& _time_stamp); void removeUpTo(const TimeStamp& _time_stamp);
/**\brief Check time tolerance
*
* Check if the time distance between two time stamps is smaller than
* the minimum time tolerance of the two frames.
*/
bool checkTimeTolerance(const TimeStamp& _time_stamp1, const Scalar& _time_tolerance1, const TimeStamp& _time_stamp2, const Scalar& _time_tolerance2); bool checkTimeTolerance(const TimeStamp& _time_stamp1, const Scalar& _time_tolerance1, const TimeStamp& _time_stamp2, const Scalar& _time_tolerance2);
/**\brief Clear the buffer
*
*/
void clear(); void clear();
/**\brief Empty the buffer
*
*/
bool empty(); bool empty();
/**\brief Print buffer information
*
*/
void print(); void print();
private: private:
std::map<TimeStamp,KFPackPtr> container_; std::map<TimeStamp,KFPackPtr> container_; // Main buffer container
}; };
/** \brief base struct for processor parameters /** \brief base struct for processor parameters
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment