|
Blender V4.3
|
#include <stdbool.h>Go to the source code of this file.
Typedefs | |
| typedef struct LinearSolver | LinearSolver |
Functions | |
| LinearSolver * | EIG_linear_solver_new (int num_rows, int num_columns, int num_right_hand_sides) |
| LinearSolver * | EIG_linear_least_squares_solver_new (int num_rows, int num_columns, int num_right_hand_sides) |
| void | EIG_linear_solver_delete (LinearSolver *solver) |
| void | EIG_linear_solver_variable_set (LinearSolver *solver, int rhs, int index, double value) |
| double | EIG_linear_solver_variable_get (LinearSolver *solver, int rhs, int index) |
| void | EIG_linear_solver_variable_lock (LinearSolver *solver, int index) |
| void | EIG_linear_solver_variable_unlock (LinearSolver *solver, int index) |
| void | EIG_linear_solver_matrix_add (LinearSolver *solver, int row, int col, double value) |
| void | EIG_linear_solver_right_hand_side_add (LinearSolver *solver, int rhs, int index, double value) |
| bool | EIG_linear_solver_solve (LinearSolver *solver) |
| void | EIG_linear_solver_print_matrix (LinearSolver *solver) |
Sparse linear solver.
Definition in file linear_solver.h.
| typedef struct LinearSolver LinearSolver |
Definition at line 21 of file linear_solver.h.
| LinearSolver * EIG_linear_least_squares_solver_new | ( | int | num_rows, |
| int | num_columns, | ||
| int | num_right_hand_sides ) |
Definition at line 107 of file linear_solver.cc.
Referenced by adjust_the_cycle_or_chain(), bmo_smooth_laplacian_vert_exec(), laplacian_system_construct_begin(), laplacianDeformPreview(), laplaciansmoothModifier_do(), and blender::geometry::p_chart_lscm_begin().
| void EIG_linear_solver_delete | ( | LinearSolver * | solver | ) |
Definition at line 112 of file linear_solver.cc.
Referenced by adjust_the_cycle_or_chain(), delete_laplacian_system(), delete_laplacian_system(), deleteLaplacianSystem(), laplacian_system_delete(), laplaciansmoothModifier_do(), meshdeform_matrix_solve(), blender::geometry::p_abf_matrix_invert(), and blender::geometry::p_chart_lscm_end().
| void EIG_linear_solver_matrix_add | ( | LinearSolver * | solver, |
| int | row, | ||
| int | col, | ||
| double | value ) |
Definition at line 215 of file linear_solver.cc.
References col, LinearSolver::Coeff::index, LinearSolver::least_squares, linear_solver_ensure_matrix_construct(), LinearSolver::Mtriplets, LinearSolver::state, LinearSolver::STATE_MATRIX_SOLVED, LinearSolver::Coeff::value, and LinearSolver::variable.
Referenced by adjust_the_cycle_or_chain(), bmo_smooth_laplacian_vert_exec(), fill_laplacian_matrix(), fill_laplacian_matrix(), initLaplacianMatrix(), laplacian_system_construct_end(), laplacian_triangle_weights(), laplacianDeformPreview(), laplaciansmoothModifier_do(), meshdeform_matrix_add_cell(), blender::geometry::p_abf_matrix_invert(), and blender::geometry::p_chart_lscm_solve().
| LinearSolver * EIG_linear_solver_new | ( | int | num_rows, |
| int | num_columns, | ||
| int | num_right_hand_sides ) |
Definition at line 102 of file linear_solver.cc.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), and blender::geometry::p_abf_matrix_invert().
| void EIG_linear_solver_print_matrix | ( | LinearSolver * | solver | ) |
Definition at line 349 of file linear_solver.cc.
References LinearSolver::b, LinearSolver::M, LinearSolver::MtM, LinearSolver::num_rhs, and rhs.
Referenced by adjust_the_cycle_or_chain().
| void EIG_linear_solver_right_hand_side_add | ( | LinearSolver * | solver, |
| int | rhs, | ||
| int | index, | ||
| double | value ) |
Definition at line 250 of file linear_solver.cc.
References LinearSolver::b, LinearSolver::least_squares, linear_solver_ensure_matrix_construct(), rhs, and LinearSolver::variable.
Referenced by adjust_the_cycle_or_chain(), bmo_smooth_laplacian_vert_exec(), laplacian_add_right_hand_side(), laplacianDeformPreview(), laplaciansmoothModifier_do(), meshdeform_matrix_add_rhs(), blender::geometry::p_abf_matrix_invert(), and rotateDifferentialCoordinates().
| bool EIG_linear_solver_solve | ( | LinearSolver * | solver | ) |
Definition at line 265 of file linear_solver.cc.
References b, LinearSolver::b, LinearSolver::least_squares, linear_solver_vector_to_variables(), LinearSolver::M, M, LinearSolver::m, LinearSolver::MtM, LinearSolver::Mtriplets, LinearSolver::n, LinearSolver::num_rhs, LinearSolver::num_variables, result, rhs, LinearSolver::sparseLU, LinearSolver::state, LinearSolver::STATE_MATRIX_CONSTRUCT, LinearSolver::STATE_MATRIX_SOLVED, LinearSolver::STATE_VARIABLES_CONSTRUCT, LinearSolver::variable, and LinearSolver::x.
Referenced by adjust_the_cycle_or_chain(), bmo_smooth_laplacian_vert_exec(), laplacian_system_solve(), laplacianDeformPreview(), laplaciansmoothModifier_do(), meshdeform_matrix_solve(), blender::geometry::p_abf_matrix_invert(), and blender::geometry::p_chart_lscm_solve().
| double EIG_linear_solver_variable_get | ( | LinearSolver * | solver, |
| int | rhs, | ||
| int | index ) |
Definition at line 124 of file linear_solver.cc.
References rhs, and LinearSolver::variable.
Referenced by adjust_the_cycle_or_chain(), laplacian_system_get_solution(), laplacianDeformPreview(), meshdeform_matrix_solve(), blender::geometry::p_abf_matrix_invert(), blender::geometry::p_chart_lscm_solve(), rotateDifferentialCoordinates(), validate_solution(), and validate_solution().
| void EIG_linear_solver_variable_lock | ( | LinearSolver * | solver, |
| int | index ) |
Definition at line 129 of file linear_solver.cc.
References LinearSolver::state, LinearSolver::STATE_VARIABLES_CONSTRUCT, and LinearSolver::variable.
Referenced by bmo_smooth_laplacian_vert_exec(), laplacian_begin_solve(), and blender::geometry::p_chart_lscm_solve().
| void EIG_linear_solver_variable_set | ( | LinearSolver * | solver, |
| int | rhs, | ||
| int | index, | ||
| double | value ) |
Definition at line 119 of file linear_solver.cc.
References rhs, and LinearSolver::variable.
Referenced by bmo_smooth_laplacian_vert_exec(), laplacian_begin_solve(), laplacianDeformPreview(), laplaciansmoothModifier_do(), and blender::geometry::p_chart_lscm_solve().
| void EIG_linear_solver_variable_unlock | ( | LinearSolver * | solver, |
| int | index ) |
Definition at line 137 of file linear_solver.cc.
References LinearSolver::state, LinearSolver::STATE_VARIABLES_CONSTRUCT, and LinearSolver::variable.
Referenced by bmo_smooth_laplacian_vert_exec().