25 template<
typename KeyType >
28 const static bool value =
false;
33 template<
typename KeyType >
39 template<
typename KeyType >
45 template<
typename KeyType >
52 template<
typename KeyType >
65 template<
typename KeyType >
72 template<
typename KeyType >
86 template<
typename KeyType >
93 template<
typename KeyType >
100 template<
typename KeyType >
111 #define DECLARE_SPECIALIZATON( type, Function ) \
113 UPtr< IInterpolator< type > > Function< type >( const Key< type >& leftKey, \
114 const Key< type >& rightKey, \
115 UPtr< const IInterpolator< type > >& leftInterpolator, \
116 UPtr< const IInterpolator< type > >& rightInterpolator );
118 DECLARE_SPECIALIZATON(
float, CreateLinear );
119 DECLARE_SPECIALIZATON(
double, CreateLinear );
120 DECLARE_SPECIALIZATON(
char, CreateLinear );
121 DECLARE_SPECIALIZATON( uint8, CreateLinear );
122 DECLARE_SPECIALIZATON( int8, CreateLinear );
123 DECLARE_SPECIALIZATON( uint16, CreateLinear );
124 DECLARE_SPECIALIZATON( int16, CreateLinear );
125 DECLARE_SPECIALIZATON( uint32, CreateLinear );
126 DECLARE_SPECIALIZATON( int32, CreateLinear );
127 DECLARE_SPECIALIZATON( uint64, CreateLinear );
128 DECLARE_SPECIALIZATON( int64, CreateLinear );
130 DECLARE_SPECIALIZATON(
float, CreateDiscrete );
131 DECLARE_SPECIALIZATON(
double, CreateDiscrete );
132 DECLARE_SPECIALIZATON(
char, CreateDiscrete );
133 DECLARE_SPECIALIZATON( uint8, CreateDiscrete );
134 DECLARE_SPECIALIZATON( int8, CreateDiscrete );
135 DECLARE_SPECIALIZATON( uint16, CreateDiscrete );
136 DECLARE_SPECIALIZATON( int16, CreateDiscrete );
137 DECLARE_SPECIALIZATON( uint32, CreateDiscrete );
138 DECLARE_SPECIALIZATON( int32, CreateDiscrete );
139 DECLARE_SPECIALIZATON( uint64, CreateDiscrete );
140 DECLARE_SPECIALIZATON( int64, CreateDiscrete );
141 DECLARE_SPECIALIZATON(
bool, CreateDiscrete );
142 DECLARE_SPECIALIZATON( std::wstring, CreateDiscrete );
143 DECLARE_SPECIALIZATON( std::string, CreateDiscrete );
145 DECLARE_SPECIALIZATON(
float, CreateCosinus );
146 DECLARE_SPECIALIZATON(
double, CreateCosinus );
147 DECLARE_SPECIALIZATON(
char, CreateCosinus );
148 DECLARE_SPECIALIZATON( uint8, CreateCosinus );
149 DECLARE_SPECIALIZATON( int8, CreateCosinus );
150 DECLARE_SPECIALIZATON( uint16, CreateCosinus );
151 DECLARE_SPECIALIZATON( int16, CreateCosinus );
152 DECLARE_SPECIALIZATON( uint32, CreateCosinus );
153 DECLARE_SPECIALIZATON( int32, CreateCosinus );
154 DECLARE_SPECIALIZATON( uint64, CreateCosinus );
155 DECLARE_SPECIALIZATON( int64, CreateCosinus );
157 #undef DECLARE_SPECIALIZATON
165 template<
typename KeyType >
174 case InterpolatorType::Discrete:
175 return CreateDiscrete< KeyType >( leftKey, rightKey, leftInterpolator, rightInterpolator );
176 case InterpolatorType::Linear:
177 return CreateLinear< KeyType >( leftKey, rightKey, leftInterpolator, rightInterpolator );
178 case InterpolatorType::Cosinus:
179 return CreateCosinus< KeyType >( leftKey, rightKey, leftInterpolator, rightInterpolator );
180 case InterpolatorType::Bezier:
190 template<
typename KeyType >
197 return CreateLinear( leftKey, rightKey, leftInterpolator, rightInterpolator );
203 template<
typename KeyType >
210 return CreateLinear( leftKey, rightKey, leftInterpolator, rightInterpolator );
223 return CreateDiscrete( leftKey, rightKey, leftInterpolator, rightInterpolator );
228 template<
typename KeyType >
235 return CreateDiscrete( leftKey, rightKey, leftInterpolator, rightInterpolator );
240 template<
typename KeyType >
247 return CreateDiscrete( leftKey, rightKey, leftInterpolator, rightInterpolator );
252 template<
typename KeyType >
259 return CreateLinear( leftKey, rightKey, leftInterpolator, rightInterpolator );
Interpolators helpers functions.
Definition: DefaultInterpolators.cpp:14
Base class for interpolators.
Definition: IInterpolator.h:38
Animation key.
Definition: IInterpolator.h:21
UPtr< IInterpolator< KeyType > > Create(InterpolatorType type, const Key< KeyType > &leftKey, const Key< KeyType > &rightKey, UPtr< const IInterpolator< KeyType > > &leftInterpolator, UPtr< const IInterpolator< KeyType > > &rightInterpolator)
Definition: DefaultInterpolators.h:166
Trait for enabling types for parameter animation.
Definition: DefaultInterpolators.h:26
Temporary interpolator for internal use.
Definition: IInterpolator.h:67