7#include <boost/filesystem.hpp>
16#include <Eigen/Geometry>
17#include <Eigen/StdVector>
18#include "igl/opengl/glfw/Viewer.h"
19#include "igl/readMESH.h"
20#include "igl/readTGF.h"
21#include "igl/png/readPNG.h"
22#include "igl/directed_edge_parents.h"
23#include "igl/boundary_conditions.h"
25#include "igl/lbs_matrix.h"
26#include "igl/normalize_row_sums.h"
27#include "igl/forward_kinematics.h"
29#include "igl/deform_skeleton.h"
31typedef std::vector<Eigen::Quaterniond,
47 void initialize(igl::opengl::glfw::Viewer* viewer,
58 boost::filesystem::system_complete(
"share/hand.mesh").string();
62 boost::filesystem::system_complete(
"share/hand.tgf").string();
66 boost::filesystem::system_complete(
"share/texture.png").string();
Exoskeleton * m_left_exo
Exoskeleton handler pointer.
std::string m_hand_texture_name
Texture name.
MenuHandler * m_menu_handler
Menu handler pointer.
SkeletalAnimation()
Constructor.
AnimatedHand * m_anim_hand
Animated hand pointer.
bool m_initialize_animation
Start animation flag.
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.
Eigen::Vector3d m_right_origin
Right hand origin.
Eigen::Vector3d m_left_origin
Left hand origin.
std::shared_ptr< Face > m_face
Face handler.
std::shared_ptr< Hand > m_left_hand
Left and right hand.
std::string m_hand_graph_name
Skeleton graph filename.
std::shared_ptr< Hand > m_right_hand
void setup_meshes(igl::opengl::glfw::Viewer &viewer)
Setup meshes.
std::string m_hand_mesh_name
Mesh filename.
std::vector< Eigen::Quaterniond, Eigen::aligned_allocator< Eigen::Quaterniond > > RotationList