Skeletal Animation Multithread Face
rendering.cpp
Go to the documentation of this file.
1#include "../include/rendering.h"
2
8{
9 // Animation
10 igl::opengl::glfw::Viewer viewer;
11
12 // Attach a menu plugin
13 igl::opengl::glfw::imgui::ImGuiPlugin plugin;
14 viewer.plugins.push_back(&plugin);
15 igl::opengl::glfw::imgui::ImGuiMenu menu;
16 plugin.widgets.push_back(&menu);
17
18 // Menu handler
19 MenuHandler menu_handler(&menu);
20
21 // Generate lamda function pointing to the menu callback
22 auto lamda_menu_fun = [&menu_handler]() { return menu_handler.callback(); };
23 menu.callback_draw_viewer_menu = lamda_menu_fun;
24
25 // Initialize left exoskeleton handle
26 Exoskeleton left_exoskeleton;
27
28 // Initialize animated hand handler
29 AnimatedHand anim_hand;
30
31 // Initialize skeletal animation
33 sa.initialize(&viewer, &left_exoskeleton, &anim_hand, &menu_handler);
34
35 // Generate lamda function pointing to the animation loop member function
36 auto lamda_anim_fun =
37 [&sa](igl::opengl::glfw::Viewer& viewer) { return sa.animation_loop(viewer); };
38
39 // Set animation
40 viewer.data().show_overlay_depth = false;
41 viewer.data().line_width = 1;
42 viewer.data().show_lines = false;
43 viewer.callback_pre_draw = lamda_anim_fun;
44 viewer.core().is_animating = true;
45 viewer.core().animation_max_fps = 30;
46 viewer.launch();
47}
Class Exoskeleton.
Definition: exoskeleton.h:20
Class MenuHandler.
Definition: menu_handler.h:23
void callback(void)
Menu callback function.
Rendering()
Rendering constructor.
Definition: rendering.cpp:7
Class SkeletalAnimation.
bool animation_loop(igl::opengl::glfw::Viewer &viewer)
Animation loop callback.
void initialize(igl::opengl::glfw::Viewer *viewer, Exoskeleton *left_exo, AnimatedHand *anim_hand, MenuHandler *menu_handler)
Initialize animation.