TimeTransform_Connector.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "TimeTransform.hpp"
6 #include <cmath>
7 
8 namespace iv
9 {
10 
13 template< class T >
15 {
16 public:
19 
20 //----------------------------- TimeTransform_Connector -------------------------------------------------------------------
22  void status( iv::TableDebugView * view );
23 
24  //-------------------------- configuration -----------------------------------------------------
29  void transform( TimeTransform const & );
30 
31 protected:
32 //----------------------------- AnimConnector ------------------------------------------------------
33  virtual void UpdatePass_Down() override;
34  virtual void UpdatePass_Up() override;
35 
36 private:
37  TimeTransform _transform;
38 
39  Anim_float current_source_time;
40  Anim_float current_total_time;
41 
42  Anim_float current_distance;
43  std::optional< Anim_float > reset_remainder_distance;
44 
45  static const constexpr Anim_float DistanceChangeRatioThatCausesReset = 0.05;
46 };
47 
49 
50 }
51