|
Blender V5.0
|
Classes | |
| struct | GeometryData |
| class | SlimFailedException |
| struct | SLIMData |
| struct | MatrixTransferChart |
| struct | PinnedVertexData |
| struct | MatrixTransfer |
Typedefs | |
| using | SLIMDataPtr = std::unique_ptr<SLIMData> |
Functions | |
| static void | correct_geometry_size (double surface_area_to_map_area_ratio, MatrixXd &vertex_positions, double desired_surface_area_to_map_ration) |
| template<typename VertexPositionType, typename FaceIndicesType> | |
| static double | compute_surface_area (const VertexPositionType v, const FaceIndicesType f) |
| void | correct_map_surface_area_if_necessary (SLIMData &slim_data) |
| void | correct_mesh_surface_area_if_necessary (SLIMData &slim_data) |
| template<typename DerivedV, typename DerivedF, typename DerivedC> | |
| static void | cotmatrix_entries (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedC > &C) |
| template<typename DerivedV, typename DerivedF, typename Scalar> | |
| void | cotmatrix (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::SparseMatrix< Scalar > &L) |
| template<typename DerivedX, typename DerivedY, typename DerivedIX> | |
| static void | doublearea_sort3 (const Eigen::PlainObjectBase< DerivedX > &X, const int dim, const bool ascending, Eigen::PlainObjectBase< DerivedY > &Y, Eigen::PlainObjectBase< DerivedIX > &IX) |
| template<typename DerivedV, typename DerivedF, typename DeriveddblA> | |
| void | doublearea (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DeriveddblA > &dblA) |
| template<typename Derivedl, typename DeriveddblA> | |
| void | doublearea (const Eigen::PlainObjectBase< Derivedl > &ul, Eigen::PlainObjectBase< DeriveddblA > &dblA) |
| template<typename DerivedV, typename DerivedF, typename DerivedL> | |
| void | edge_lengths (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedL > &L) |
| template<typename DerivedV, typename DerivedF, typename DerivedL> | |
| void | squared_edge_lengths (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedL > &L) |
| static double | line_search (Eigen::MatrixXd &x, const Eigen::MatrixXd &d, double step_size, std::function< double(Eigen::MatrixXd &)> energy, double cur_energy=-1) |
| static double | get_smallest_pos_quad_zero (double a, double b, double c) |
| static double | get_min_pos_root_2D (const Eigen::MatrixXd &uv, const Eigen::MatrixXi &F, Eigen::MatrixXd &d, int f) |
| static double | compute_max_step_from_singularities (const Eigen::MatrixXd &uv, const Eigen::MatrixXi &F, Eigen::MatrixXd &d) |
| double | flip_avoiding_line_search (const Eigen::MatrixXi F, Eigen::MatrixXd &cur_v, Eigen::MatrixXd &dst_v, std::function< double(Eigen::MatrixXd &)> energy, double cur_energy) |
| static void | create_weights_per_face (SLIMData &slim_data) |
| static void | apply_transformation (SLIMData &slim_data, Matrix2d &transformation_matrix) |
| static void | apply_translation (SLIMData &slim_data, Vector2d &translation_vector) |
| static void | retrieve_positions_of_pinned_vertices_in_initialization (const MatrixXd &all_uv_positions_in_initialization, const VectorXi &indices_of_pinned_vertices, MatrixXd &position_of_pinned_vertices_in_initialization) |
| static void | flip_input_geometry (SLIMData &slim_data) |
| static void | compute_centroid (const MatrixXd &point_cloud, Vector2d ¢roid) |
| static void | compute_least_squares_scaling (MatrixXd centered_pins, MatrixXd centered_initialized_pins, Matrix2d &transformation_matrix) |
| static void | comput_least_squares_rotation_scale_only (SLIMData &slim_data, Vector2d &translation_vector, Matrix2d &transformation_matrix, bool is_flip_allowed) |
| static void | compute_transformation_matrix2_pins (const SLIMData &slim_data, Matrix2d &transformation_matrix) |
| static void | compute_translation1_pin (const SLIMData &slim_data, Vector2d &translation_vector) |
| static void | transform_initialized_map (SLIMData &slim_data) |
| static bool | is_translation_needed (const SLIMData &slim_data) |
| void | transform_initialization_if_necessary (SLIMData &slim_data) |
| template<typename DerivedV, typename DerivedF> | |
| static void | grad (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::SparseMatrix< typename DerivedV::Scalar > &G, bool uniform=false) |
| template<typename DerivedA, typename DerivedR, typename DerivedT, typename DerivedU, typename DerivedS, typename DerivedV> | |
| static void | polar_svd (const Eigen::PlainObjectBase< DerivedA > &A, Eigen::PlainObjectBase< DerivedR > &R, Eigen::PlainObjectBase< DerivedT > &T, Eigen::PlainObjectBase< DerivedU > &U, Eigen::PlainObjectBase< DerivedS > &S, Eigen::PlainObjectBase< DerivedV > &V) |
| static 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) |
| static void | compute_weighted_jacobians (SLIMData &s, const Eigen::MatrixXd &uv) |
| static void | compute_unweighted_jacobians (SLIMData &s, const Eigen::MatrixXd &uv) |
| static void | compute_jacobians (SLIMData &s, const Eigen::MatrixXd &uv) |
| static void | update_weights_and_closest_rotations (SLIMData &s, Eigen::MatrixXd &uv) |
| template<typename DerivedV, typename DerivedF> | |
| static void | local_basis (const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedV > &B1, Eigen::PlainObjectBase< DerivedV > &B2, Eigen::PlainObjectBase< DerivedV > &B3) |
| static void | pre_calc (SLIMData &s) |
| static void | buildA (SLIMData &s, Eigen::SparseMatrix< double > &A) |
| static void | buildRhs (SLIMData &s, const Eigen::SparseMatrix< double > &At) |
| static void | add_soft_constraints (SLIMData &s, Eigen::SparseMatrix< double > &L) |
| static void | build_linear_system (SLIMData &s, Eigen::SparseMatrix< double > &L) |
| static double | compute_energy_with_jacobians (SLIMData &s, const Eigen::MatrixXd &Ji, Eigen::VectorXd &areas, Eigen::VectorXd &singularValues, bool gatherSingularValues) |
| static double | compute_soft_const_energy (SLIMData &s, Eigen::MatrixXd &V_o) |
| static double | compute_energy (SLIMData &s, Eigen::MatrixXd &V_new, Eigen::VectorXd &singularValues, bool gatherSingularValues) |
| static double | compute_energy (SLIMData &s, Eigen::MatrixXd &V_new) |
| static double | compute_energy (SLIMData &s, Eigen::MatrixXd &V_new, Eigen::VectorXd &singularValues) |
| void | slim_precompute (Eigen::MatrixXd &V, Eigen::MatrixXi &F, Eigen::MatrixXd &V_init, SLIMData &data, SLIMData::SLIM_ENERGY slim_energy, Eigen::VectorXi &b, Eigen::MatrixXd &bc, double soft_p) |
| double | computeGlobalScaleInvarianceFactor (Eigen::VectorXd &singularValues, Eigen::VectorXd &areas) |
| static void | solve_weighted_arap (SLIMData &s, Eigen::MatrixXd &uv) |
| Eigen::MatrixXd | slim_solve (SLIMData &data, int iter_num) |
| static void | transfer_uvs_back_to_native_part (MatrixTransferChart &chart, Eigen::MatrixXd &uv) |
| static Eigen::MatrixXd | get_interactive_result_blended_with_original (float blend, const SLIMData &slim_data) |
| static void | adjust_pins (SLIMData &slim_data, const PinnedVertexData &pinned_vertex_data) |
| static double | compute_angle (const Eigen::Vector3d &a, const Eigen::Vector3d &b) |
| static void | find_vertex_to_opposite_angles_correspondence (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, Eigen::SparseMatrix< double > &vertex_to_face_indices) |
| static void | find_vertex_to_its_angles_correspondence (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, Eigen::SparseMatrix< double > &vertex_to_face_indices) |
| void | convex_border_parameterization (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv, Method method) |
| void | mvc (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv) |
| void | harmonic (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv) |
| void | tutte (const Eigen::MatrixXi &f, const Eigen::MatrixXd &v, const Eigen::MatrixXi &e, const Eigen::VectorXd &el, const Eigen::VectorXi &bnd, const Eigen::MatrixXd &bnd_uv, Eigen::MatrixXd &uv) |
| void | map_vertices_to_convex_border (Eigen::MatrixXd &vertex_positions) |
| static void | get_flips (const Eigen::MatrixXi &f, const Eigen::MatrixXd &uv, std::vector< int > &flip_idx) |
| int | count_flips (const Eigen::MatrixXi &f, const Eigen::MatrixXd &uv) |
| void | harmonic (const Eigen::MatrixXd &v, const Eigen::MatrixXi &f, const Eigen::MatrixXi &B, const Eigen::MatrixXd &bnd_uv, int power_of_harmonic_operaton, Eigen::MatrixXd &UV) |
| using slim::SLIMDataPtr = std::unique_ptr<SLIMData> |
Definition at line 18 of file slim_matrix_transfer.h.
|
inlinestatic |
Definition at line 536 of file slim.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, BLI_assert, slim::SLIMData::dim, i, L, slim::SLIMData::rhs, slim::SLIMData::soft_const_p, slim::SLIMData::v_num, and slim::SLIMData::valid.
Referenced by build_linear_system().
|
static |
Definition at line 47 of file slim_parametrizer.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, slim::PinnedVertexData::pinned_vertex_indices, slim::PinnedVertexData::pinned_vertex_positions_2D, slim::PinnedVertexData::selected_pins, and slim::SLIMData::valid.
Referenced by slim::MatrixTransfer::parametrize_live().
|
static |
Definition at line 21 of file least_squares_relocator.cpp.
References BLI_assert, i, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by transform_initialized_map().
|
static |
Definition at line 30 of file least_squares_relocator.cpp.
References BLI_assert, i, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by transform_initialized_map().
|
inlinestatic |
Definition at line 549 of file slim.cpp.
References A, add_soft_constraints(), BLI_assert, buildA(), buildRhs(), slim::SLIMData::dim, slim::SLIMData::f_n, L, slim::SLIMData::proximal_p, slim::SLIMData::v_n, slim::SLIMData::valid, and slim::SLIMData::WGL_M.
Referenced by solve_weighted_arap().
|
inlinestatic |
Definition at line 463 of file slim.cpp.
References A, BLI_assert, slim::SLIMData::Dx, slim::SLIMData::Dy, slim::SLIMData::f_n, slim::SLIMData::v_n, slim::SLIMData::valid, slim::SLIMData::W_11, slim::SLIMData::W_12, slim::SLIMData::W_21, slim::SLIMData::W_22, and slim::SLIMData::weightPerFaceMap.
Referenced by build_linear_system().
|
inlinestatic |
Definition at line 508 of file slim.cpp.
References BLI_assert, slim::SLIMData::dim, slim::SLIMData::f_n, i, slim::SLIMData::proximal_p, slim::SLIMData::rhs, slim::SLIMData::Ri, slim::SLIMData::v_n, slim::SLIMData::V_o, slim::SLIMData::valid, slim::SLIMData::W_11, slim::SLIMData::W_12, slim::SLIMData::W_21, slim::SLIMData::W_22, and slim::SLIMData::WGL_M.
Referenced by build_linear_system().
|
static |
Definition at line 111 of file least_squares_relocator.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, BLI_assert, compute_centroid(), compute_least_squares_scaling(), flip_input_geometry(), retrieve_positions_of_pinned_vertices_in_initialization(), slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by transform_initialized_map().
|
static |
Definition at line 17 of file uv_initializer.cpp.
Referenced by find_vertex_to_its_angles_correspondence(), and find_vertex_to_opposite_angles_correspondence().
|
static |
Definition at line 61 of file least_squares_relocator.cpp.
Referenced by comput_least_squares_rotation_scale_only().
|
inlinestatic |
Definition at line 654 of file slim.cpp.
References BLI_assert, compute_energy(), and slim::SLIMData::valid.
|
inlinestatic |
Definition at line 661 of file slim.cpp.
References BLI_assert, compute_energy(), and slim::SLIMData::valid.
|
inlinestatic |
Definition at line 643 of file slim.cpp.
References BLI_assert, compute_energy_with_jacobians(), compute_jacobians(), compute_soft_const_energy(), slim::SLIMData::Ji, slim::SLIMData::M, and slim::SLIMData::valid.
Referenced by compute_energy(), compute_energy(), slim_precompute(), and slim_solve().
|
inlinestatic |
Definition at line 572 of file slim.cpp.
References slim::SLIMData::ARAP, BLI_assert, slim::SLIMData::CONFORMAL, exp, slim::SLIMData::EXP_CONFORMAL, slim::SLIMData::exp_factor, slim::SLIMData::EXP_SYMMETRIC_DIRICHLET, slim::SLIMData::F, slim::SLIMData::f_n, i, log, slim::SLIMData::LOG_ARAP, polar_svd(), pow, slim::SLIMData::slim_energy, slim::SLIMData::SYMMETRIC_DIRICHLET, and slim::SLIMData::valid.
Referenced by compute_energy().
|
inlinestatic |
Definition at line 277 of file slim.cpp.
References BLI_assert, compute_unweighted_jacobians(), compute_weighted_jacobians(), slim::SLIMData::valid, and slim::SLIMData::withWeightedParameterization.
Referenced by compute_energy(), and update_weights_and_closest_rotations().
|
static |
Definition at line 94 of file least_squares_relocator.cpp.
References abs.
Referenced by comput_least_squares_rotation_scale_only().
|
inlinestatic |
Definition at line 135 of file flip_avoiding_line_search.cpp.
References F, get_min_pos_root_2D(), and min.
Referenced by flip_avoiding_line_search().
|
inlinestatic |
Definition at line 633 of file slim.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, BLI_assert, e, i, slim::SLIMData::soft_const_p, and slim::SLIMData::valid.
Referenced by compute_energy().
|
static |
Definition at line 31 of file area_compensation.cpp.
References doublearea(), and v.
Referenced by correct_map_surface_area_if_necessary(), and correct_mesh_surface_area_if_necessary().
|
inlinestatic |
|
static |
Definition at line 158 of file least_squares_relocator.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, BLI_assert, pow, sqrt, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by transform_initialized_map().
|
static |
Definition at line 181 of file least_squares_relocator.cpp.
References slim::SLIMData::b, slim::SLIMData::bc, BLI_assert, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by transform_initialized_map().
|
inlinestatic |
Definition at line 266 of file slim.cpp.
References BLI_assert, slim::SLIMData::Dx, slim::SLIMData::Dy, slim::SLIMData::Ji, and slim::SLIMData::valid.
Referenced by compute_jacobians().
|
inlinestatic |
Definition at line 248 of file slim.cpp.
References BLI_assert, slim::SLIMData::Dx, slim::SLIMData::Dy, slim::SLIMData::Ji, slim::SLIMData::valid, and slim::SLIMData::weightPerFaceMap.
Referenced by compute_jacobians().
|
inline |
| void slim::convex_border_parameterization | ( | const Eigen::MatrixXi & | f, |
| const Eigen::MatrixXd & | v, | ||
| const Eigen::MatrixXi & | e, | ||
| const Eigen::VectorXd & | el, | ||
| const Eigen::VectorXi & | bnd, | ||
| const Eigen::MatrixXd & | bnd_uv, | ||
| Eigen::MatrixXd & | uv, | ||
| Method | method ) |
Definition at line 93 of file uv_initializer.cpp.
References b, e, find_vertex_to_its_angles_correspondence(), find_vertex_to_opposite_angles_correspondence(), HARMONIC, i, MVC, tan, TUTTE, v, and z().
Referenced by harmonic(), mvc(), and tutte().
|
static |
Definition at line 21 of file area_compensation.cpp.
References BLI_assert, and sqrt.
Referenced by correct_map_surface_area_if_necessary(), and correct_mesh_surface_area_if_necessary().
| void slim::correct_map_surface_area_if_necessary | ( | SLIMData & | slim_data | ) |
Definition at line 39 of file area_compensation.cpp.
References slim::SLIMData::b, compute_surface_area(), correct_geometry_size(), slim::SLIMData::expectedSurfaceAreaOfResultingMap, slim::SLIMData::F, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by slim::MatrixTransfer::parametrize(), slim::MatrixTransfer::parametrize_live(), and slim::MatrixTransferChart::transfer_uvs_blended().
| void slim::correct_mesh_surface_area_if_necessary | ( | SLIMData & | slim_data | ) |
Definition at line 65 of file area_compensation.cpp.
References slim::SLIMData::b, BLI_assert, compute_surface_area(), correct_geometry_size(), slim::SLIMData::expectedSurfaceAreaOfResultingMap, slim::SLIMData::F, slim::SLIMData::skipInitialization, slim::SLIMData::V, slim::SLIMData::V_o, and slim::SLIMData::valid.
Referenced by slim::GeometryData::construct_slim_data().
|
inline |
Definition at line 57 of file cotmatrix.cpp.
References assert, C, cotmatrix_entries(), e, F, i, L, and V.
|
inlinestatic |
Definition at line 24 of file cotmatrix.cpp.
References assert, C, doublearea(), F, i, l, squared_edge_lengths(), and V.
Referenced by cotmatrix().
| int slim::count_flips | ( | const Eigen::MatrixXi & | f, |
| const Eigen::MatrixXd & | uv ) |
Definition at line 284 of file uv_initializer.cpp.
References get_flips().
|
static |
Definition at line 55 of file geometry_data_retrieval.cpp.
References slim::SLIMData::F, slim::SLIMData::valid, slim::SLIMData::weightInfluence, slim::SLIMData::weightmap, slim::SLIMData::weightPerFaceMap, and slim::SLIMData::withWeightedParameterization.
|
inline |
Definition at line 163 of file doublearea.cpp.
References assert, doublearea_sort3(), i, l, blender::threading::parallel_for(), and sqrt.
|
inline |
Definition at line 116 of file doublearea.cpp.
References assert, doublearea(), edge_lengths(), F, l, V, x, and y.
Referenced by compute_surface_area(), cotmatrix_entries(), doublearea(), and slim_precompute().
|
inlinestatic |
Definition at line 36 of file doublearea.cpp.
References assert, b, cast, i, blender::threading::parallel_for(), X, and Y.
Referenced by doublearea().
|
inline |
Definition at line 17 of file edge_lengths.cpp.
References F, L, squared_edge_lengths(), and V.
Referenced by doublearea().
|
static |
Definition at line 56 of file uv_initializer.cpp.
References compute_angle(), i, and v.
Referenced by convex_border_parameterization().
|
static |
Definition at line 22 of file uv_initializer.cpp.
References compute_angle(), i, and v.
Referenced by convex_border_parameterization().
|
inline |
Definition at line 150 of file flip_avoiding_line_search.cpp.
References compute_max_step_from_singularities(), F, line_search(), and min.
Referenced by slim_solve().
|
static |
Definition at line 52 of file least_squares_relocator.cpp.
References BLI_assert, slim::SLIMData::F, and slim::SLIMData::valid.
Referenced by comput_least_squares_rotation_scale_only().
|
static |
Definition at line 261 of file uv_initializer.cpp.
Referenced by count_flips().
|
static |
Definition at line 39 of file slim_parametrizer.cpp.
References blend(), slim::SLIMData::oldUVs, and slim::SLIMData::V_o.
Referenced by slim::MatrixTransferChart::transfer_uvs_blended().
|
inlinestatic |
Definition at line 102 of file flip_avoiding_line_search.cpp.
References b, F, get_smallest_pos_quad_zero(), and v2.
Referenced by compute_max_step_from_singularities().
|
inlinestatic |
Definition at line 65 of file flip_avoiding_line_search.cpp.
References b, max, min, pow, and sqrt.
Referenced by get_min_pos_root_2D().
|
inlinestatic |
| void slim::harmonic | ( | const Eigen::MatrixXd & | v, |
| const Eigen::MatrixXi & | f, | ||
| const Eigen::MatrixXi & | B, | ||
| const Eigen::MatrixXd & | bnd_uv, | ||
| int | power_of_harmonic_operaton, | ||
| Eigen::MatrixXd & | UV ) |
| void slim::harmonic | ( | const Eigen::MatrixXi & | f, |
| const Eigen::MatrixXd & | v, | ||
| const Eigen::MatrixXi & | e, | ||
| const Eigen::VectorXd & | el, | ||
| const Eigen::VectorXi & | bnd, | ||
| const Eigen::MatrixXd & | bnd_uv, | ||
| Eigen::MatrixXd & | uv ) |
Definition at line 222 of file uv_initializer.cpp.
References convex_border_parameterization(), e, HARMONIC, and v.
|
static |
Definition at line 222 of file least_squares_relocator.cpp.
References slim::SLIMData::b, BLI_assert, slim::SLIMData::skipInitialization, and slim::SLIMData::valid.
Referenced by transform_initialization_if_necessary().
|
inlinestatic |
Definition at line 32 of file flip_avoiding_line_search.cpp.
References x.
Referenced by flip_avoiding_line_search().
|
inlinestatic |
| void slim::map_vertices_to_convex_border | ( | Eigen::MatrixXd & | vertex_positions | ) |
| void slim::mvc | ( | const Eigen::MatrixXi & | f, |
| const Eigen::MatrixXd & | v, | ||
| const Eigen::MatrixXi & | e, | ||
| const Eigen::VectorXd & | el, | ||
| const Eigen::VectorXi & | bnd, | ||
| const Eigen::MatrixXd & | bnd_uv, | ||
| Eigen::MatrixXd & | uv ) |
Definition at line 210 of file uv_initializer.cpp.
References convex_border_parameterization(), e, MVC, and v.
|
inlinestatic |
Definition at line 203 of file slim.cpp.
References A, R, T, U, V, and W.
Referenced by compute_energy_with_jacobians(), and update_weights_and_closest_rotations().
|
inlinestatic |
Definition at line 426 of file slim.cpp.
References BLI_assert, compute_surface_gradient_matrix(), slim::SLIMData::dim, slim::SLIMData::Dx, slim::SLIMData::Dy, slim::SLIMData::Dz, slim::SLIMData::F, slim::SLIMData::f_n, slim::SLIMData::f_num, slim::SLIMData::first_solve, slim::SLIMData::has_pre_calc, i, slim::SLIMData::Ji, local_basis(), slim::SLIMData::M, slim::SLIMData::rhs, slim::SLIMData::Ri, slim::SLIMData::V, slim::SLIMData::v_n, slim::SLIMData::v_num, slim::SLIMData::valid, slim::SLIMData::W_11, slim::SLIMData::W_12, slim::SLIMData::W_21, slim::SLIMData::W_22, and slim::SLIMData::WGL_M.
Referenced by slim_precompute().
|
static |
Definition at line 39 of file least_squares_relocator.cpp.
References i.
Referenced by comput_least_squares_rotation_scale_only().
| void slim::slim_precompute | ( | Eigen::MatrixXd & | V, |
| Eigen::MatrixXi & | F, | ||
| Eigen::MatrixXd & | V_init, | ||
| SLIMData & | data, | ||
| SLIMData::SLIM_ENERGY | slim_energy, | ||
| Eigen::VectorXi & | b, | ||
| Eigen::MatrixXd & | bc, | ||
| double | soft_p ) |
Definition at line 669 of file slim.cpp.
References assert, b, BLI_assert, compute_energy(), data, doublearea(), F, pre_calc(), and V.
Referenced by slim::GeometryData::construct_slim_data().
| Eigen::MatrixXd slim::slim_solve | ( | SLIMData & | data, |
| int | iter_num ) |
Definition at line 787 of file slim.cpp.
References BLI_assert, compute_energy(), computeGlobalScaleInvarianceFactor(), data, flip_avoiding_line_search(), i, solve_weighted_arap(), and update_weights_and_closest_rotations().
Referenced by slim::MatrixTransferChart::try_slim_solve().
|
inlinestatic |
Definition at line 763 of file slim.cpp.
References BLI_assert, build_linear_system(), slim::SLIMData::dim, i, L, slim::SLIMData::rhs, slim::SLIMData::v_n, and slim::SLIMData::valid.
Referenced by slim_solve().
|
inline |
Definition at line 26 of file edge_lengths.cpp.
References assert, F, i, L, blender::threading::parallel_for(), and V.
Referenced by cotmatrix_entries(), and edge_lengths().
|
static |
Definition at line 24 of file slim_parametrizer.cpp.
References i, slim::MatrixTransferChart::succeeded, slim::MatrixTransferChart::uv_matrices, and slim::MatrixTransferChart::verts_num.
Referenced by slim::MatrixTransfer::parametrize(), slim::MatrixTransfer::parametrize_live(), and slim::MatrixTransferChart::transfer_uvs_blended().
| void slim::transform_initialization_if_necessary | ( | SLIMData & | slim_data | ) |
Definition at line 230 of file least_squares_relocator.cpp.
References BLI_assert, is_translation_needed(), transform_initialized_map(), and slim::SLIMData::valid.
Referenced by slim::GeometryData::construct_slim_data().
|
static |
Definition at line 187 of file least_squares_relocator.cpp.
References apply_transformation(), apply_translation(), slim::SLIMData::b, BLI_assert, comput_least_squares_rotation_scale_only(), compute_transformation_matrix2_pins(), compute_translation1_pin(), slim::SLIMData::reflection_mode, and slim::SLIMData::valid.
Referenced by transform_initialization_if_necessary().
| void slim::tutte | ( | const Eigen::MatrixXi & | f, |
| const Eigen::MatrixXd & | v, | ||
| const Eigen::MatrixXi & | e, | ||
| const Eigen::VectorXd & | el, | ||
| const Eigen::VectorXi & | bnd, | ||
| const Eigen::MatrixXd & | bnd_uv, | ||
| Eigen::MatrixXd & | uv ) |
Definition at line 234 of file uv_initializer.cpp.
References convex_border_parameterization(), e, TUTTE, and v.
|
inlinestatic |
Definition at line 289 of file slim.cpp.
References slim::SLIMData::ARAP, BLI_assert, compute_jacobians(), slim::SLIMData::CONFORMAL, e, eps, exp, slim::SLIMData::EXP_CONFORMAL, slim::SLIMData::exp_factor, slim::SLIMData::EXP_SYMMETRIC_DIRICHLET, i, slim::SLIMData::Ji, log, slim::SLIMData::LOG_ARAP, polar_svd(), pow, slim::SLIMData::Ri, slim::SLIMData::slim_energy, sqrt, slim::SLIMData::SYMMETRIC_DIRICHLET, slim::SLIMData::valid, slim::SLIMData::W_11, slim::SLIMData::W_12, slim::SLIMData::W_21, and slim::SLIMData::W_22.
Referenced by slim_solve().