|
Blender V4.3
|
Go to the source code of this file.
Typedefs | |
| typedef struct LaplacianSystem | LaplacianSystem |
Functions | |
| void | laplacian_add_vertex (LaplacianSystem *sys, float *co, int pinned) |
| void | laplacian_add_triangle (LaplacianSystem *sys, int v1, int v2, int v3) |
| void | laplacian_begin_solve (LaplacianSystem *sys, int index) |
| void | laplacian_add_right_hand_side (LaplacianSystem *sys, int v, float value) |
| int | laplacian_system_solve (LaplacianSystem *sys) |
| float | laplacian_system_get_solution (LaplacianSystem *sys, int v) |
| void | heat_bone_weighting (struct Object *ob, struct Mesh *mesh, float(*verts)[3], int numbones, struct bDeformGroup **dgrouplist, struct bDeformGroup **dgroupflip, float(*root)[3], float(*tip)[3], const bool *selected, const char **r_error_str) |
BIF_meshlaplacian.h: Algorithms using the mesh laplacian.
Definition in file meshlaplacian.h.
| typedef struct LaplacianSystem LaplacianSystem |
Definition at line 29 of file meshlaplacian.h.
| void heat_bone_weighting | ( | struct Object * | ob, |
| struct Mesh * | mesh, | ||
| float(*) | verts[3], | ||
| int | numbones, | ||
| struct bDeformGroup ** | dgrouplist, | ||
| struct bDeformGroup ** | dgroupflip, | ||
| float(*) | root[3], | ||
| float(*) | tip[3], | ||
| const bool * | selected, | ||
| const char ** | r_error_str ) |
Definition at line 630 of file meshlaplacian.cc.
References LaplacianSystem::HeatWeighting::corner_tris, blender::bke::mesh::corner_tris_calc(), LaplacianSystem::HeatWeighting::corner_verts, LaplacianSystem::HeatWeighting::H, LaplacianSystem::heat, heat_laplacian_create(), heat_limit_weight(), heat_ray_tree_create(), heat_source_closest(), heat_system_free(), laplacian_add_right_hand_side(), laplacian_begin_solve(), laplacian_system_construct_begin(), laplacian_system_construct_end(), laplacian_system_delete(), laplacian_system_get_solution(), laplacian_system_solve(), ME_EDIT_MIRROR_TOPO, ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, MEM_callocN, MEM_freeN(), MEM_mallocN, mesh_get_x_mirror_vert(), Object::mode, N_, LaplacianSystem::HeatWeighting::numsource, OB_MODE_WEIGHT_PAINT, LaplacianSystem::HeatWeighting::p, poly_to_tri_count(), LaplacianSystem::HeatWeighting::root, blender::Span< T >::slice(), LaplacianSystem::HeatWeighting::tip, LaplacianSystem::HeatWeighting::tris_num, LaplacianSystem::HeatWeighting::verts, verts, LaplacianSystem::HeatWeighting::verts_num, blender::ed::object::vgroup_vert_add(), blender::ed::object::vgroup_vert_remove(), blender::ed::object::vgroup_vert_weight(), WEIGHT_ADD, and WEIGHT_REPLACE.
Referenced by add_verts_to_dgroups().
| void laplacian_add_right_hand_side | ( | LaplacianSystem * | sys, |
| int | v, | ||
| float | value ) |
Definition at line 336 of file meshlaplacian.cc.
References LaplacianSystem::context, EIG_linear_solver_right_hand_side_add(), and v.
Referenced by heat_bone_weighting().
| void laplacian_add_triangle | ( | LaplacianSystem * | sys, |
| int | v1, | ||
| int | v2, | ||
| int | v3 ) |
Definition at line 234 of file meshlaplacian.cc.
References LaplacianSystem::faces, LaplacianSystem::faces_num, and v2.
Referenced by heat_laplacian_create().
| void laplacian_add_vertex | ( | LaplacianSystem * | sys, |
| float * | co, | ||
| int | pinned ) |
Definition at line 227 of file meshlaplacian.cc.
References LaplacianSystem::verts, LaplacianSystem::verts_num, and LaplacianSystem::vpinned.
Referenced by heat_laplacian_create().
| void laplacian_begin_solve | ( | LaplacianSystem * | sys, |
| int | index ) |
Definition at line 318 of file meshlaplacian.cc.
References LaplacianSystem::context, EIG_linear_solver_variable_lock(), EIG_linear_solver_variable_set(), LaplacianSystem::variablesdone, LaplacianSystem::verts, LaplacianSystem::verts_num, and LaplacianSystem::vpinned.
Referenced by heat_bone_weighting(), and laplacian_system_construct_end().
| float laplacian_system_get_solution | ( | LaplacianSystem * | sys, |
| int | v ) |
Definition at line 350 of file meshlaplacian.cc.
References LaplacianSystem::context, EIG_linear_solver_variable_get(), and v.
Referenced by heat_bone_weighting().
| int laplacian_system_solve | ( | LaplacianSystem * | sys | ) |
Definition at line 341 of file meshlaplacian.cc.
References LaplacianSystem::context, EIG_linear_solver_solve(), and LaplacianSystem::variablesdone.
Referenced by heat_bone_weighting().