MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / get

Function get

src/Core/Animation/Easing.cpp:234–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232 }
233
234 EasingFunction get(EasingType easing)
235 {
236 static std::unordered_map<EasingType, EasingFunction> easingFunctions;
237 if (easingFunctions.empty())
238 {
239 easingFunctions.insert(std::make_pair(EasingType::Linear, Linear));
240 easingFunctions.insert(std::make_pair(EasingType::InSine, InSine));
241 easingFunctions.insert(std::make_pair(EasingType::OutSine, OutSine));
242 easingFunctions.insert(std::make_pair(EasingType::InOutSine, InOutSine));
243 easingFunctions.insert(std::make_pair(EasingType::InQuad, InQuad));
244 easingFunctions.insert(std::make_pair(EasingType::OutQuad, OutQuad));
245 easingFunctions.insert(std::make_pair(EasingType::InOutQuad, InOutQuad));
246 easingFunctions.insert(std::make_pair(EasingType::InCubic, InCubic));
247 easingFunctions.insert(std::make_pair(EasingType::OutCubic, OutCubic));
248 easingFunctions.insert(std::make_pair(EasingType::InOutCubic, InOutCubic));
249 easingFunctions.insert(std::make_pair(EasingType::InQuart, InQuart));
250 easingFunctions.insert(std::make_pair(EasingType::OutQuart, OutQuart));
251 easingFunctions.insert(std::make_pair(EasingType::InOutQuart, InOutQuart));
252 easingFunctions.insert(std::make_pair(EasingType::InQuint, InQuint));
253 easingFunctions.insert(std::make_pair(EasingType::OutQuint, OutQuint));
254 easingFunctions.insert(std::make_pair(EasingType::InOutQuint, InOutQuint));
255 easingFunctions.insert(std::make_pair(EasingType::InExpo, InExpo));
256 easingFunctions.insert(std::make_pair(EasingType::OutExpo, OutExpo));
257 easingFunctions.insert(std::make_pair(EasingType::InOutExpo, InOutExpo));
258 easingFunctions.insert(std::make_pair(EasingType::InCirc, InCirc));
259 easingFunctions.insert(std::make_pair(EasingType::OutCirc, OutCirc));
260 easingFunctions.insert(std::make_pair(EasingType::InOutCirc, InOutCirc));
261 easingFunctions.insert(std::make_pair(EasingType::InBack, InBack));
262 easingFunctions.insert(std::make_pair(EasingType::OutBack, OutBack));
263 easingFunctions.insert(std::make_pair(EasingType::InOutBack, InOutBack));
264 easingFunctions.insert(std::make_pair(EasingType::InElastic, InElastic));
265 easingFunctions.insert(std::make_pair(EasingType::OutElastic, OutElastic));
266 easingFunctions.insert(
267 std::make_pair(EasingType::InOutElastic, InOutElastic));
268 easingFunctions.insert(std::make_pair(EasingType::InBounce, InBounce));
269 easingFunctions.insert(std::make_pair(EasingType::OutBounce, OutBounce));
270 easingFunctions.insert(std::make_pair(EasingType::InOutBounce, InOutBounce));
271 }
272
273 if (const auto function = easingFunctions.find(easing);
274 function != easingFunctions.end())
275 {
276 return function->second;
277 }
278 const int enumValue = static_cast<std::underlying_type_t<EasingType>>(easing);
279 throw Exceptions::UnknownEasingFromEnum(enumValue, EXC_INFO);
280 }
281
282 EasingFunction get(const std::string& easing)
283 {

Callers

nothing calls this directly

Calls 6

emptyMethod · 0.45
insertMethod · 0.45
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected