Destination_Connector.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../Animation/AnimNode.hpp"
5 
6 namespace iv
7 {
8 
11 template< class T, class Interp >
13 {
14 public:
17  Destination_ConnectorGI( Instance * inst, AnimNode< T > * parent = nullptr, Attr< T > * destination = nullptr );
19 
20  void SetParent( AnimNode< T > * );
21  void SetDestination( Attr< T > * );
22 
23  //--------------------- AnimConnector ------------------------------------------------------
24  virtual void anim_eachParent( std::function< void( AnimNodeI * ) > const & ) override;
25  virtual void anim_parentDisconnect( AnimNodeI * node ) override;
26 
27  virtual void UpdatePass_Down() override;
28  virtual void UpdatePass_Up() override;
29 
30 private:
31  Interpolator_float _accumulated_distance;
32  AnimNode< T > * _parent;
33  Attr< T > * _destination;
34  Anim_float _distance;
35 };
36 
37 template< class T >
38 class Destination_Connector : public Destination_ConnectorGI< T, iv::Interpolator< T > >
39 {
40 public:
42 };
43 
44 }
45