Blender
V3.3
|
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLI_simd.h"
#include "BLI_task.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_scene_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_editmesh.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_mesh.h"
#include "BKE_mesh_runtime.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "BLO_read_write.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MEM_guardedalloc.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
Go to the source code of this file.
Classes | |
struct | MeshdeformUserdata |
Macros | |
#define | MESHDEFORM_MIN_INFLUENCE 0.00001f |
Typedefs | |
typedef struct MeshdeformUserdata | MeshdeformUserdata |
Variables | |
ModifierTypeInfo | modifierType_MeshDeform |
#define MESHDEFORM_MIN_INFLUENCE 0.00001f |
Definition at line 481 of file MOD_meshdeform.c.
typedef struct MeshdeformUserdata MeshdeformUserdata |
void BKE_modifier_mdef_compact_influences | ( | struct ModifierData * | md | ) |
Here for do_versions.
Definition at line 483 of file MOD_meshdeform.c.
References Freestyle::a, usdtokens::b(), MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::influences_num, MEM_calloc_arrayN, MEM_freeN, MESHDEFORM_MIN_INFLUENCE, NULL, MDefInfluence::vertex, MeshDeformModifierData::verts_num, and MDefInfluence::weight.
Referenced by do_version_mdef_250(), and ED_mesh_deform_bind_callback().
|
static |
Definition at line 630 of file MOD_meshdeform.c.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, BLO_read_data_address, BLO_read_float3_array(), BLO_read_float_array(), BLO_read_int32_array(), MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dynverts, and MeshDeformModifierData::verts_num.
|
static |
Definition at line 584 of file MOD_meshdeform.c.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, BLI_assert, BLO_write_float3_array(), BLO_write_int32_array(), BLO_write_is_undo(), BLO_write_struct_array, BLO_write_struct_at_address, MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngridsize, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dynverts, eModifierFlag_OverrideLibrary_Local, ModifierData::flag, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY, MeshDeformModifierData::influences_num, NULL, size(), and MeshDeformModifierData::verts_num.
|
static |
Definition at line 89 of file MOD_meshdeform.c.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, BKE_modifier_copydata_generic(), MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dynverts, and MEM_dupallocN.
|
static |
Definition at line 441 of file MOD_meshdeform.c.
References BKE_id_free(), ELEM, mesh, meshdeformModifier_do(), MOD_deform_mesh_eval_get(), MOD_previous_vcos_store(), NULL, and ModifierEvalContext::object.
|
static |
Definition at line 459 of file MOD_meshdeform.c.
References BKE_id_free(), BKE_mesh_wrapper_ensure_mdata(), ELEM, mesh, meshdeformModifier_do(), MOD_deform_mesh_eval_get(), NULL, and ModifierEvalContext::object.
|
static |
Definition at line 148 of file MOD_meshdeform.c.
References IDWALK_CB_NOP, and MeshDeformModifierData::object.
|
static |
Definition at line 59 of file MOD_meshdeform.c.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dynverts, and MEM_freeN.
|
static |
Definition at line 50 of file MOD_meshdeform.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 134 of file MOD_meshdeform.c.
References OB_MESH, MeshDeformModifierData::object, and Object::type.
|
static |
Definition at line 166 of file MOD_meshdeform.c.
References Freestyle::a, CLAMP, copy_v3_v3(), MeshDeformModifierData::dyncellmin, MeshDeformModifierData::dyncellwidth, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngridsize, MeshDeformModifierData::dyninfluences, MDefCell::influences_num, MDefCell::offset, size(), MDefInfluence::vertex, MDefInfluence::weight, x, y, and z.
Referenced by meshdeform_vert_task().
|
static |
Definition at line 265 of file MOD_meshdeform.c.
References Freestyle::a, add_v3_v3(), MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, BKE_defvert_find_weight(), data, MeshDeformModifierData::dynverts, MeshDeformModifierData::flag, float(), madd_v3_v3fl(), meshdeform_dynamic_bind(), MOD_MDEF_DYNAMIC_BIND, MOD_MDEF_INVERT_VGROUP, mul_m3_v3(), mul_v3_fl(), mul_v3_m4v3(), and zero_v3().
Referenced by meshdeformModifier_do().
|
static |
Definition at line 323 of file MOD_meshdeform.c.
References Freestyle::a, MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindfunc, MeshDeformModifierData::bindmat, BKE_mesh_wrapper_vert_coords_copy(), BKE_mesh_wrapper_vert_len(), BKE_modifier_get_evaluated_mesh_from_evaluated_object(), BKE_modifier_set_error(), BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), MeshDeformModifierData::cage_verts_num, copy_m3_m4(), data, MeshDeformModifierData::defgrp_name, DEG_is_active(), ModifierEvalContext::depsgraph, float(), invert_m4_m4(), MEM_calloc_arrayN, MEM_SAFE_FREE, mesh, meshdeform_vert_task(), TaskParallelSettings::min_iter_per_thread, MOD_get_vgroup(), mul_m4_m4m4(), mul_v3_m4v3(), NULL, ModifierEvalContext::object, MeshDeformModifierData::object, Object::obmat, sub_v3_v3v3(), MeshDeformModifierData::verts_num, and zero_v3().
Referenced by deformVerts(), and deformVertsEM().
Definition at line 548 of file MOD_meshdeform.c.
References col, IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), NULL, ptr, RNA_boolean_get(), uiItemO(), uiItemR(), uiLayoutColumn(), uiLayoutSetEnabled(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 579 of file MOD_meshdeform.c.
References eModifierType_MeshDeform, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 122 of file MOD_meshdeform.c.
References CD_MASK_MDEFORMVERT, MeshDeformModifierData::defgrp_name, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 155 of file MOD_meshdeform.c.
References DEG_add_modifier_to_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, NULL, and MeshDeformModifierData::object.
ModifierTypeInfo modifierType_MeshDeform |
Definition at line 652 of file MOD_meshdeform.c.