7#include <eigen3/Eigen/Dense>
9#include "./nlohmann/json.hpp"
10#include <igl/opengl/glfw/Viewer.h>
30 void initialize(igl::opengl::glfw::Viewer* viewer,
32 bool type,
const Eigen::Vector3d& origin);
35 void update(
const std::vector<Eigen::Vector3d>& euler_id,
36 igl::opengl::glfw::Viewer& viewer);
111 std::vector<T> data_conc;
114 for (
auto data_j : data)
116 for (
size_t i = 0; i < data_j.size(); i++)
118 data_conc.push_back(data_j.at(i));
void update(const std::vector< Eigen::Vector3d > &euler_id, igl::opengl::glfw::Viewer &viewer)
It updates the hand vertices based on the euler angles for its skeleton joints. These are fed through...
std::string m_config_rel_path
std::filesystem::path m_config_abs_path
Absolute name of hand's configuration file.
Eigen::MatrixXd m_concatenated_hand_vertex_data
Concatenated hand vertex data.
int m_viewer_data_lower_idx
std::vector< std::string > m_hand_config
Hand configuration.
Eigen::MatrixXd translation_matrix(const Eigen::Vector3d &offset, size_t vert_num)
This function offset a set of vertices by a given offset.
void initialize(igl::opengl::glfw::Viewer *viewer, Exoskeleton *exo_handler, AnimatedHand *anim_hand, bool type, const Eigen::Vector3d &origin)
Initialize the hand.
std::vector< Finger > m_fingers
Vector of finger handles.
std::vector< T > concatenate_data(const std::vector< std::vector< T > > &data)
Concatenates vertex or face data to a std vector.
Eigen::Vector3d m_hand_origin
Hand origin with respect to the inertial frame of reference .
int m_viewer_data_upper_idx
Eigen::Matrix3d m_hand_rot
std::vector< Eigen::MatrixXd > m_vertex_data
Vertex data container.