14#include <Eigen/Sparse>
43 Eigen::SparseMatrix<double> K;
45 Eigen::SparseMatrix<double> M;
47 Eigen::SparseMatrix<double> CSM;
90 const Eigen::MatrixBase<DerivedV> & V,
91 const Eigen::MatrixBase<DerivedF> & F,
93 const Eigen::MatrixBase<Derivedb> & b,
114 const Eigen::MatrixBase<Derivedbc> & bc,
116 Eigen::MatrixBase<DerivedU> & U);
119#ifndef IGL_STATIC_LIBRARY
#define IGL_INLINE
Definition igl_inline.h:15
bool arap_precomputation(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const int dim, const Eigen::MatrixBase< Derivedb > &b, ARAPData &data)
Compute necessary information to start using an ARAP deformation using local-global solver as describ...
bool arap_solve(const Eigen::MatrixBase< Derivedbc > &bc, ARAPData &data, Eigen::MatrixBase< DerivedU > &U)
Conduct arap solve.
ARAPEnergyType
Enum for choosing ARAP energy type.
Definition ARAPEnergyType.h:14
@ ARAP_ENERGY_TYPE_DEFAULT
Choose one automatically: spokes and rims for surfaces, elements for planar meshes and tets (not full...
Definition ARAPEnergyType.h:28
Parameters and precomputed values for arap solver.
Definition arap.h:22
ARAPEnergyType energy
type of energy to use
Definition arap.h:29
bool with_dynamics
whether using dynamics (need to call arap_precomputation after changing)
Definition arap.h:31
Eigen::MatrixXd f_ext
#V by dim list of external forces
Definition arap.h:33
double h
dynamics time step
Definition arap.h:37
Eigen::MatrixXd vel
#V by dim list of velocities
Definition arap.h:35
double ym
"Young's modulus" smaller is softer, larger is more rigid/stiff
Definition arap.h:39
ARAPData()
Definition arap.h:54
Eigen::VectorXi G
#V list of group indices (1 to k) for each vertex, such that vertex i is assigned to group G(i)
Definition arap.h:27
int n
#V size of mesh
Definition arap.h:24
int max_iter
maximum inner iterations
Definition arap.h:41
Parameters and precomputed values for min_quad_with_fixed.
Definition min_quad_with_fixed.h:166