|
Blender V5.0
|
#include "BLI_utildefines.h"#include "BLI_array.hh"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_simd.hh"#include "BLI_task.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "DNA_screen_types.h"#include "BKE_deform.hh"#include "BKE_lib_query.hh"#include "BKE_mesh_wrapper.hh"#include "BKE_modifier.hh"#include "UI_interface_layout.hh"#include "UI_resources.hh"#include "BLO_read_write.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "MEM_guardedalloc.h"#include "DEG_depsgraph.hh"#include "MOD_ui_common.hh"#include "MOD_util.hh"Go to the source code of this file.
Classes | |
| struct | MeshdeformUserdata |
Macros | |
| #define | MESHDEFORM_MIN_INFLUENCE 0.00001f |
Variables | |
| ModifierTypeInfo | modifierType_MeshDeform |
| #define MESHDEFORM_MIN_INFLUENCE 0.00001f |
Definition at line 431 of file MOD_meshdeform.cc.
| void BKE_modifier_mdef_compact_influences | ( | ModifierData * | md | ) |
Here for do_versions.
Definition at line 433 of file MOD_meshdeform.cc.
References b, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindinfluences_sharing_info, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindoffsets_sharing_info, MeshDeformModifierData::bindweights, MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::influences_num, blender::implicit_sharing::info_for_mem_free(), MEM_calloc_arrayN(), MEM_freeN(), MESHDEFORM_MIN_INFLUENCE, MDefInfluence::vertex, MeshDeformModifierData::verts_num, and MDefInfluence::weight.
Referenced by do_version_mdef_250(), and ED_mesh_deform_bind_callback().
|
static |
Definition at line 614 of file MOD_meshdeform.cc.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcagecos_sharing_info, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindinfluences_sharing_info, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindoffsets_sharing_info, MeshDeformModifierData::bindweights, BLO_read_float3_array(), BLO_read_float_array(), BLO_read_shared(), MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngrid_sharing_info, MeshDeformModifierData::dyngridsize, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dyninfluences_sharing_info, MeshDeformModifierData::dynverts, MeshDeformModifierData::dynverts_sharing_info, size(), and MeshDeformModifierData::verts_num.
|
static |
Definition at line 533 of file MOD_meshdeform.cc.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcagecos_sharing_info, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindinfluences_sharing_info, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindoffsets_sharing_info, BLI_assert, BLO_write_is_undo(), BLO_write_shared(), BLO_write_struct_at_address, MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngrid_sharing_info, MeshDeformModifierData::dyngridsize, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dyninfluences_sharing_info, MeshDeformModifierData::dynverts, MeshDeformModifierData::dynverts_sharing_info, eModifierFlag_OverrideLibrary_Local, ModifierData::flag, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY, MeshDeformModifierData::influences_num, size(), and MeshDeformModifierData::verts_num.
|
static |
Definition at line 72 of file MOD_meshdeform.cc.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcagecos_sharing_info, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindinfluences_sharing_info, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindoffsets_sharing_info, MeshDeformModifierData::bindweights, BKE_modifier_copydata_generic(), blender::implicit_sharing::copy_shared_pointer(), MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngrid_sharing_info, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dyninfluences_sharing_info, MeshDeformModifierData::dynverts, MeshDeformModifierData::dynverts_sharing_info, flag, and MEM_dupallocN().
|
static |
Definition at line 420 of file MOD_meshdeform.cc.
References blender::MutableSpan< T >::data(), meshdeformModifier_do(), MOD_previous_vcos_store(), and blender::MutableSpan< T >::size().
|
static |
Definition at line 130 of file MOD_meshdeform.cc.
References IDWALK_CB_NOP, and MeshDeformModifierData::object.
|
static |
Definition at line 53 of file MOD_meshdeform.cc.
References MeshDeformModifierData::bindcagecos, MeshDeformModifierData::bindcagecos_sharing_info, MeshDeformModifierData::bindcos, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindinfluences_sharing_info, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindoffsets_sharing_info, MeshDeformModifierData::bindweights, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngrid_sharing_info, MeshDeformModifierData::dyninfluences, MeshDeformModifierData::dyninfluences_sharing_info, MeshDeformModifierData::dynverts, MeshDeformModifierData::dynverts_sharing_info, blender::implicit_sharing::free_shared_data(), and MEM_freeN().
|
static |
Definition at line 44 of file MOD_meshdeform.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 118 of file MOD_meshdeform.cc.
References OB_MESH, MeshDeformModifierData::object, and Object::type.
|
static |
Definition at line 148 of file MOD_meshdeform.cc.
References CLAMP, copy_v3_v3(), MeshDeformModifierData::dyncellmin, MeshDeformModifierData::dyncellwidth, MeshDeformModifierData::dyngrid, MeshDeformModifierData::dyngridsize, MeshDeformModifierData::dyninfluences, i, MDefCell::influences_num, MDefCell::offset, size(), MDefInfluence::vertex, MDefInfluence::weight, x, y, and z().
Referenced by meshdeform_vert_task().
|
static |
Definition at line 247 of file MOD_meshdeform.cc.
References 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 305 of file MOD_meshdeform.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), 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(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), data, MeshDeformModifierData::defgrp_name, DEG_is_active(), ModifierEvalContext::depsgraph, float, invert_m4_m4(), meshdeform_vert_task(), TaskParallelSettings::min_iter_per_thread, MOD_get_vgroup(), mul_m4_m4m4(), mul_v3_m4v3(), MeshDeformModifierData::object, ModifierEvalContext::object, sub_v3_v3v3(), MeshDeformModifierData::verts_num, and zero_v3().
Referenced by deform_verts().
Definition at line 500 of file MOD_meshdeform.cc.
References col, uiLayout::column(), IFACE_, Panel::layout, modifier_error_message_draw(), modifier_panel_get_property_pointers(), modifier_vgroup_ui(), uiLayout::op(), ptr, RNA_boolean_get(), UI_ITEM_NONE, and uiLayout::use_property_split_set().
|
static |
Definition at line 528 of file MOD_meshdeform.cc.
References eModifierType_MeshDeform, modifier_panel_register(), and panel_draw().
|
static |
Definition at line 108 of file MOD_meshdeform.cc.
References CD_MASK_MDEFORMVERT, MeshDeformModifierData::defgrp_name, and CustomData_MeshMasks::vmask.
|
static |
Definition at line 137 of file MOD_meshdeform.cc.
References DEG_add_depends_on_transform_relation(), DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, and MeshDeformModifierData::object.
| ModifierTypeInfo modifierType_MeshDeform |
Definition at line 667 of file MOD_meshdeform.cc.