Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_graphics
Animation
Animation
AnimConnector.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
ivorium_core/ivorium_core.hpp
>
4
5
namespace
iv
6
{
7
8
using
Anim_float
=
Interpolator_float
;
9
10
class
AnimNodeI
;
11
12
template
<
class
T >
13
class
AnimNode
;
14
17
class
AnimConnector
18
{
19
public
:
20
ClientMarker
cm
;
21
22
AnimConnector
(
Instance
* inst );
23
Instance
*
instance
()
const
;
24
25
void
Activate
();
26
27
//--------------------- anim graph ----------------------------------------------------
28
virtual
void
anim_eachChild
( std::function<
void
(
AnimNodeI
* ) >
const
& ){}
29
virtual
void
anim_childDisconnect
(
AnimNodeI
* node ){}
30
31
virtual
void
anim_eachParent
( std::function<
void
(
AnimNodeI
* ) >
const
& ){}
32
virtual
void
anim_parentDisconnect
(
AnimNodeI
* node ){}
33
34
//-------------------------------------------------------------------------------------
38
void
parentChanged_Set
();
39
bool
parentChanged_Get
();
40
void
parentChanged_Clear
();
41
45
void
childArrived_Set
();
46
bool
childArrived_Get
();
47
void
childArrived_Clear
();
48
49
//-------------------------------------------------------------------------------------
56
virtual
void
UpdatePass_Down
() = 0;
57
63
virtual
void
UpdatePass_Up
() = 0;
64
65
private
:
66
Instance
* inst;
67
bool
_parent_changed;
68
bool
_child_arrived;
69
};
70
71
}