12345678910111213141516171819202122232425262728293031323334353637 |
- #ifndef BUFFERED_VALUE_H
- #define BUFFERED_VALUE_H
- #include "math/Math.h"
- template<typename T>
- class BufferedValue {
- T last;
- T current;
- public:
- BufferedValue(const T& t) : last(t), current(t) {
- }
- void update() {
- last = current;
- }
- T get(float lag) {
- return Math::interpolate(last, current, lag);
- }
- BufferedValue& operator=(const T& t) {
- current = t;
- return *this;
- }
- operator T&() {
- return current;
- }
- operator const T&() const {
- return current;
- }
- };
- #endif
|