Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_graphics
Animation
Connectors
Destination_Connector.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "../Animation/AnimNode.hpp"
4
#include <
ivorium_core/ivorium_core.hpp
>
5
6
namespace
iv
7
{
8
11
template
<
class
T,
class
Interp >
12
class
Destination_ConnectorGI
:
public
AnimConnector
13
{
14
public
:
15
using
AnimConnector::instance
;
16
ClientMarker
cm
;
17
Destination_ConnectorGI
(
Instance
* inst,
AnimNode< T >
* parent =
nullptr
,
Attr< T >
* destination =
nullptr
);
18
~Destination_ConnectorGI
();
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
:
41
using
Destination_ConnectorGI< T, iv::Interpolator< T >
>
::Destination_ConnectorGI
;
42
};
43
44
}
45
46
#include "
Destination_Connector.inl
"