Loading...
Searching...
No Matches
TsKeyFrameMap Class Reference

An ordered sequence of keyframes with STL-compliant API for finding, inserting, and erasing keyframes while maintaining order. More...

#include <keyFrameMap.h>

Public Types

typedef std::vector< TsKeyFrame >::iterator iterator
 
typedef std::vector< TsKeyFrame >::const_iterator const_iterator
 
typedef std::vector< TsKeyFrame >::reverse_iterator reverse_iterator
 
typedef std::vector< TsKeyFrame >::const_reverse_iterator const_reverse_iterator
 

Public Member Functions

TS_API TsKeyFrameMap (TsKeyFrameMap const &other)
 
TS_API TsKeyFrameMapoperator= (TsKeyFrameMap const &other)
 
TS_API iterator begin ()
 
TS_API const_iterator begin () const
 
TS_API iterator end ()
 
TS_API const_iterator end () const
 
TS_API reverse_iterator rbegin ()
 
TS_API const_reverse_iterator rbegin () const
 
TS_API reverse_iterator rend ()
 
TS_API const_reverse_iterator rend () const
 
TS_API size_t size () const
 
TS_API size_t max_size () const
 
TS_API bool empty () const
 
TS_API void reserve (size_t size)
 
TS_API void clear ()
 
TS_API void swap (TsKeyFrameMap &other)
 
TS_API void swap (std::vector< TsKeyFrame > &other)
 
TS_API void erase (iterator first, iterator last)
 
TS_API void erase (iterator i)
 
TS_API bool operator== (const TsKeyFrameMap &other) const
 
TS_API bool operator!= (const TsKeyFrameMap &other) const
 
TS_API iterator lower_bound (TsTime t)
 
TS_API const_iterator lower_bound (TsTime t) const
 
TS_API iterator upper_bound (TsTime t)
 
TS_API const_iterator upper_bound (TsTime t) const
 
TS_API iterator find (const TsTime &t)
 
TS_API const_iterator find (const TsTime &t) const
 
TS_API iterator insert (TsKeyFrame const &value)
 
template<class Iter >
void insert (Iter const &first, Iter const &last)
 
TS_API void erase (TsTime const &t)
 
TS_API TsKeyFrameoperator[] (const TsTime &t)
 

Detailed Description

An ordered sequence of keyframes with STL-compliant API for finding, inserting, and erasing keyframes while maintaining order.

We use this instead of a map or set of keyframes because it allows the keyframes to be stored with fewer heap allocation and better data locality.

For the sake of efficiency, this class makes two assumptions: The keyframes are always ordered There is never more than one key frame at a given time.

The client (TsSpline) is responsible for maintaining these preconditions.

Definition at line 50 of file keyFrameMap.h.

Member Typedef Documentation

◆ const_iterator

typedef std::vector<TsKeyFrame>::const_iterator const_iterator

Definition at line 54 of file keyFrameMap.h.

◆ const_reverse_iterator

typedef std::vector<TsKeyFrame>::const_reverse_iterator const_reverse_iterator

Definition at line 56 of file keyFrameMap.h.

◆ iterator

typedef std::vector<TsKeyFrame>::iterator iterator

Definition at line 53 of file keyFrameMap.h.

◆ reverse_iterator

typedef std::vector<TsKeyFrame>::reverse_iterator reverse_iterator

Definition at line 55 of file keyFrameMap.h.

Constructor & Destructor Documentation

◆ TsKeyFrameMap() [1/2]

TS_API TsKeyFrameMap ( )
inline

Definition at line 59 of file keyFrameMap.h.

◆ TsKeyFrameMap() [2/2]

TS_API TsKeyFrameMap ( TsKeyFrameMap const &  other)
inline

Definition at line 63 of file keyFrameMap.h.

Member Function Documentation

◆ begin() [1/2]

TS_API iterator begin ( )
inline

Definition at line 74 of file keyFrameMap.h.

◆ begin() [2/2]

TS_API const_iterator begin ( ) const
inline

Definition at line 79 of file keyFrameMap.h.

◆ clear()

TS_API void clear ( )
inline

Definition at line 134 of file keyFrameMap.h.

◆ empty()

TS_API bool empty ( ) const
inline

Definition at line 124 of file keyFrameMap.h.

◆ end() [1/2]

TS_API iterator end ( )
inline

Definition at line 84 of file keyFrameMap.h.

◆ end() [2/2]

TS_API const_iterator end ( ) const
inline

Definition at line 89 of file keyFrameMap.h.

◆ erase() [1/3]

TS_API void erase ( iterator  first,
iterator  last 
)
inline

Definition at line 149 of file keyFrameMap.h.

◆ erase() [2/3]

TS_API void erase ( iterator  i)
inline

Definition at line 154 of file keyFrameMap.h.

◆ erase() [3/3]

TS_API void erase ( TsTime const &  t)
inline

Definition at line 218 of file keyFrameMap.h.

◆ find() [1/2]

TS_API iterator find ( const TsTime &  t)
inline

Definition at line 181 of file keyFrameMap.h.

◆ find() [2/2]

TS_API const_iterator find ( const TsTime &  t) const
inline

Definition at line 190 of file keyFrameMap.h.

◆ insert() [1/2]

void insert ( Iter const &  first,
Iter const &  last 
)
inline

Definition at line 211 of file keyFrameMap.h.

◆ insert() [2/2]

TS_API iterator insert ( TsKeyFrame const &  value)
inline

Definition at line 199 of file keyFrameMap.h.

◆ max_size()

TS_API size_t max_size ( ) const
inline

Definition at line 119 of file keyFrameMap.h.

◆ operator!=()

TS_API bool operator!= ( const TsKeyFrameMap other) const
inline

Definition at line 164 of file keyFrameMap.h.

◆ operator=()

TS_API TsKeyFrameMap & operator= ( TsKeyFrameMap const &  other)
inline

Definition at line 68 of file keyFrameMap.h.

◆ operator==()

TS_API bool operator== ( const TsKeyFrameMap other) const
inline

Definition at line 159 of file keyFrameMap.h.

◆ operator[]()

TS_API TsKeyFrame & operator[] ( const TsTime &  t)
inline

Definition at line 226 of file keyFrameMap.h.

◆ rbegin() [1/2]

TS_API reverse_iterator rbegin ( )
inline

Definition at line 94 of file keyFrameMap.h.

◆ rbegin() [2/2]

TS_API const_reverse_iterator rbegin ( ) const
inline

Definition at line 99 of file keyFrameMap.h.

◆ rend() [1/2]

TS_API reverse_iterator rend ( )
inline

Definition at line 104 of file keyFrameMap.h.

◆ rend() [2/2]

TS_API const_reverse_iterator rend ( ) const
inline

Definition at line 109 of file keyFrameMap.h.

◆ reserve()

TS_API void reserve ( size_t  size)
inline

Definition at line 129 of file keyFrameMap.h.

◆ size()

TS_API size_t size ( ) const
inline

Definition at line 114 of file keyFrameMap.h.

◆ swap() [1/2]

TS_API void swap ( std::vector< TsKeyFrame > &  other)
inline

Definition at line 144 of file keyFrameMap.h.

◆ swap() [2/2]

TS_API void swap ( TsKeyFrameMap other)
inline

Definition at line 139 of file keyFrameMap.h.


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