Blender  V3.3
Macros | Functions | Variables
blenkernel/intern/modifier.c File Reference
#include <float.h>
#include <math.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_armature_types.h"
#include "DNA_cloth_types.h"
#include "DNA_dynamicpaint_types.h"
#include "DNA_fluid_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_fluidsim_types.h"
#include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_path_util.h"
#include "BLI_session_uuid.h"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_DerivedMesh.h"
#include "BKE_appdir.h"
#include "BKE_editmesh.h"
#include "BKE_editmesh_cache.h"
#include "BKE_effect.h"
#include "BKE_fluid.h"
#include "BKE_global.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_idtype.h"
#include "BKE_key.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_mesh.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_multires.h"
#include "BKE_object.h"
#include "BKE_pointcache.h"
#include "BKE_main.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "BLO_read_write.h"
#include "CLG_log.h"

Go to the source code of this file.

Macros

#define DNA_DEPRECATED_ALLOW
 

Functions

void BKE_modifier_init (void)
 
const ModifierTypeInfo * BKE_modifier_get_info (ModifierType type)
 
void BKE_modifier_type_panel_id (ModifierType type, char *r_idname)
 
void BKE_modifier_panel_expand (ModifierData *md)
 
static ModifierData * modifier_allocate_and_init (int type)
 
ModifierData * BKE_modifier_new (int type)
 
static void modifier_free_data_id_us_cb (void *UNUSED(userData), Object *UNUSED(ob), ID **idpoin, int cb_flag)
 
void BKE_modifier_free_ex (ModifierData *md, const int flag)
 
void BKE_modifier_free (ModifierData *md)
 
void BKE_modifier_remove_from_list (Object *ob, ModifierData *md)
 
void BKE_modifier_session_uuid_generate (ModifierData *md)
 
bool BKE_modifier_unique_name (ListBase *modifiers, ModifierData *md)
 
bool BKE_modifier_depends_ontime (Scene *scene, ModifierData *md)
 
bool BKE_modifier_supports_mapping (ModifierData *md)
 
bool BKE_modifier_is_preview (ModifierData *md)
 
ModifierData * BKE_modifiers_findby_type (const Object *ob, ModifierType type)
 
ModifierData * BKE_modifiers_findby_name (const Object *ob, const char *name)
 
ModifierData * BKE_modifiers_findby_session_uuid (const Object *ob, const SessionUUID *session_uuid)
 
void BKE_modifiers_clear_errors (Object *ob)
 
void BKE_modifiers_foreach_ID_link (Object *ob, IDWalkFunc walk, void *userData)
 
void BKE_modifiers_foreach_tex_link (Object *ob, TexWalkFunc walk, void *userData)
 
ModifierData * BKE_modifier_copy_ex (const ModifierData *md, int flag)
 
void BKE_modifier_copydata_generic (const ModifierData *md_src, ModifierData *md_dst, const int UNUSED(flag))
 
static void modifier_copy_data_id_us_cb (void *UNUSED(userData), Object *UNUSED(ob), ID **idpoin, int cb_flag)
 
void BKE_modifier_copydata_ex (const ModifierData *md, ModifierData *target, const int flag)
 
void BKE_modifier_copydata (const ModifierData *md, ModifierData *target)
 
bool BKE_modifier_supports_cage (struct Scene *scene, ModifierData *md)
 
bool BKE_modifier_couldbe_cage (struct Scene *scene, ModifierData *md)
 
bool BKE_modifier_is_same_topology (ModifierData *md)
 
bool BKE_modifier_is_non_geometrical (ModifierData *md)
 
void BKE_modifier_set_error (const Object *ob, ModifierData *md, const char *_format,...)
 
void BKE_modifier_set_warning (const struct Object *ob, struct ModifierData *md, const char *_format,...)
 
int BKE_modifiers_get_cage_index (const Scene *scene, Object *ob, int *r_lastPossibleCageIndex, bool is_virtual)
 
bool BKE_modifiers_is_softbody_enabled (Object *ob)
 
bool BKE_modifiers_is_cloth_enabled (Object *ob)
 
bool BKE_modifiers_is_modifier_enabled (Object *ob, int modifierType)
 
bool BKE_modifiers_is_particle_enabled (Object *ob)
 
bool BKE_modifier_is_enabled (const struct Scene *scene, ModifierData *md, int required_mode)
 
bool BKE_modifier_is_nonlocal_in_liboverride (const Object *ob, const ModifierData *md)
 
CDMaskLink * BKE_modifier_calc_data_masks (const struct Scene *scene, Object *ob, ModifierData *md, CustomData_MeshMasks *final_datamask, int required_mode, ModifierData *previewmd, const CustomData_MeshMasks *previewmask)
 
ModifierData * BKE_modifier_get_last_preview (const struct Scene *scene, ModifierData *md, int required_mode)
 
ModifierData * BKE_modifiers_get_virtual_modifierlist (const Object *ob, VirtualModifierData *virtualModifierData)
 
Object * BKE_modifiers_is_deformed_by_armature (Object *ob)
 
Object * BKE_modifiers_is_deformed_by_meshdeform (Object *ob)
 
Object * BKE_modifiers_is_deformed_by_lattice (Object *ob)
 
Object * BKE_modifiers_is_deformed_by_curve (Object *ob)
 
bool BKE_modifiers_uses_multires (Object *ob)
 
bool BKE_modifiers_uses_armature (Object *ob, bArmature *arm)
 
bool BKE_modifier_is_correctable_deformed (ModifierData *md)
 
bool BKE_modifiers_is_correctable_deformed (const struct Scene *scene, Object *ob)
 
void BKE_modifier_free_temporary_data (ModifierData *md)
 
void BKE_modifiers_test_object (Object *ob)
 
const char * BKE_modifier_path_relbase (Main *bmain, Object *ob)
 
const char * BKE_modifier_path_relbase_from_global (Object *ob)
 
void BKE_modifier_path_init (char *path, int path_maxlen, const char *name)
 
static void modwrap_dependsOnNormals (Mesh *me)
 
struct Mesh * BKE_modifier_modify_mesh (ModifierData *md, const ModifierEvalContext *ctx, struct Mesh *me)
 
void BKE_modifier_deform_verts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *me, float(*vertexCos)[3], int numVerts)
 
void BKE_modifier_deform_vertsEM (ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *em, Mesh *me, float(*vertexCos)[3], int numVerts)
 
Mesh * BKE_modifier_get_evaluated_mesh_from_evaluated_object (Object *ob_eval)
 
ModifierData * BKE_modifier_get_original (const Object *object, ModifierData *md)
 
struct ModifierData * BKE_modifier_get_evaluated (Depsgraph *depsgraph, Object *object, ModifierData *md)
 
void BKE_modifier_check_uuids_unique_and_report (const Object *object)
 
void BKE_modifier_blend_write (BlendWriter *writer, const ID *id_owner, ListBase *modbase)
 
static void modifier_ensure_type (FluidModifierData *fluid_modifier_data, int type)
 
static ModifierData * modifier_replace_with_fluid (BlendDataReader *reader, Object *object, ListBase *modifiers, ModifierData *old_modifier_data)
 
void BKE_modifier_blend_read_data (BlendDataReader *reader, ListBase *lb, Object *ob)
 
void BKE_modifier_blend_read_lib (BlendLibReader *reader, Object *ob)
 

Variables

static CLG_LogRef LOG = {"bke.modifier"}
 
static ModifierTypeInfo * modifier_types [NUM_MODIFIER_TYPES] = {NULL}
 
static VirtualModifierData virtualModifierCommonData
 

Detailed Description

Modifier stack implementation. BKE_modifier.h contains the function prototypes for this file.

Definition in file blenkernel/intern/modifier.c.

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 11 of file blenkernel/intern/modifier.c.

Function Documentation

◆ BKE_modifier_blend_read_data()

void BKE_modifier_blend_read_data ( BlendDataReader *  reader,
ListBase *  lb,
Object *  ob 
)

Definition at line 1317 of file blenkernel/intern/modifier.c.

References BKE_effector_add_weights(), BKE_modifier_get_info(), BKE_modifier_session_uuid_generate(), BKE_ptcache_blend_read_data(), BKE_ptcache_free(), ModifierTypeInfo::blendRead, BLI_listbase_clear(), BLI_rw_mutex_alloc(), BLO_read_data_address, BLO_read_data_reports(), BLO_read_get_new_data_address(), BLO_read_list(), BLO_reportf_wrap(), DynamicPaintModifierData::brush, DynamicPaintModifierData::canvas, ClothModifierData::clothObject, FluidDomainSettings::coba, ClothModifierData::coll_parms, FluidModifierData::domain, FluidModifierData::effector, ClothSimSettings::effector_weights, FluidDomainSettings::effector_weights, eModifierType_Cloth, eModifierType_DynamicPaint, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_None, ModifierData::error, ListBase::first, PointCache::flag, DynamicPaintCanvasSettings::flags, FluidModifierData::flow, FluidDomainSettings::fluid, FluidDomainSettings::fluid_mutex, FluidDomainSettings::fmd, FluidFlowSettings::fmd, FluidEffectorSettings::fmd, ClothModifierData::hairdata, Object::id, LISTBASE_FOREACH, FluidFlowSettings::mesh, FluidEffectorSettings::mesh, MOD_DPAINT_BAKING, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, modifier_replace_with_fluid(), ModifierData::name, ID::name, NULL, FluidFlowSettings::numverts, FluidEffectorSettings::numverts, DynamicPaintBrushSettings::paint_ramp, DynamicPaintCanvasSettings::pmd, DynamicPaintBrushSettings::pmd, FluidDomainSettings::point_cache, ClothModifierData::point_cache, ClothSimSettings::presets, DynamicPaintBrushSettings::psys, FluidFlowSettings::psys, PTCACHE_FAKE_SMOKE, FluidDomainSettings::ptcaches, ClothModifierData::ptcaches, ClothSimSettings::reset, RPT_WARNING, ModifierData::runtime, ClothModifierData::sim_parms, ClothModifierData::solver_result, surface, DynamicPaintCanvasSettings::surfaces, FluidDomainSettings::tex_coba, FluidDomainSettings::tex_color, FluidDomainSettings::tex_density, FluidDomainSettings::tex_field, FluidDomainSettings::tex_flame, FluidDomainSettings::tex_flame_coba, FluidDomainSettings::tex_shadow, FluidDomainSettings::tex_velocity_x, FluidDomainSettings::tex_velocity_y, FluidDomainSettings::tex_velocity_z, FluidDomainSettings::tex_wt, TIP_, ModifierData::type, FluidModifierData::type, DynamicPaintBrushSettings::vel_ramp, FluidFlowSettings::verts_old, and FluidEffectorSettings::verts_old.

Referenced by object_blend_read_data().

◆ BKE_modifier_blend_read_lib()

void BKE_modifier_blend_read_lib ( BlendLibReader *  reader,
Object *  ob 
)

◆ BKE_modifier_blend_write()

void BKE_modifier_blend_write ( BlendWriter *  writer,
const ID *  id_owner,
ListBase *  modbase 
)

◆ BKE_modifier_calc_data_masks()

CDMaskLink* BKE_modifier_calc_data_masks ( const struct Scene *  scene,
Object *  ob,
ModifierData *  md,
CustomData_MeshMasks *  final_datamask,
int  required_mode,
ModifierData *  previewmd,
const CustomData_MeshMasks *  previewmask 
)

◆ BKE_modifier_check_uuids_unique_and_report()

void BKE_modifier_check_uuids_unique_and_report ( const Object *  object)

◆ BKE_modifier_copy_ex()

ModifierData* BKE_modifier_copy_ex ( const ModifierData *  md,
int  flag 
)

◆ BKE_modifier_copydata()

void BKE_modifier_copydata ( const ModifierData *  md,
ModifierData *  target 
)

Definition at line 398 of file blenkernel/intern/modifier.c.

References BKE_modifier_copydata_ex().

◆ BKE_modifier_copydata_ex()

void BKE_modifier_copydata_ex ( const ModifierData *  md,
ModifierData *  target,
const int  flag 
)

◆ BKE_modifier_copydata_generic()

void BKE_modifier_copydata_generic ( const ModifierData *  md_src,
ModifierData *  md_dst,
const int   UNUSEDflag 
)

◆ BKE_modifier_couldbe_cage()

bool BKE_modifier_couldbe_cage ( struct Scene *  scene,
ModifierData *  md 
)

◆ BKE_modifier_deform_verts()

void BKE_modifier_deform_verts ( ModifierData *  md,
const ModifierEvalContext *  ctx,
Mesh *  me,
float(*)  vertexCos[3],
int  numVerts 
)

◆ BKE_modifier_deform_vertsEM()

void BKE_modifier_deform_vertsEM ( ModifierData *  md,
const ModifierEvalContext *  ctx,
struct BMEditMesh *  em,
Mesh *  me,
float(*)  vertexCos[3],
int  numVerts 
)

◆ BKE_modifier_depends_ontime()

bool BKE_modifier_depends_ontime ( Scene *  scene,
ModifierData *  md 
)

◆ BKE_modifier_free()

void BKE_modifier_free ( ModifierData *  md)

◆ BKE_modifier_free_ex()

void BKE_modifier_free_ex ( ModifierData *  md,
const int  flag 
)

◆ BKE_modifier_free_temporary_data()

void BKE_modifier_free_temporary_data ( ModifierData *  md)

◆ BKE_modifier_get_evaluated()

struct ModifierData* BKE_modifier_get_evaluated ( Depsgraph *  depsgraph,
Object *  object,
ModifierData *  md 
)

◆ BKE_modifier_get_evaluated_mesh_from_evaluated_object()

Mesh* BKE_modifier_get_evaluated_mesh_from_evaluated_object ( struct Object *  ob_eval)

◆ BKE_modifier_get_info()

const ModifierTypeInfo* BKE_modifier_get_info ( ModifierType  type)

Definition at line 109 of file blenkernel/intern/modifier.c.

References modifier_types, NULL, NUM_MODIFIER_TYPES, and type.

Referenced by add_hook_object(), BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), BKE_lattice_modifiers_calc(), BKE_mesh_create_derived_for_modifier(), BKE_modifier_blend_read_data(), BKE_modifier_blend_write(), BKE_modifier_calc_data_masks(), BKE_modifier_copydata_ex(), BKE_modifier_copydata_generic(), BKE_modifier_couldbe_cage(), BKE_modifier_deform_verts(), BKE_modifier_deform_vertsEM(), BKE_modifier_depends_ontime(), BKE_modifier_free_ex(), BKE_modifier_is_correctable_deformed(), BKE_modifier_is_enabled(), BKE_modifier_is_non_geometrical(), BKE_modifier_is_preview(), BKE_modifier_is_same_topology(), BKE_modifier_modify_mesh(), BKE_modifier_supports_cage(), BKE_modifier_supports_mapping(), BKE_modifier_type_panel_id(), BKE_modifier_unique_name(), BKE_modifiers_foreach_ID_link(), BKE_modifiers_foreach_tex_link(), BKE_modifiers_get_cage_index(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_multires_create_mesh(), BKE_object_copy_modifier(), BKE_object_is_deform_modified(), BKE_object_support_modifier_type_check(), BKE_particlesystem_id_loop(), BKE_sculpt_get_first_deform_matrices(), blo_do_versions_pre250(), blender::deg::DepsgraphRelationBuilder::build_object_data_geometry(), crazyspace_modifier_supports_deform(), crazyspace_modifier_supports_deform_matrices(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), ED_object_modifier_add(), ED_object_modifier_move_down(), ED_object_modifier_move_up(), ED_spacetype_buttons(), editbmesh_calc_modifiers(), editbmesh_modifier_is_enabled(), mesh_calc_modifiers(), modifier_add_itemf(), modifier_allocate_and_init(), modifier_apply_exec_ex(), modifier_apply_obdata(), modifier_apply_shape(), modifier_copy_to_selected_exec(), modifier_modify_mesh_and_geometry_set(), modifier_panel_header(), pointcloud_evaluate_modifiers(), blender::deg::ObjectRuntimeBackup::restore_modifier_runtime_data(), sculpt_modifiers_active(), tree_element_get_icon(), uiTemplateModifiers(), and volume_evaluate_modifiers().

◆ BKE_modifier_get_last_preview()

ModifierData* BKE_modifier_get_last_preview ( const struct Scene *  scene,
ModifierData *  md,
int  required_mode 
)

◆ BKE_modifier_get_original()

ModifierData* BKE_modifier_get_original ( const Object *  object,
ModifierData *  md 
)

◆ BKE_modifier_init()

void BKE_modifier_init ( void  )

◆ BKE_modifier_is_correctable_deformed()

bool BKE_modifier_is_correctable_deformed ( ModifierData *  md)

◆ BKE_modifier_is_enabled()

bool BKE_modifier_is_enabled ( const struct Scene *  scene,
struct ModifierData *  md,
int  required_mode 
)

◆ BKE_modifier_is_non_geometrical()

bool BKE_modifier_is_non_geometrical ( ModifierData *  md)

◆ BKE_modifier_is_nonlocal_in_liboverride()

bool BKE_modifier_is_nonlocal_in_liboverride ( const Object *  ob,
const ModifierData *  md 
)

◆ BKE_modifier_is_preview()

bool BKE_modifier_is_preview ( ModifierData *  md)

◆ BKE_modifier_is_same_topology()

bool BKE_modifier_is_same_topology ( ModifierData *  md)

◆ BKE_modifier_modify_mesh()

struct Mesh* BKE_modifier_modify_mesh ( ModifierData *  md,
const ModifierEvalContext *  ctx,
struct Mesh *  me 
)

◆ BKE_modifier_new()

ModifierData* BKE_modifier_new ( int  type)

◆ BKE_modifier_panel_expand()

void BKE_modifier_panel_expand ( ModifierData *  md)

◆ BKE_modifier_path_init()

void BKE_modifier_path_init ( char *  path,
int  path_maxlen,
const char *  name 
)

Initializes path with either the blend file or temporary directory.

Definition at line 956 of file blenkernel/intern/modifier.c.

References BKE_main_blendfile_path_from_global(), BKE_tempdir_session, and BLI_join_dirfile().

Referenced by BKE_fluid_modifier_create_type_data(), dynamicPaint_createNewSurface(), fluid_validatepaths(), and initData().

◆ BKE_modifier_path_relbase()

const char* BKE_modifier_path_relbase ( Main *  bmain,
Object *  ob 
)

◆ BKE_modifier_path_relbase_from_global()

const char* BKE_modifier_path_relbase_from_global ( Object *  ob)

Definition at line 951 of file blenkernel/intern/modifier.c.

References BKE_modifier_path_relbase(), and G_MAIN.

Referenced by fluid_bake_startjob().

◆ BKE_modifier_remove_from_list()

void BKE_modifier_remove_from_list ( struct Object *  ob,
struct ModifierData *  md 
)

◆ BKE_modifier_session_uuid_generate()

void BKE_modifier_session_uuid_generate ( ModifierData *  md)

◆ BKE_modifier_set_error()

void BKE_modifier_set_error ( const Object *  ob,
ModifierData *  md,
const char *  _format,
  ... 
)

◆ BKE_modifier_set_warning()

void BKE_modifier_set_warning ( const struct Object *  ob,
struct ModifierData *  md,
const char *  _format,
  ... 
)

◆ BKE_modifier_supports_cage()

bool BKE_modifier_supports_cage ( struct Scene *  scene,
ModifierData *  md 
)

◆ BKE_modifier_supports_mapping()

bool BKE_modifier_supports_mapping ( ModifierData *  md)

◆ BKE_modifier_type_panel_id()

void BKE_modifier_type_panel_id ( ModifierType  type,
char *  r_idname 
)

Get the idname of the modifier type's panel, which was defined in the panelRegister callback.

Definition at line 119 of file blenkernel/intern/modifier.c.

References BKE_modifier_get_info(), MODIFIER_TYPE_PANEL_PREFIX, ModifierTypeInfo::name, and type.

Referenced by modifier_panel_id(), and modifier_panel_register().

◆ BKE_modifier_unique_name()

bool BKE_modifier_unique_name ( ListBase *  modifiers,
ModifierData *  md 
)

◆ BKE_modifiers_clear_errors()

void BKE_modifiers_clear_errors ( Object *  ob)

◆ BKE_modifiers_findby_name()

ModifierData* BKE_modifiers_findby_name ( const Object *  ob,
const char *  name 
)

Definition at line 278 of file blenkernel/intern/modifier.c.

References BLI_findstring(), and Object::modifiers.

◆ BKE_modifiers_findby_session_uuid()

ModifierData* BKE_modifiers_findby_session_uuid ( const Object *  ob,
const SessionUUID *  session_uuid 
)

◆ BKE_modifiers_findby_type()

ModifierData* BKE_modifiers_findby_type ( const Object *  ob,
ModifierType  type 
)

◆ BKE_modifiers_foreach_ID_link()

void BKE_modifiers_foreach_ID_link ( Object *  ob,
IDWalkFunc  walk,
void *  userData 
)

◆ BKE_modifiers_foreach_tex_link()

void BKE_modifiers_foreach_tex_link ( Object *  ob,
TexWalkFunc  walk,
void *  userData 
)

◆ BKE_modifiers_get_cage_index()

int BKE_modifiers_get_cage_index ( const Scene *  scene,
Object *  ob,
int *  r_lastPossibleCageIndex,
bool  is_virtual 
)

◆ BKE_modifiers_get_virtual_modifierlist()

ModifierData* BKE_modifiers_get_virtual_modifierlist ( const Object *  ob,
VirtualModifierData *  virtualModifierData 
)

◆ BKE_modifiers_is_cloth_enabled()

bool BKE_modifiers_is_cloth_enabled ( Object *  ob)

◆ BKE_modifiers_is_correctable_deformed()

bool BKE_modifiers_is_correctable_deformed ( const struct Scene *  scene,
Object *  ob 
)

◆ BKE_modifiers_is_deformed_by_armature()

Object* BKE_modifiers_is_deformed_by_armature ( struct Object *  ob)

◆ BKE_modifiers_is_deformed_by_curve()

Object* BKE_modifiers_is_deformed_by_curve ( struct Object *  ob)

Takes an object and returns its first selected curve, else just its curve. This should work for multiple curves per object.

Definition at line 825 of file blenkernel/intern/modifier.c.

References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_Curve, ModifierData::next, NULL, CurveModifierData::object, and ModifierData::type.

Referenced by ED_object_parent_set().

◆ BKE_modifiers_is_deformed_by_lattice()

Object* BKE_modifiers_is_deformed_by_lattice ( struct Object *  ob)

Takes an object and returns its first selected lattice, else just its lattice. This should work for multiple lattices per object.

Definition at line 802 of file blenkernel/intern/modifier.c.

References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_Lattice, ModifierData::next, NULL, LatticeModifierData::object, and ModifierData::type.

Referenced by ED_object_parent_set(), and loopcut_init().

◆ BKE_modifiers_is_deformed_by_meshdeform()

Object* BKE_modifiers_is_deformed_by_meshdeform ( Object *  ob)

◆ BKE_modifiers_is_modifier_enabled()

bool BKE_modifiers_is_modifier_enabled ( Object *  ob,
int  modifierType 
)

◆ BKE_modifiers_is_particle_enabled()

bool BKE_modifiers_is_particle_enabled ( Object *  ob)

◆ BKE_modifiers_is_softbody_enabled()

bool BKE_modifiers_is_softbody_enabled ( Object *  ob)

◆ BKE_modifiers_test_object()

void BKE_modifiers_test_object ( struct Object *  ob)

◆ BKE_modifiers_uses_armature()

bool BKE_modifiers_uses_armature ( Object *  ob,
bArmature *  arm 
)

◆ BKE_modifiers_uses_multires()

bool BKE_modifiers_uses_multires ( Object *  ob)

◆ modifier_allocate_and_init()

static ModifierData* modifier_allocate_and_init ( int  type)
static

◆ modifier_copy_data_id_us_cb()

static void modifier_copy_data_id_us_cb ( void *  UNUSEDuserData,
Object *  UNUSEDob,
ID **  idpoin,
int  cb_flag 
)
static

Definition at line 357 of file blenkernel/intern/modifier.c.

References id_us_plus(), IDWALK_CB_USER, and NULL.

Referenced by BKE_modifier_copydata_ex().

◆ modifier_ensure_type()

static void modifier_ensure_type ( FluidModifierData *  fluid_modifier_data,
int  type 
)
static

◆ modifier_free_data_id_us_cb()

static void modifier_free_data_id_us_cb ( void *  UNUSEDuserData,
Object *  UNUSEDob,
ID **  idpoin,
int  cb_flag 
)
static

Definition at line 167 of file blenkernel/intern/modifier.c.

References id_us_min(), IDWALK_CB_USER, and NULL.

Referenced by BKE_modifier_free_ex().

◆ modifier_replace_with_fluid()

static ModifierData* modifier_replace_with_fluid ( BlendDataReader *  reader,
Object *  object,
ListBase *  modifiers,
ModifierData *  old_modifier_data 
)
static

◆ modwrap_dependsOnNormals()

static void modwrap_dependsOnNormals ( Mesh *  me)
static

Variable Documentation

◆ LOG

CLG_LogRef LOG = {"bke.modifier"}
static

Definition at line 75 of file blenkernel/intern/modifier.c.

Referenced by BKE_modifier_set_error().

◆ modifier_types

ModifierTypeInfo* modifier_types[NUM_MODIFIER_TYPES] = {NULL}
static

Definition at line 76 of file blenkernel/intern/modifier.c.

Referenced by BKE_modifier_get_info(), and BKE_modifier_init().

◆ virtualModifierCommonData

VirtualModifierData virtualModifierCommonData
static