5#include "igl/opengl/glfw/Viewer.h"
6#include "igl/readMESH.h"
7#include "igl/readTGF.h"
8#include "igl/png/readPNG.h"
9#include "igl/directed_edge_parents.h"
10#include "igl/boundary_conditions.h"
12#include "igl/lbs_matrix.h"
13#include "igl/normalize_row_sums.h"
14#include "igl/forward_kinematics.h"
16#include "igl/deform_skeleton.h"
21typedef std::vector<Eigen::Quaterniond,
38 const std::string& mesh_name,
const std::string& graph_name,
39 const std::string& texture_name,
bool type,
const Eigen::Vector3d& origin);
46 Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic>
red;
47 Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic>
green;
48 Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic>
blue;
49 Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic>
a;
53 void update(
const std::vector<AnimatedHand::EulerID>& euler_id);
Eigen::MatrixXd m_vertex_pos
List of vertex positions (C)
Eigen::MatrixXi m_tetr_indices
Volume mesh tetrahedral indices(T) and surface element indices(F)
PngImage m_texture
Texture image.
Eigen::MatrixXi get_surface_indices(void)
igl::BBWData m_bbw_data
BBW weights matrix (bbw_data)
Eigen::MatrixXd m_weights
List of weights (W)
void update(const std::vector< AnimatedHand::EulerID > &euler_id)
Updates the hand.
Eigen::VectorXi m_boundary_indices
List of boundary indices (b)
Eigen::MatrixXd m_vol_mesh_vert_init
Eigen::Vector3d m_origin
Hand origin.
Eigen::MatrixXi m_bone_edges_indices
Bone-edges skeleton indices (BE)
Eigen::MatrixXd get_vertices(void)
Returns the vertices of the hand.
Eigen::MatrixXi m_surf_indices
RotationList m_anim_pose
Animation pose.
Hand(Exoskeleton *exo_handler, AnimatedHand *anim_hand, const std::string &mesh_name, const std::string &graph_name, const std::string &texture_name, bool type, const Eigen::Vector3d &origin)
Constructor.
Eigen::VectorXi m_point_handles
Point handles list (P)
std::vector< int > m_hand_idx_iter
Hand index iterator.
Eigen::MatrixXd m_vol_mesh_vert
Volume mesh Vertices (V)
Eigen::MatrixXd m_g_weights
Global weights (M)
int m_pose_size
Pose size.
Exoskeleton * m_exo_handler
Exoskeleton handler pointer.
AnimatedHand * m_anim_hand
Animated hand pointer.
Eigen::MatrixXd m_boundary_conditions
List of boundary conditions of each weight function (bc)
bool m_hand_type
Hand type.
std::vector< Eigen::Quaterniond, Eigen::aligned_allocator< Eigen::Quaterniond > > RotationList
Eigen::Matrix< unsigned char, Eigen::Dynamic, Eigen::Dynamic > red
Eigen::Matrix< unsigned char, Eigen::Dynamic, Eigen::Dynamic > blue
Eigen::Matrix< unsigned char, Eigen::Dynamic, Eigen::Dynamic > a
Eigen::Matrix< unsigned char, Eigen::Dynamic, Eigen::Dynamic > green