1#ifndef GUIK_MODEL_CONTROL_HPP
2#define GUIK_MODEL_CONTROL_HPP
9#include <Eigen/Geometry>
15 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
17 ModelControl(
const std::string& name,
const Eigen::Matrix4f& init_model_matrix = Eigen::Matrix4f::Identity());
22 void draw_gizmo(
int win_x,
int win_y,
int win_w,
int win_h,
const Eigen::Matrix4f& view,
const Eigen::Matrix4f& projection,
bool on_window =
false);
29 void set_model_matrix(
const Eigen::Matrix4f& matrix) { pose = Eigen::Affine3f(matrix); }
30 void set_model_matrix(
const Eigen::Matrix4d& matrix) { pose = Eigen::Affine3f(matrix.cast<
float>()); }
31 template <
typename Scalar,
int Mode>
33 pose = Eigen::Affine3f(matrix.template cast<float>());
57 float gizmo_clip_space;
Definition model_control.hpp:13
void set_model_matrix(const Eigen::Matrix4f &matrix)
Definition model_control.hpp:29
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ModelControl(const std::string &name, const Eigen::Matrix4f &init_model_matrix=Eigen::Matrix4f::Identity())
void set_gizmo_operation(int operation)
void set_gizmo_clip_scale(float space=0.1f)
void set_gizmo_enabled(bool enabled)
const std::string & model_name() const
void draw_gizmo(int win_x, int win_y, int win_w, int win_h, const Eigen::Matrix4f &view, const Eigen::Matrix4f &projection, bool on_window=false)
bool is_guizmo_using() const
void set_gizmo_mode(int mode)
Eigen::Matrix4f model_matrix() const
void set_gizmo_operation(const std::string &operation)
void set_model_matrix(const Eigen::Transform< Scalar, 3, Mode > &matrix)
Definition model_control.hpp:32
void set_model_matrix(const Eigen::Matrix4d &matrix)
Definition model_control.hpp:30
Definition drawable_container.hpp:9