![]() |
Prusa Slicer 2.6.0
|
Functions | |
| IGL_INLINE void | compute_surface_gradient_matrix (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &F1, const Eigen::MatrixXd &F2, Eigen::SparseMatrix< double > &D1, Eigen::SparseMatrix< double > &D2) |
| IGL_INLINE void | buildA (igl::SLIMData &s, std::vector< Eigen::Triplet< double > > &IJV) |
| IGL_INLINE void | buildRhs (igl::SLIMData &s, const Eigen::SparseMatrix< double > &A) |
| IGL_INLINE void | add_soft_constraints (igl::SLIMData &s, Eigen::SparseMatrix< double > &L) |
| IGL_INLINE double | compute_energy (igl::SLIMData &s, Eigen::MatrixXd &V_new) |
| IGL_INLINE double | compute_soft_const_energy (igl::SLIMData &s, const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::MatrixXd &V_o) |
| IGL_INLINE double | compute_energy_with_jacobians (igl::SLIMData &s, const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const Eigen::MatrixXd &Ji, Eigen::MatrixXd &uv, Eigen::VectorXd &areas) |
| IGL_INLINE void | solve_weighted_arap (igl::SLIMData &s, const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::MatrixXd &uv, Eigen::VectorXi &soft_b_p, Eigen::MatrixXd &soft_bc_p) |
| IGL_INLINE void | update_weights_and_closest_rotations (igl::SLIMData &s, const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::MatrixXd &uv) |
| IGL_INLINE void | compute_jacobians (igl::SLIMData &s, const Eigen::MatrixXd &uv) |
| IGL_INLINE void | build_linear_system (igl::SLIMData &s, Eigen::SparseMatrix< double > &L) |
| IGL_INLINE void | pre_calc (igl::SLIMData &s) |
| IGL_INLINE void igl::slim::add_soft_constraints | ( | igl::SLIMData & | s, |
| Eigen::SparseMatrix< double > & | L | ||
| ) |
References igl::SLIMData::b, igl::SLIMData::bc, igl::SLIMData::dim, L, igl::SLIMData::rhs, igl::SLIMData::soft_const_p, and igl::SLIMData::v_num.
Referenced by build_linear_system().
Here is the caller graph for this function:| IGL_INLINE void igl::slim::build_linear_system | ( | igl::SLIMData & | s, |
| Eigen::SparseMatrix< double > & | L | ||
| ) |
References igl::SLIMData::A, igl::SLIMData::A_data, add_soft_constraints(), igl::SLIMData::AtA, igl::AtA_cached(), igl::AtA_cached_precompute(), igl::SLIMData::AtA_data, buildA(), buildRhs(), Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::cols(), igl::SLIMData::dim, igl::SLIMData::f_n, L, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::makeCompressed(), igl::SLIMData::proximal_p, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::rows(), Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::setFromTriplets(), Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::setIdentity(), igl::sparse_cached(), igl::sparse_cached_precompute(), Eigen::SparseMatrixBase< Derived >::transpose(), igl::SLIMData::v_n, igl::AtA_cached_data::W, and igl::SLIMData::WGL_M.
Referenced by solve_weighted_arap().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::buildA | ( | igl::SLIMData & | s, |
| std::vector< Eigen::Triplet< double > > & | IJV | ||
| ) |
References igl::SLIMData::dim, igl::SLIMData::Dx, igl::SLIMData::Dy, igl::SLIMData::Dz, igl::SLIMData::f_n, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::outerSize(), igl::SLIMData::v_n, igl::SLIMData::W_11, igl::SLIMData::W_12, igl::SLIMData::W_13, igl::SLIMData::W_21, igl::SLIMData::W_22, igl::SLIMData::W_23, igl::SLIMData::W_31, igl::SLIMData::W_32, and igl::SLIMData::W_33.
Referenced by build_linear_system().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::buildRhs | ( | igl::SLIMData & | s, |
| const Eigen::SparseMatrix< double > & | A | ||
| ) |
References igl::SLIMData::dim, igl::SLIMData::f_n, igl::SLIMData::proximal_p, igl::SLIMData::rhs, igl::SLIMData::Ri, igl::SLIMData::v_n, igl::SLIMData::V_o, igl::SLIMData::W_11, igl::SLIMData::W_12, igl::SLIMData::W_13, igl::SLIMData::W_21, igl::SLIMData::W_22, igl::SLIMData::W_23, igl::SLIMData::W_31, igl::SLIMData::W_32, igl::SLIMData::W_33, and igl::SLIMData::WGL_M.
Referenced by build_linear_system().
Here is the caller graph for this function:| IGL_INLINE double igl::slim::compute_energy | ( | igl::SLIMData & | s, |
| Eigen::MatrixXd & | V_new | ||
| ) |
References compute_energy_with_jacobians(), compute_jacobians(), compute_soft_const_energy(), igl::SLIMData::F, igl::SLIMData::Ji, igl::SLIMData::M, and igl::SLIMData::V.
Referenced by igl::slim_precompute(), and igl::slim_solve().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE double igl::slim::compute_energy_with_jacobians | ( | igl::SLIMData & | s, |
| const Eigen::MatrixXd & | V, | ||
| const Eigen::MatrixXi & | F, | ||
| const Eigen::MatrixXd & | Ji, | ||
| Eigen::MatrixXd & | uv, | ||
| Eigen::VectorXd & | areas | ||
| ) |
References igl::SLIMData::ARAP, igl::SLIMData::CONFORMAL, igl::SLIMData::dim, exp(), igl::SLIMData::EXP_CONFORMAL, igl::SLIMData::exp_factor, igl::SLIMData::EXP_SYMMETRIC_DIRICHLET, igl::SLIMData::f_n, log(), igl::SLIMData::LOG_ARAP, igl::polar_svd(), igl::SLIMData::slim_energy, and igl::SLIMData::SYMMETRIC_DIRICHLET.
Referenced by compute_energy().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::compute_jacobians | ( | igl::SLIMData & | s, |
| const Eigen::MatrixXd & | uv | ||
| ) |
References igl::SLIMData::Dx, igl::SLIMData::Dy, igl::SLIMData::Dz, igl::SLIMData::F, and igl::SLIMData::Ji.
Referenced by compute_energy(), and update_weights_and_closest_rotations().
Here is the caller graph for this function:| IGL_INLINE double igl::slim::compute_soft_const_energy | ( | igl::SLIMData & | s, |
| const Eigen::MatrixXd & | V, | ||
| const Eigen::MatrixXi & | F, | ||
| Eigen::MatrixXd & | V_o | ||
| ) |
References igl::SLIMData::b, igl::SLIMData::bc, and igl::SLIMData::soft_const_p.
Referenced by compute_energy().
Here is the caller graph for this function:| IGL_INLINE void igl::slim::compute_surface_gradient_matrix | ( | const Eigen::MatrixXd & | V, |
| const Eigen::MatrixXi & | F, | ||
| const Eigen::MatrixXd & | F1, | ||
| const Eigen::MatrixXd & | F2, | ||
| Eigen::SparseMatrix< double > & | D1, | ||
| Eigen::SparseMatrix< double > & | D2 | ||
| ) |
References igl::grad().
Referenced by pre_calc().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::pre_calc | ( | igl::SLIMData & | s | ) |
References compute_surface_gradient_matrix(), igl::SLIMData::dim, igl::SLIMData::Dx, igl::SLIMData::Dy, igl::SLIMData::Dz, igl::SLIMData::F, igl::SLIMData::f_n, igl::SLIMData::f_num, igl::SLIMData::first_solve, igl::grad(), igl::SLIMData::has_pre_calc, igl::SLIMData::Ji, igl::local_basis(), igl::SLIMData::M, Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::makeCompressed(), igl::SLIMData::mesh_improvement_3d, igl::SLIMData::rhs, igl::SLIMData::Ri, igl::SLIMData::V, igl::SLIMData::v_n, igl::SLIMData::v_num, igl::SLIMData::W_11, igl::SLIMData::W_12, igl::SLIMData::W_13, igl::SLIMData::W_21, igl::SLIMData::W_22, igl::SLIMData::W_23, igl::SLIMData::W_31, igl::SLIMData::W_32, igl::SLIMData::W_33, and igl::SLIMData::WGL_M.
Referenced by igl::slim_precompute().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::solve_weighted_arap | ( | igl::SLIMData & | s, |
| const Eigen::MatrixXd & | V, | ||
| const Eigen::MatrixXi & | F, | ||
| Eigen::MatrixXd & | uv, | ||
| Eigen::VectorXi & | soft_b_p, | ||
| Eigen::MatrixXd & | soft_bc_p | ||
| ) |
References build_linear_system(), Eigen::CholmodBase< _MatrixType, _UpLo, Derived >::compute(), Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::compute(), igl::SLIMData::dim, L, igl::SLIMData::rhs, Eigen::SparseSolverBase< Derived >::solve(), igl::SLIMData::v_n, and igl::SLIMData::v_num.
Referenced by igl::slim_solve().
Here is the call graph for this function:
Here is the caller graph for this function:| IGL_INLINE void igl::slim::update_weights_and_closest_rotations | ( | igl::SLIMData & | s, |
| const Eigen::MatrixXd & | V, | ||
| const Eigen::MatrixXi & | F, | ||
| Eigen::MatrixXd & | uv | ||
| ) |
References igl::SLIMData::ARAP, compute_jacobians(), igl::SLIMData::CONFORMAL, igl::SLIMData::dim, exp(), igl::SLIMData::EXP_CONFORMAL, igl::SLIMData::exp_factor, igl::SLIMData::EXP_SYMMETRIC_DIRICHLET, igl::SLIMData::Ji, log(), igl::SLIMData::LOG_ARAP, igl::polar_svd(), igl::SLIMData::Ri, igl::SLIMData::slim_energy, sqrt(), igl::SLIMData::SYMMETRIC_DIRICHLET, igl::SLIMData::W_11, igl::SLIMData::W_12, igl::SLIMData::W_13, igl::SLIMData::W_21, igl::SLIMData::W_22, igl::SLIMData::W_23, igl::SLIMData::W_31, igl::SLIMData::W_32, and igl::SLIMData::W_33.
Referenced by igl::slim_solve().
Here is the call graph for this function:
Here is the caller graph for this function: