Blender
V3.3
|
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "MEM_guardedalloc.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_editmesh.h"
#include "BKE_lib_id.h"
#include "BKE_mesh.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "eigen_capi.h"
Go to the source code of this file.
Classes | |
struct | BLaplacianSystem |
Typedefs | |
typedef struct BLaplacianSystem | LaplacianSystem |
Variables | |
ModifierTypeInfo | modifierType_LaplacianSmooth |
typedef struct BLaplacianSystem LaplacianSystem |
Definition at line 1 of file MOD_laplaciansmooth.c.
|
static |
Definition at line 145 of file MOD_laplaciansmooth.c.
References center, fabsf, MPoly::loopstart, BLaplacianSystem::mloop, BLaplacianSystem::mpoly, BLaplacianSystem::polys_num, MPoly::totloop, MLoop::v, BLaplacianSystem::vertexCos, and volume_tetrahedron_signed_v3().
Referenced by validate_solution().
|
static |
Definition at line 526 of file MOD_laplaciansmooth.c.
References BKE_id_free(), ELEM, laplaciansmoothModifier_do(), mesh, MOD_deform_mesh_eval_get(), NULL, ModifierEvalContext::object, BLaplacianSystem::vertexCos, and BLaplacianSystem::verts_num.
|
static |
Definition at line 548 of file MOD_laplaciansmooth.c.
References BKE_id_free(), BKE_mesh_wrapper_ensure_mdata(), ELEM, laplaciansmoothModifier_do(), mesh, MOD_deform_mesh_eval_get(), NULL, ModifierEvalContext::object, BLaplacianSystem::vertexCos, and BLaplacianSystem::verts_num.
|
static |
Definition at line 88 of file MOD_laplaciansmooth.c.
References LaplacianSystem::context, EIG_linear_solver_delete(), LaplacianSystem::fweights, MEM_freeN, MEM_SAFE_FREE, and NULL.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 273 of file MOD_laplaciansmooth.c.
References LaplacianSystem::context, LaplacianSystem::edges_num, EIG_linear_solver_matrix_add(), LaplacianSystem::fweights, MPoly::loopstart, MPoly::totloop, and MLoop::v.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 488 of file MOD_laplaciansmooth.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Referenced by color_balance_init_handle(), display_buffer_apply_threaded(), display_buffer_init_handle(), do_gaussian_blur_effect(), IMB_scaleImBuf_threaded(), modifier_apply_threaded(), modifier_color_balance_apply(), modifier_init_handle(), processor_transform_apply_threaded(), processor_transform_init_handle(), render_effect_execute_init_handle(), scale_thread_init(), seq_render_effect_execute_threaded(), and wm_block_search_menu().
|
static |
Definition at line 194 of file MOD_laplaciansmooth.c.
References area_tri_v3(), cotangent_tri_weight_v3(), LaplacianSystem::edges_num, LaplacianSystem::fweights, len_v3v3(), MPoly::loopstart, BLaplacianSystem::min_area, MPoly::totloop, MLoop::v, v1, and v2.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 121 of file MOD_laplaciansmooth.c.
References LaplacianSystem::edges_num, LaplacianSystem::fweights, MEM_calloc_arrayN, MEM_callocN, and LaplacianSystem::verts_num.
Referenced by laplaciansmoothModifier_do().
|
static |
|
static |
Definition at line 497 of file MOD_laplaciansmooth.c.
References LaplacianSmoothModifierData::flag, MOD_LAPLACIANSMOOTH_X, MOD_LAPLACIANSMOOTH_Y, and MOD_LAPLACIANSMOOTH_Z.
|
static |
Definition at line 375 of file MOD_laplaciansmooth.c.
References add_v3_v3(), BKE_defvert_find_weight(), LaplacianSystem::context, LaplacianSmoothModifierData::defgrp_name, delete_laplacian_system(), EIG_linear_least_squares_solver_new(), EIG_linear_solver_delete(), EIG_linear_solver_matrix_add(), EIG_linear_solver_right_hand_side_add(), EIG_linear_solver_solve(), EIG_linear_solver_variable_set(), fabsf, fill_laplacian_matrix(), LaplacianSmoothModifierData::flag, init_laplacian_matrix(), init_laplacian_system(), LaplacianSmoothModifierData::lambda, LaplacianSmoothModifierData::lambda_border, Mesh::medge, memset_laplacian_system(), mesh, Mesh::mloop, MOD_get_vgroup(), MOD_LAPLACIANSMOOTH_INVERT_VGROUP, MOD_LAPLACIANSMOOTH_NORMALIZED, Mesh::mpoly, mul_v3_fl(), NULL, LaplacianSmoothModifierData::repeat, Mesh::totedge, Mesh::totloop, Mesh::totpoly, validate_solution(), BLaplacianSystem::vertexCos, BLaplacianSystem::verts_num, and w().
Referenced by deformVerts(), and deformVertsEM().
|
static |
Definition at line 109 of file MOD_laplaciansmooth.c.
References LaplacianSystem::edges_num, LaplacianSystem::fweights, and LaplacianSystem::verts_num.
Referenced by laplaciansmoothModifier_do().
Definition at line 576 of file MOD_laplaciansmooth.c.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), NULL, ptr, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_TOGGLE, uiItemR(), uiLayoutRowWithHeading(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 605 of file MOD_laplaciansmooth.c.
References eModifierType_LaplacianSmooth, modifier_panel_register(), and panel_draw().
|
static |
|
static |
Definition at line 514 of file MOD_laplaciansmooth.c.
References CD_MASK_MDEFORMVERT, LaplacianSmoothModifierData::defgrp_name, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 340 of file MOD_laplaciansmooth.c.
References compute_volume(), LaplacianSystem::context, EIG_linear_solver_variable_get(), float(), MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME, MOD_LAPLACIANSMOOTH_X, MOD_LAPLACIANSMOOTH_Y, MOD_LAPLACIANSMOOTH_Z, LaplacianSystem::verts_num, and volume_preservation().
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 170 of file MOD_laplaciansmooth.c.
References beta(), MOD_LAPLACIANSMOOTH_X, MOD_LAPLACIANSMOOTH_Y, MOD_LAPLACIANSMOOTH_Z, pow(), and LaplacianSystem::verts_num.
Referenced by validate_solution().
ModifierTypeInfo modifierType_LaplacianSmooth |
Definition at line 610 of file MOD_laplaciansmooth.c.