|
Blender V4.5
|
#include "BLI_math_geom.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_screen_types.h"#include "MEM_guardedalloc.h"#include "BKE_deform.hh"#include "BKE_modifier.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_prototypes.hh"#include "MOD_ui_common.hh"#include "MOD_util.hh"#include "eigen_capi.h"Go to the source code of this file.
Functions | |
| static void | delete_laplacian_system (LaplacianSystem *sys) |
| static void | memset_laplacian_system (LaplacianSystem *sys, int val) |
| static LaplacianSystem * | init_laplacian_system (int a_numEdges, int a_numLoops, int a_numVerts) |
| static float | compute_volume (const float center[3], float(*vertexCos)[3], const blender::OffsetIndices< int > faces, const blender::Span< int > corner_verts) |
| static void | volume_preservation (LaplacianSystem *sys, float vini, float vend, short flag) |
| static void | init_laplacian_matrix (LaplacianSystem *sys) |
| static void | fill_laplacian_matrix (LaplacianSystem *sys) |
| static void | validate_solution (LaplacianSystem *sys, short flag, float lambda, float lambda_border) |
| static void | laplaciansmoothModifier_do (LaplacianSmoothModifierData *smd, Object *ob, Mesh *mesh, float(*vertexCos)[3], int verts_num) |
| static void | init_data (ModifierData *md) |
| static bool | is_disabled (const Scene *, ModifierData *md, bool) |
| static void | required_data_mask (ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
| static void | deform_verts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions) |
| static void | panel_draw (const bContext *, Panel *panel) |
| static void | panel_register (ARegionType *region_type) |
Variables | |
| ModifierTypeInfo | modifierType_LaplacianSmooth |
|
static |
Definition at line 109 of file MOD_laplaciansmooth.cc.
References fabsf, faces, i, blender::IndexRange::size(), blender::IndexRange::start(), and volume_tetrahedron_signed_v3().
Referenced by validate_solution().
|
static |
Definition at line 501 of file MOD_laplaciansmooth.cc.
References blender::MutableSpan< T >::data(), blender::MutableSpan< T >::is_empty(), laplaciansmoothModifier_do(), ModifierEvalContext::object, and blender::MutableSpan< T >::size().
|
static |
Definition at line 61 of file MOD_laplaciansmooth.cc.
References LaplacianSystem::context, EIG_linear_solver_delete(), LaplacianSystem::fweights, and MEM_SAFE_FREE.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 241 of file MOD_laplaciansmooth.cc.
References LaplacianSystem::context, EIG_linear_solver_matrix_add(), LaplacianSystem::faces, LaplacianSystem::fweights, i, blender::IndexRange::size(), and blender::IndexRange::start().
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 467 of file MOD_laplaciansmooth.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 158 of file MOD_laplaciansmooth.cc.
References area_tri_v3(), cotangent_tri_weight_v3(), LaplacianSystem::faces, LaplacianSystem::fweights, i, len_v3v3(), blender::IndexRange::size(), blender::IndexRange::start(), and v2.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 91 of file MOD_laplaciansmooth.cc.
References LaplacianSystem::fweights, MEM_calloc_arrayN(), and LaplacianSystem::verts_num.
Referenced by laplaciansmoothModifier_do().
|
static |
Definition at line 476 of file MOD_laplaciansmooth.cc.
References flag, LaplacianSmoothModifierData::flag, MOD_LAPLACIANSMOOTH_X, MOD_LAPLACIANSMOOTH_Y, and MOD_LAPLACIANSMOOTH_Z.
|
static |
Definition at line 354 of file MOD_laplaciansmooth.cc.
References add_v3_v3(), BKE_defvert_find_weight(), LaplacianSystem::context, Mesh::corners_num, LaplacianSmoothModifierData::defgrp_name, delete_laplacian_system(), Mesh::edges_num, 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, LaplacianSystem::faces, fill_laplacian_matrix(), LaplacianSmoothModifierData::flag, i, init_laplacian_matrix(), init_laplacian_system(), LaplacianSmoothModifierData::lambda, LaplacianSmoothModifierData::lambda_border, memset_laplacian_system(), MOD_get_vgroup(), MOD_LAPLACIANSMOOTH_INVERT_VGROUP, MOD_LAPLACIANSMOOTH_NORMALIZED, mul_v3_fl(), LaplacianSmoothModifierData::repeat, validate_solution(), and w().
Referenced by deform_verts().
|
static |
Definition at line 79 of file MOD_laplaciansmooth.cc.
References LaplacianSystem::fweights, and LaplacianSystem::verts_num.
Referenced by laplaciansmoothModifier_do().
Definition at line 517 of file MOD_laplaciansmooth.cc.
References IFACE_, Panel::layout, modifier_error_message_draw(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), uiLayout::prop(), ptr, uiLayout::row(), UI_ITEM_NONE, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_TOGGLE, and uiLayoutSetPropSep().
|
static |
Definition at line 546 of file MOD_laplaciansmooth.cc.
References eModifierType_LaplacianSmooth, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 491 of file MOD_laplaciansmooth.cc.
References CD_MASK_MDEFORMVERT, LaplacianSmoothModifierData::defgrp_name, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 321 of file MOD_laplaciansmooth.cc.
References compute_volume(), LaplacianSystem::context, EIG_linear_solver_variable_get(), LaplacianSystem::faces, flag, i, 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 134 of file MOD_laplaciansmooth.cc.
References beta(), flag, i, MOD_LAPLACIANSMOOTH_X, MOD_LAPLACIANSMOOTH_Y, MOD_LAPLACIANSMOOTH_Z, pow, and LaplacianSystem::verts_num.
Referenced by validate_solution().
| ModifierTypeInfo modifierType_LaplacianSmooth |
Definition at line 551 of file MOD_laplaciansmooth.cc.