Blender V4.3
MOD_meshdeform.cc File Reference
#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.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
 

Functions

static void init_data (ModifierData *md)
 
static void free_data (ModifierData *md)
 
static void copy_data (const ModifierData *md, ModifierData *target, const int flag)
 
static void required_data_mask (ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
 
static bool is_disabled (const Scene *, ModifierData *md, bool)
 
static void foreach_ID_link (ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data)
 
static void update_depsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
 
static float meshdeform_dynamic_bind (MeshDeformModifierData *mmd, float(*dco)[3], float vec[3])
 
static void meshdeform_vert_task (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict)
 
static void meshdeformModifier_do (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], const int verts_num)
 
static void deform_verts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions)
 
void BKE_modifier_mdef_compact_influences (ModifierData *md)
 
static void panel_draw (const bContext *, Panel *panel)
 
static void panel_register (ARegionType *region_type)
 
static void blend_write (BlendWriter *writer, const ID *id_owner, const ModifierData *md)
 
static void blend_read (BlendDataReader *reader, ModifierData *md)
 

Variables

ModifierTypeInfo modifierType_MeshDeform
 

Macro Definition Documentation

◆ MESHDEFORM_MIN_INFLUENCE

#define MESHDEFORM_MIN_INFLUENCE   0.00001f

Definition at line 439 of file MOD_meshdeform.cc.

Referenced by BKE_modifier_mdef_compact_influences().

Function Documentation

◆ BKE_modifier_mdef_compact_influences()

◆ blend_read()

◆ blend_write()

◆ copy_data()

◆ deform_verts()

static void deform_verts ( ModifierData * md,
const ModifierEvalContext * ctx,
Mesh * mesh,
blender::MutableSpan< blender::float3 > positions )
static

Definition at line 428 of file MOD_meshdeform.cc.

References meshdeformModifier_do(), and MOD_previous_vcos_store().

◆ foreach_ID_link()

static void foreach_ID_link ( ModifierData * md,
Object * ob,
IDWalkFunc walk,
void * user_data )
static

Definition at line 138 of file MOD_meshdeform.cc.

References IDWALK_CB_NOP, and MeshDeformModifierData::object.

◆ free_data()

◆ init_data()

static void init_data ( ModifierData * md)
static

◆ is_disabled()

static bool is_disabled ( const Scene * ,
ModifierData * md,
bool  )
static

Definition at line 126 of file MOD_meshdeform.cc.

References OB_MESH, MeshDeformModifierData::object, and Object::type.

◆ meshdeform_dynamic_bind()

◆ meshdeform_vert_task()

◆ meshdeformModifier_do()

◆ panel_draw()

◆ panel_register()

static void panel_register ( ARegionType * region_type)
static

◆ required_data_mask()

static void required_data_mask ( ModifierData * md,
CustomData_MeshMasks * r_cddata_masks )
static

◆ update_depsgraph()

Variable Documentation

◆ modifierType_MeshDeform

ModifierTypeInfo modifierType_MeshDeform

Definition at line 611 of file MOD_meshdeform.cc.