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 ModifierTypeInfoBKE_modifier_get_info (ModifierType type)
 
void BKE_modifier_type_panel_id (ModifierType type, char *r_idname)
 
void BKE_modifier_panel_expand (ModifierData *md)
 
static ModifierDatamodifier_allocate_and_init (int type)
 
ModifierDataBKE_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)
 
ModifierDataBKE_modifiers_findby_type (const Object *ob, ModifierType type)
 
ModifierDataBKE_modifiers_findby_name (const Object *ob, const char *name)
 
ModifierDataBKE_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)
 
ModifierDataBKE_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)
 
CDMaskLinkBKE_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)
 
ModifierDataBKE_modifier_get_last_preview (const struct Scene *scene, ModifierData *md, int required_mode)
 
ModifierDataBKE_modifiers_get_virtual_modifierlist (const Object *ob, VirtualModifierData *virtualModifierData)
 
ObjectBKE_modifiers_is_deformed_by_armature (Object *ob)
 
ObjectBKE_modifiers_is_deformed_by_meshdeform (Object *ob)
 
ObjectBKE_modifiers_is_deformed_by_lattice (Object *ob)
 
ObjectBKE_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 MeshBKE_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)
 
MeshBKE_modifier_get_evaluated_mesh_from_evaluated_object (Object *ob_eval)
 
ModifierDataBKE_modifier_get_original (const Object *object, ModifierData *md)
 
struct ModifierDataBKE_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 ModifierDatamodifier_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 ModifierTypeInfomodifier_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