AnimHeap.inl
Go to the documentation of this file.
1 namespace iv
2 {
3 
4 template< class T >
5 AnimNode< T > * AnimHeap::Node( T const & initial_value )
6 {
7  auto node = this->heap.template createClient< iv::AnimNode< T > >( initial_value );
8  this->nodes.insert( node );
9  return node;
10 }
11 
12 template< class T >
13 AnimNode< T > * AnimHeap::Attribute_SourceNode( Attr< T > * attr, T const & default_value )
14 {
15  auto node = this->heap.template createClient< iv::Source_AnimNode< T > >( default_value );
16  node->Assign_Attribute_R( attr );
17  this->nodes.insert( node );
18  return node;
19 }
20 
21 template< class T >
22 AnimNode< T > * AnimHeap::Attribute_DestinationNode( Attr< T > * attr, T const & initial_value )
23 {
24  auto node = this->heap.template createClient< iv::Destination_AnimNode< T > >( attr, initial_value );
25  this->nodes.insert( node );
26  return node;
27 }
28 
29 template< class T >
30 AnimNode< T > * AnimHeap::State_DestinationNode( T const & initial_value )
31 {
32  auto node = this->heap.template createClient< iv::State_AnimNode< T > >( initial_value );
33  this->nodes.insert( node );
34  return node;
35 }
36 
37 template< class T >
39 {
40  auto connector = this->heap.template createClient< iv::Cooldown_Connector< T > >();
41  connector->SetParent( parent );
42  connector->SetChild( child );
43  return connector;
44 }
45 
46 template< class T >
48 {
49  auto connector = this->heap.template createClient< iv::TimeTransform_Connector< T > >();
50  connector->transform( transform );
51  connector->SetParent( parent );
52  connector->SetChild( child );
53  return connector;
54 }
55 
56 }