Blender  V2.93
Classes | Macros | Typedefs | Enumerations | Functions
BKE_modifier.h File Reference
#include "BKE_customdata.h"
#include "BLI_compiler_attrs.h"
#include "DNA_modifier_types.h"

Go to the source code of this file.

Classes

struct  ModifierUpdateDepsgraphContext
 
struct  ModifierEvalContext
 
struct  ModifierTypeInfo
 
struct  CDMaskLink
 
struct  VirtualModifierData
 

Macros

#define MODIFIER_TYPE_PANEL_PREFIX   "MOD_PT_"
 

Typedefs

typedef void(* IDWalkFunc) (void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
 
typedef void(* TexWalkFunc) (void *userData, struct Object *ob, struct ModifierData *md, const char *propname)
 
typedef enum ModifierApplyFlag ModifierApplyFlag
 
typedef struct ModifierUpdateDepsgraphContext ModifierUpdateDepsgraphContext
 
typedef struct ModifierEvalContext ModifierEvalContext
 
typedef struct ModifierTypeInfo ModifierTypeInfo
 
typedef struct CDMaskLink CDMaskLink
 
typedef struct VirtualModifierData VirtualModifierData
 

Enumerations

enum  ModifierTypeType {
  eModifierTypeType_None , eModifierTypeType_OnlyDeform , eModifierTypeType_Constructive , eModifierTypeType_Nonconstructive ,
  eModifierTypeType_DeformOrConstruct , eModifierTypeType_NonGeometrical
}
 
enum  ModifierTypeFlag {
  eModifierTypeFlag_AcceptsMesh = (1 << 0) , eModifierTypeFlag_AcceptsCVs = (1 << 1) , eModifierTypeFlag_SupportsMapping = (1 << 2) , eModifierTypeFlag_SupportsEditmode = (1 << 3) ,
  eModifierTypeFlag_EnableInEditmode = (1 << 4) , eModifierTypeFlag_RequiresOriginalData = (1 << 5) , eModifierTypeFlag_UsesPointCache = (1 << 6) , eModifierTypeFlag_Single = (1 << 7) ,
  eModifierTypeFlag_NoUserAdd = (1 << 8) , eModifierTypeFlag_UsesPreview = (1 << 9) , eModifierTypeFlag_AcceptsVertexCosOnly = (1 << 10) , eModifierTypeFlag_AcceptsBMesh = (1 << 11)
}
 
enum  ModifierApplyFlag {
  MOD_APPLY_RENDER = 1 << 0 , MOD_APPLY_USECACHE = 1 << 1 , MOD_APPLY_ORCO = 1 << 2 , MOD_APPLY_IGNORE_SIMPLIFY = 1 << 3 ,
  MOD_APPLY_TO_BASE_MESH = 1 << 4
}
 

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 (struct ModifierData *md)
 
struct ModifierDataBKE_modifier_new (int type)
 
void BKE_modifier_free_ex (struct ModifierData *md, const int flag)
 
void BKE_modifier_free (struct ModifierData *md)
 
void BKE_modifier_remove_from_list (struct Object *ob, struct ModifierData *md)
 
void BKE_modifier_session_uuid_generate (struct ModifierData *md)
 
bool BKE_modifier_unique_name (struct ListBase *modifiers, struct ModifierData *md)
 
void BKE_modifier_copydata_generic (const struct ModifierData *md, struct ModifierData *md_dst, const int flag)
 
void BKE_modifier_copydata (struct ModifierData *md, struct ModifierData *target)
 
void BKE_modifier_copydata_ex (struct ModifierData *md, struct ModifierData *target, const int flag)
 
bool BKE_modifier_depends_ontime (struct ModifierData *md)
 
bool BKE_modifier_supports_mapping (struct ModifierData *md)
 
bool BKE_modifier_supports_cage (struct Scene *scene, struct ModifierData *md)
 
bool BKE_modifier_couldbe_cage (struct Scene *scene, struct ModifierData *md)
 
bool BKE_modifier_is_correctable_deformed (struct ModifierData *md)
 
bool BKE_modifier_is_same_topology (ModifierData *md)
 
bool BKE_modifier_is_non_geometrical (ModifierData *md)
 
bool BKE_modifier_is_enabled (const struct Scene *scene, struct ModifierData *md, int required_mode)
 
bool BKE_modifier_is_nonlocal_in_liboverride (const struct Object *ob, const struct ModifierData *md)
 
void BKE_modifier_set_error (const struct Object *ob, struct ModifierData *md, const char *format,...) ATTR_PRINTF_FORMAT(3
 
void bool BKE_modifier_is_preview (struct ModifierData *md)
 
void BKE_modifiers_foreach_ID_link (struct Object *ob, IDWalkFunc walk, void *userData)
 
void BKE_modifiers_foreach_tex_link (struct Object *ob, TexWalkFunc walk, void *userData)
 
struct ModifierDataBKE_modifiers_findby_type (const struct Object *ob, ModifierType type)
 
struct ModifierDataBKE_modifiers_findby_name (const struct Object *ob, const char *name)
 
void BKE_modifiers_clear_errors (struct Object *ob)
 
int BKE_modifiers_get_cage_index (const struct Scene *scene, struct Object *ob, int *r_lastPossibleCageIndex, bool is_virtual)
 
bool BKE_modifiers_is_modifier_enabled (struct Object *ob, int modifierType)
 
bool BKE_modifiers_is_softbody_enabled (struct Object *ob)
 
bool BKE_modifiers_is_cloth_enabled (struct Object *ob)
 
bool BKE_modifiers_is_particle_enabled (struct Object *ob)
 
struct ObjectBKE_modifiers_is_deformed_by_armature (struct Object *ob)
 
struct ObjectBKE_modifiers_is_deformed_by_meshdeform (struct Object *ob)
 
struct ObjectBKE_modifiers_is_deformed_by_lattice (struct Object *ob)
 
struct ObjectBKE_modifiers_is_deformed_by_curve (struct Object *ob)
 
bool BKE_modifiers_uses_multires (struct Object *ob)
 
bool BKE_modifiers_uses_armature (struct Object *ob, struct bArmature *arm)
 
bool BKE_modifiers_uses_subsurf_facedots (const struct Scene *scene, struct Object *ob)
 
bool BKE_modifiers_is_correctable_deformed (const struct Scene *scene, struct Object *ob)
 
void BKE_modifier_free_temporary_data (struct ModifierData *md)
 
struct CDMaskLinkBKE_modifier_calc_data_masks (const struct Scene *scene, struct Object *ob, struct ModifierData *md, struct CustomData_MeshMasks *final_datamask, int required_mode, ModifierData *previewmd, const struct CustomData_MeshMasks *previewmask)
 
struct ModifierDataBKE_modifier_get_last_preview (const struct Scene *scene, struct ModifierData *md, int required_mode)
 
struct ModifierDataBKE_modifiers_get_virtual_modifierlist (const struct Object *ob, struct VirtualModifierData *data)
 
void BKE_modifiers_test_object (struct Object *ob)
 
void BKE_modifier_mdef_compact_influences (struct ModifierData *md)
 
void BKE_modifier_path_init (char *path, int path_maxlen, const char *name)
 
const char * BKE_modifier_path_relbase (struct Main *bmain, struct Object *ob)
 
const char * BKE_modifier_path_relbase_from_global (struct Object *ob)
 
struct ModifierDataBKE_modifier_get_original (struct ModifierData *md)
 
struct ModifierDataBKE_modifier_get_evaluated (struct Depsgraph *depsgraph, struct Object *object, struct ModifierData *md)
 
struct MeshBKE_modifier_modify_mesh (ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *me)
 
void BKE_modifier_deform_verts (ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *me, float(*vertexCos)[3], int numVerts)
 
void BKE_modifier_deform_vertsEM (ModifierData *md, const struct ModifierEvalContext *ctx, struct BMEditMesh *em, struct Mesh *me, float(*vertexCos)[3], int numVerts)
 
struct MeshBKE_modifier_get_evaluated_mesh_from_evaluated_object (struct Object *ob_eval, const bool get_cage_mesh)
 
void BKE_modifier_check_uuids_unique_and_report (const struct Object *object)
 
void BKE_modifier_blend_write (struct BlendWriter *writer, struct ListBase *modbase)
 
void BKE_modifier_blend_read_data (struct BlendDataReader *reader, struct ListBase *lb, struct Object *ob)
 
void BKE_modifier_blend_read_lib (struct BlendLibReader *reader, struct Object *ob)
 

Macro Definition Documentation

◆ MODIFIER_TYPE_PANEL_PREFIX

#define MODIFIER_TYPE_PANEL_PREFIX   "MOD_PT_"

Definition at line 400 of file BKE_modifier.h.

Typedef Documentation

◆ CDMaskLink

typedef struct CDMaskLink CDMaskLink

◆ IDWalkFunc

typedef void(* IDWalkFunc) (void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)

Definition at line 120 of file BKE_modifier.h.

◆ ModifierApplyFlag

◆ ModifierEvalContext

◆ ModifierTypeInfo

◆ ModifierUpdateDepsgraphContext

◆ TexWalkFunc

typedef void(* TexWalkFunc) (void *userData, struct Object *ob, struct ModifierData *md, const char *propname)

Definition at line 121 of file BKE_modifier.h.

◆ VirtualModifierData

Enumeration Type Documentation

◆ ModifierApplyFlag

Enumerator
MOD_APPLY_RENDER 

Render time.

MOD_APPLY_USECACHE 

Result of evaluation will be cached, so modifier might want to cache data for quick updates (used by subsurf)

MOD_APPLY_ORCO 

Modifier evaluated for undeformed texture coordinates

MOD_APPLY_IGNORE_SIMPLIFY 

Ignore scene simplification flag and use subdivisions level set in multires modifier.

MOD_APPLY_TO_BASE_MESH 

The effect of this modifier will be applied to the base mesh The modifier itself will be removed from the modifier stack. This flag can be checked to ignore rendering display data to the mesh. See OBJECT_OT_modifier_apply operator.

Definition at line 126 of file BKE_modifier.h.

◆ ModifierTypeFlag

Enumerator
eModifierTypeFlag_AcceptsMesh 
eModifierTypeFlag_AcceptsCVs 
eModifierTypeFlag_SupportsMapping 
eModifierTypeFlag_SupportsEditmode 
eModifierTypeFlag_EnableInEditmode 

For modifiers that support editmode this determines if the modifier should be enabled by default in editmode. This should only be used by modifiers that are relatively speedy and also generally used in editmode, otherwise let the user enable it by hand.

eModifierTypeFlag_RequiresOriginalData 

For modifiers that require original data and so cannot be placed after any non-deformative modifier.

eModifierTypeFlag_UsesPointCache 

For modifiers that support pointcache, so we can check to see if it has files we need to deal with.

eModifierTypeFlag_Single 

For physics modifiers, max one per type

eModifierTypeFlag_NoUserAdd 

Some modifier can't be added manually by user

eModifierTypeFlag_UsesPreview 

For modifiers that use CD_PREVIEW_MCOL for preview.

eModifierTypeFlag_AcceptsVertexCosOnly 
eModifierTypeFlag_AcceptsBMesh 

Accepts BMesh input (without conversion).

Definition at line 79 of file BKE_modifier.h.

◆ ModifierTypeType

Enumerator
eModifierTypeType_None 
eModifierTypeType_OnlyDeform 

Modifier only does deformation, implies that modifier type should have a valid deformVerts function. OnlyDeform style modifiers implicitly accept either mesh or CV input but should still declare flags appropriately.

eModifierTypeType_Constructive 

Modifier adds geometry.

eModifierTypeType_Nonconstructive 
eModifierTypeType_DeformOrConstruct 

Both deformVerts & applyModifier are valid calls used for particles modifier that doesn't actually modify the object unless it's a mesh and can be exploded -> curve can also emit particles

eModifierTypeType_NonGeometrical 

Like eModifierTypeType_Nonconstructive, but does not affect the geometry of the object, rather some of its CustomData layers. E.g. UVProject and WeightVG modifiers.

Definition at line 48 of file BKE_modifier.h.

Function Documentation

◆ BKE_modifier_blend_read_data()

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

Definition at line 1381 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, FluidDomainSettings::mesh_velocities, 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 ( struct BlendLibReader reader,
struct Object ob 
)

◆ BKE_modifier_blend_write()

void BKE_modifier_blend_write ( struct BlendWriter writer,
struct ListBase modbase 
)

◆ BKE_modifier_calc_data_masks()

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

Calculates and returns a linked list of CustomData_MeshMasks and modified final datamask, indicating the data required by each modifier in the stack pointed to by md for correct evaluation, assuming the data indicated by final_datamask is required at the end of the stack.

Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), editbmesh_calc_modifiers(), and mesh_calc_modifiers().

◆ BKE_modifier_check_uuids_unique_and_report()

void BKE_modifier_check_uuids_unique_and_report ( const struct Object object)

◆ BKE_modifier_copydata()

void BKE_modifier_copydata ( struct ModifierData md,
struct ModifierData target 
)

◆ BKE_modifier_copydata_ex()

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

◆ BKE_modifier_copydata_generic()

void BKE_modifier_copydata_generic ( const struct ModifierData md,
struct ModifierData md_dst,
const int  flag 
)

Referenced by copyData().

◆ BKE_modifier_couldbe_cage()

bool BKE_modifier_couldbe_cage ( struct Scene scene,
struct ModifierData md 
)

◆ BKE_modifier_deform_verts()

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

◆ BKE_modifier_deform_vertsEM()

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

◆ BKE_modifier_depends_ontime()

bool BKE_modifier_depends_ontime ( struct ModifierData md)

◆ BKE_modifier_free()

void BKE_modifier_free ( struct ModifierData md)

◆ BKE_modifier_free_ex()

void BKE_modifier_free_ex ( struct ModifierData md,
const int  flag 
)

◆ BKE_modifier_free_temporary_data()

void BKE_modifier_free_temporary_data ( struct ModifierData md)

◆ BKE_modifier_get_evaluated()

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

◆ BKE_modifier_get_evaluated_mesh_from_evaluated_object()

struct Mesh* BKE_modifier_get_evaluated_mesh_from_evaluated_object ( Object ob_eval,
const bool  get_cage_mesh 
)

Get evaluated mesh for other evaluated object, which is used as an operand for the modifier, e.g. second operand for boolean modifier. Note that modifiers in stack always get fully evaluated COW ID pointers, never original ones. Makes things simpler.

Parameters
get_cage_meshReturn evaluated mesh with only deforming modifiers applied (i.e. mesh topology remains the same as original one, a.k.a. 'cage' mesh).

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

References BKE_editmesh_from_object(), BKE_object_get_evaluated_mesh(), Object_Runtime::mesh_deform_eval, BMEditMesh::mesh_eval_cage, BMEditMesh::mesh_eval_final, Object::mode, NULL, OB_MESH, OB_MODE_EDIT, Object::runtime, and Object::type.

Referenced by blender::bke::add_final_mesh_as_geometry_component(), arrayModifier_doArray(), BKE_object_data_transfer_ex(), blender::ed::spreadsheet::get_display_geometry_set(), meshdeformModifier_do(), modifyMesh(), modifyVolume(), shrinkwrap_calc_normal_projection(), shrinkwrapModifier_deform(), and surfacedeformModifier_do().

◆ BKE_modifier_get_info()

const ModifierTypeInfo* BKE_modifier_get_info ( ModifierType  type)

Definition at line 126 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_new(), 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_modifiers_uses_subsurf_facedots(), 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(), ED_object_modifier_add(), ED_object_modifier_move_down(), ED_object_modifier_move_up(), ED_spacetype_buttons(), editbmesh_calc_modifiers(), editbmesh_modifier_is_enabled(), hair_evaluate_modifiers(), mesh_calc_modifiers(), modifier_add_itemf(), 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()

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

◆ BKE_modifier_get_original()

struct ModifierData* BKE_modifier_get_original ( struct ModifierData md)

◆ BKE_modifier_init()

void BKE_modifier_init ( void  )

◆ BKE_modifier_is_correctable_deformed()

bool BKE_modifier_is_correctable_deformed ( struct ModifierData md)

◆ BKE_modifier_is_enabled()

bool BKE_modifier_is_enabled ( const struct Scene scene,
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 struct Object ob,
const struct ModifierData md 
)

◆ BKE_modifier_is_preview()

void bool BKE_modifier_is_preview ( struct ModifierData md)

◆ BKE_modifier_is_same_topology()

bool BKE_modifier_is_same_topology ( ModifierData md)

◆ BKE_modifier_mdef_compact_influences()

void BKE_modifier_mdef_compact_influences ( struct ModifierData md)

◆ BKE_modifier_modify_mesh()

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

◆ BKE_modifier_new()

struct ModifierData* BKE_modifier_new ( int  type)

◆ BKE_modifier_panel_expand()

void BKE_modifier_panel_expand ( struct ModifierData md)

◆ BKE_modifier_path_init()

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

◆ BKE_modifier_path_relbase()

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

◆ BKE_modifier_path_relbase_from_global()

const char* BKE_modifier_path_relbase_from_global ( struct Object ob)

◆ BKE_modifier_remove_from_list()

void BKE_modifier_remove_from_list ( Object ob,
ModifierData md 
)

◆ BKE_modifier_session_uuid_generate()

void BKE_modifier_session_uuid_generate ( struct ModifierData md)

◆ BKE_modifier_set_error()

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

◆ BKE_modifier_supports_cage()

bool BKE_modifier_supports_cage ( struct Scene scene,
struct ModifierData md 
)

◆ BKE_modifier_supports_mapping()

bool BKE_modifier_supports_mapping ( struct 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 139 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 ( struct ListBase modifiers,
struct ModifierData md 
)

◆ BKE_modifiers_clear_errors()

void BKE_modifiers_clear_errors ( struct Object ob)

◆ BKE_modifiers_findby_name()

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

◆ BKE_modifiers_findby_type()

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

◆ BKE_modifiers_foreach_ID_link()

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

◆ BKE_modifiers_foreach_tex_link()

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

◆ BKE_modifiers_get_cage_index()

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

◆ BKE_modifiers_get_virtual_modifierlist()

struct ModifierData* BKE_modifiers_get_virtual_modifierlist ( const struct Object ob,
struct VirtualModifierData data 
)

◆ BKE_modifiers_is_cloth_enabled()

bool BKE_modifiers_is_cloth_enabled ( struct Object ob)

◆ BKE_modifiers_is_correctable_deformed()

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

◆ BKE_modifiers_is_deformed_by_armature()

struct Object* BKE_modifiers_is_deformed_by_armature ( struct Object ob)

◆ BKE_modifiers_is_deformed_by_curve()

struct Object* BKE_modifiers_is_deformed_by_curve ( struct Object ob)

◆ BKE_modifiers_is_deformed_by_lattice()

struct Object* BKE_modifiers_is_deformed_by_lattice ( struct Object ob)

◆ BKE_modifiers_is_deformed_by_meshdeform()

struct Object* BKE_modifiers_is_deformed_by_meshdeform ( struct Object ob)

◆ BKE_modifiers_is_modifier_enabled()

bool BKE_modifiers_is_modifier_enabled ( struct Object ob,
int  modifierType 
)

◆ BKE_modifiers_is_particle_enabled()

bool BKE_modifiers_is_particle_enabled ( struct Object ob)

◆ BKE_modifiers_is_softbody_enabled()

bool BKE_modifiers_is_softbody_enabled ( struct Object ob)

◆ BKE_modifiers_test_object()

void BKE_modifiers_test_object ( struct Object ob)

◆ BKE_modifiers_uses_armature()

bool BKE_modifiers_uses_armature ( struct Object ob,
struct bArmature arm 
)

◆ BKE_modifiers_uses_multires()

bool BKE_modifiers_uses_multires ( struct Object ob)

◆ BKE_modifiers_uses_subsurf_facedots()

bool BKE_modifiers_uses_subsurf_facedots ( const struct Scene scene,
struct Object ob 
)