Blender
V3.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 *me, float(*verts)[3], int numbones, struct bDeformGroup **dgrouplist, struct bDeformGroup **dgroupflip, float(*root)[3], float(*tip)[3], const int *selected, const char **error_str) |
BIF_meshlaplacian.h: Algorithms using the mesh laplacian.
Definition in file meshlaplacian.h.
typedef struct LaplacianSystem LaplacianSystem |
Definition at line 1 of file meshlaplacian.h.
void heat_bone_weighting | ( | struct Object * | ob, |
struct Mesh * | me, | ||
float(*) | verts[3], | ||
int | numbones, | ||
struct bDeformGroup ** | dgrouplist, | ||
struct bDeformGroup ** | dgroupflip, | ||
float(*) | root[3], | ||
float(*) | tip[3], | ||
const int * | selected, | ||
const char ** | error_str | ||
) |
Definition at line 635 of file meshlaplacian.c.
References Freestyle::a, BKE_mesh_recalc_looptri(), ED_vgroup_vert_add(), ED_vgroup_vert_remove(), ED_vgroup_vert_weight(), Mesh::editflag, MVert::flag, MPoly::flag, 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(), MPoly::loopstart, mask(), ME_EDIT_MIRROR_TOPO, ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, ME_FACE_SEL, MEM_callocN, MEM_freeN, MEM_mallocN, mesh_get_x_mirror_vert(), LaplacianSystem::HeatWeighting::mloop, Mesh::mloop, LaplacianSystem::HeatWeighting::mlooptri, Object::mode, Mesh::mpoly, Mesh::mvert, N_, NULL, LaplacianSystem::HeatWeighting::numsource, OB_MODE_WEIGHT_PAINT, LaplacianSystem::HeatWeighting::p, poly_to_tri_count(), LaplacianSystem::HeatWeighting::root, SELECT, BVHCallbackUserData::sys, LaplacianSystem::HeatWeighting::tip, Mesh::totloop, Mesh::totpoly, Mesh::totvert, LaplacianSystem::HeatWeighting::tris_num, MLoop::v, LaplacianSystem::HeatWeighting::verts, verts, LaplacianSystem::HeatWeighting::verts_num, 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 343 of file meshlaplacian.c.
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 239 of file meshlaplacian.c.
References LaplacianSystem::faces, LaplacianSystem::faces_num, v1, and v2.
Referenced by heat_laplacian_create().
void laplacian_add_vertex | ( | LaplacianSystem * | sys, |
float * | co, | ||
int | pinned | ||
) |
Definition at line 232 of file meshlaplacian.c.
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 325 of file meshlaplacian.c.
References Freestyle::a, 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 357 of file meshlaplacian.c.
References LaplacianSystem::context, EIG_linear_solver_variable_get(), and v.
Referenced by heat_bone_weighting().
int laplacian_system_solve | ( | LaplacianSystem * | sys | ) |
Definition at line 348 of file meshlaplacian.c.
References LaplacianSystem::context, EIG_linear_solver_solve(), and LaplacianSystem::variablesdone.
Referenced by heat_bone_weighting().