Blender  V3.3
Classes | Macros | Typedefs | Functions | Variables
MOD_meshdeform.c File Reference
#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
 

Functions

static void initData (ModifierData *md)
 
static void freeData (ModifierData *md)
 
static void copyData (const ModifierData *md, ModifierData *target, const int flag)
 
static void requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
 
static bool isDisabled (const struct Scene *UNUSED(scene), ModifierData *md, bool UNUSED(useRenderParams))
 
static void foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
 
static void updateDepsgraph (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 UNUSED(tls))
 
static void meshdeformModifier_do (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], const int verts_num)
 
static void deformVerts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], int verts_num)
 
static void deformVertsEM (ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData, Mesh *mesh, float(*vertexCos)[3], int verts_num)
 
void BKE_modifier_mdef_compact_influences (ModifierData *md)
 
static void panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void panelRegister (ARegionType *region_type)
 
static void blendWrite (BlendWriter *writer, const ID *id_owner, const ModifierData *md)
 
static void blendRead (BlendDataReader *reader, ModifierData *md)
 

Variables

ModifierTypeInfo modifierType_MeshDeform
 

Macro Definition Documentation

◆ MESHDEFORM_MIN_INFLUENCE

#define MESHDEFORM_MIN_INFLUENCE   0.00001f

Definition at line 481 of file MOD_meshdeform.c.

Typedef Documentation

◆ MeshdeformUserdata

Function Documentation

◆ BKE_modifier_mdef_compact_influences()

void BKE_modifier_mdef_compact_influences ( struct ModifierData *  md)

◆ blendRead()

static void blendRead ( BlendDataReader *  reader,
ModifierData *  md 
)
static

◆ blendWrite()

static void blendWrite ( BlendWriter *  writer,
const ID *  id_owner,
const ModifierData *  md 
)
static

◆ copyData()

static void copyData ( const ModifierData *  md,
ModifierData *  target,
const int  flag 
)
static

◆ deformVerts()

static void deformVerts ( ModifierData *  md,
const ModifierEvalContext *  ctx,
Mesh *  mesh,
float(*)  vertexCos[3],
int  verts_num 
)
static

◆ deformVertsEM()

static void deformVertsEM ( ModifierData *  md,
const ModifierEvalContext *  ctx,
struct BMEditMesh *  editData,
Mesh *  mesh,
float(*)  vertexCos[3],
int  verts_num 
)
static

◆ foreachIDLink()

static void foreachIDLink ( ModifierData *  md,
Object *  ob,
IDWalkFunc  walk,
void *  userData 
)
static

Definition at line 148 of file MOD_meshdeform.c.

References IDWALK_CB_NOP, and MeshDeformModifierData::object.

◆ freeData()

static void freeData ( ModifierData *  md)
static

◆ initData()

static void initData ( ModifierData *  md)
static

◆ isDisabled()

static bool isDisabled ( const struct Scene *  UNUSEDscene,
ModifierData *  md,
bool   UNUSEDuseRenderParams 
)
static

Definition at line 134 of file MOD_meshdeform.c.

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

◆ meshdeform_dynamic_bind()

static float meshdeform_dynamic_bind ( MeshDeformModifierData *  mmd,
float(*)  dco[3],
float  vec[3] 
)
static

◆ meshdeform_vert_task()

static void meshdeform_vert_task ( void *__restrict  userdata,
const int  iter,
const TaskParallelTLS *__restrict   UNUSEDtls 
)
static

◆ meshdeformModifier_do()

static void meshdeformModifier_do ( ModifierData *  md,
const ModifierEvalContext *  ctx,
Mesh *  mesh,
float(*)  vertexCos[3],
const int  verts_num 
)
static

◆ panel_draw()

static void panel_draw ( const bContext *  UNUSEDC,
Panel *  panel 
)
static

◆ panelRegister()

static void panelRegister ( ARegionType *  region_type)
static

◆ requiredDataMask()

static void requiredDataMask ( Object *  UNUSEDob,
ModifierData *  md,
CustomData_MeshMasks *  r_cddata_masks 
)
static

◆ updateDepsgraph()

static void updateDepsgraph ( ModifierData *  md,
const ModifierUpdateDepsgraphContext *  ctx 
)
static

Variable Documentation

◆ modifierType_MeshDeform

ModifierTypeInfo modifierType_MeshDeform

Definition at line 652 of file MOD_meshdeform.c.