diff options
Diffstat (limited to 'src/arap.h')
-rw-r--r-- | src/arap.h | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -3,6 +3,12 @@ #include "graphics/shape.h" #include "Eigen/StdList" #include "Eigen/StdVector" +#include <Eigen/Core> +#include <Eigen/Dense> +#include <Eigen/Sparse> +#include <Eigen/SVD> +#include <QList> +#include <QtConcurrent> class Shader; @@ -43,4 +49,20 @@ public: { return m_shape.getAnchorPos(lastSelected, pos, ray, start); } + + // for determinig when to recompute + int num_anchors; + + typedef Eigen::Matrix<float, 3, Eigen::Dynamic> PM; // position matrix + typedef Eigen::Matrix<float, 3, 3> RM; // rotation matrix + typedef Eigen::SparseMatrix<float, Eigen::RowMajor> Sparse; + + std::vector<RM> m_rotations; + Sparse m_edge_weights; + PM m_b, m_b_fixed; + std::vector<Eigen::Index> m_vtx_to_free_vtx; + Eigen::SimplicialLDLT<Eigen::SparseMatrix<float>> m_solver; + + int m_num_iterations; + const char * m_mesh_path; }; |