|
Blender
V2.93
|
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 } |
| #define MODIFIER_TYPE_PANEL_PREFIX "MOD_PT_" |
Definition at line 400 of file BKE_modifier.h.
| typedef struct CDMaskLink CDMaskLink |
Definition at line 120 of file BKE_modifier.h.
| typedef enum ModifierApplyFlag ModifierApplyFlag |
| typedef struct ModifierEvalContext ModifierEvalContext |
| typedef struct ModifierTypeInfo ModifierTypeInfo |
| typedef struct ModifierUpdateDepsgraphContext ModifierUpdateDepsgraphContext |
| typedef void(* TexWalkFunc) (void *userData, struct Object *ob, struct ModifierData *md, const char *propname) |
Definition at line 121 of file BKE_modifier.h.
| typedef struct VirtualModifierData VirtualModifierData |
| enum 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 |
Definition at line 126 of file BKE_modifier.h.
| enum 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.
| enum 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.
| 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().
| void BKE_modifier_blend_read_lib | ( | struct BlendLibReader * | reader, |
| struct Object * | ob | ||
| ) |
Definition at line 1571 of file blenkernel/intern/modifier.c.
References BKE_modifiers_foreach_ID_link(), BKE_object_modifiers_lib_link_common(), eModifierFlag_OverrideLibrary_Local, Object::id, ID::lib, LISTBASE_FOREACH, mod(), Object::modifiers, and NULL.
Referenced by object_blend_read_lib().
| void BKE_modifier_blend_write | ( | struct BlendWriter * | writer, |
| struct ListBase * | modbase | ||
| ) |
Definition at line 1163 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_ptcache_add(), BKE_ptcache_blend_write(), BKE_ptcache_free_list(), ModifierTypeInfo::blendWrite, BLO_write_struct, BLO_write_struct_by_name(), DynamicPaintModifierData::brush, DynamicPaintModifierData::canvas, FluidDomainSettings::coba, ClothModifierData::coll_parms, DATA, FluidModifierData::domain, FluidModifierData::effector, ClothSimSettings::effector_weights, FluidDomainSettings::effector_weights, eModifierType_Cloth, eModifierType_Collision, eModifierType_DynamicPaint, eModifierType_Fluid, eModifierType_Fluidsim, PointCache::flag, FluidModifierData::flow, FluidsimModifierData::fss, LISTBASE_FOREACH, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, NULL, DynamicPaintBrushSettings::paint_ramp, FluidDomainSettings::point_cache, PTCACHE_DISK_CACHE, PTCACHE_FAKE_SMOKE, FluidDomainSettings::ptcaches, ClothModifierData::ptcaches, ClothModifierData::sim_parms, PointCache::step, ModifierTypeInfo::structName, surface, DynamicPaintCanvasSettings::surfaces, ModifierData::type, FluidModifierData::type, DynamicPaintBrushSettings::vel_ramp, writestruct, CollisionModifierData::x, and CollisionModifierData::xnew.
Referenced by object_blend_write().
| 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().
| void BKE_modifier_check_uuids_unique_and_report | ( | const struct Object * | object | ) |
Referenced by BKE_object_check_uuids_unique_and_report().
| void BKE_modifier_copydata | ( | struct ModifierData * | md, |
| struct ModifierData * | target | ||
| ) |
Definition at line 397 of file blenkernel/intern/modifier.c.
References BKE_modifier_copydata_ex().
Referenced by BKE_object_copy_modifier(), and ED_object_modifier_copy().
| void BKE_modifier_copydata_ex | ( | struct ModifierData * | md, |
| struct ModifierData * | target, | ||
| const int | flag | ||
| ) |
Definition at line 367 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_modifier_session_uuid_generate(), ModifierTypeInfo::copyData, ModifierData::flag, ModifierTypeInfo::foreachIDLink, LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, ModifierData::mode, modifier_copy_data_id_us_cb(), NULL, ModifierData::session_uuid, ModifierData::type, and ModifierData::ui_expand_flag.
Referenced by BKE_modifier_copydata(), BKE_object_copy_particlesystem(), and BKE_object_modifier_stack_copy().
| void BKE_modifier_copydata_generic | ( | const struct ModifierData * | md, |
| struct ModifierData * | md_dst, | ||
| const int | flag | ||
| ) |
Referenced by copyData().
| bool BKE_modifier_couldbe_cage | ( | struct Scene * | scene, |
| struct ModifierData * | md | ||
| ) |
Definition at line 410 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_modifier_supports_mapping(), eModifierMode_Editmode, eModifierMode_Realtime, ModifierTypeInfo::isDisabled, ModifierData::mode, scene, and ModifierData::type.
Referenced by modifier_panel_header().
| 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 | ||
| ) |
Referenced by editbmesh_calc_modifiers().
| bool BKE_modifier_depends_ontime | ( | struct ModifierData * | md | ) |
Definition at line 252 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ModifierTypeInfo::dependsOnTime, and ModifierData::type.
Referenced by BKE_object_modifier_use_time().
| void BKE_modifier_free | ( | struct ModifierData * | md | ) |
Definition at line 211 of file blenkernel/intern/modifier.c.
References BKE_modifier_free_ex().
Referenced by bake(), BKE_modifier_init(), BKE_particle_system_blend_read_lib(), ED_object_modifier_apply(), free_hair(), object_hook_remove_exec(), object_modifier_remove(), object_remove_parent_deform_modifiers(), object_remove_particle_system(), psys_free(), and remove_particle_systems_from_object().
| void BKE_modifier_free_ex | ( | struct ModifierData * | md, |
| const int | flag | ||
| ) |
Definition at line 191 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ModifierData::error, ModifierTypeInfo::foreachIDLink, ModifierTypeInfo::freeData, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_freeN, modifier_free_data_id_us_cb(), NULL, and ModifierData::type.
Referenced by BKE_modifier_free(), and BKE_object_free_modifiers().
| void BKE_modifier_free_temporary_data | ( | struct ModifierData * | md | ) |
Definition at line 940 of file blenkernel/intern/modifier.c.
References eModifierType_Armature, MEM_SAFE_FREE, ModifierData::type, and ArmatureModifierData::vert_coords_prev.
Referenced by mesh_calc_modifiers().
| struct ModifierData* BKE_modifier_get_evaluated | ( | struct Depsgraph * | depsgraph, |
| struct Object * | object, | ||
| struct ModifierData * | md | ||
| ) |
Definition at line 1129 of file blenkernel/intern/modifier.c.
References BKE_modifiers_findby_name(), DEG_get_evaluated_object(), depsgraph, and ModifierData::name.
Referenced by correctivesmooth_bind_exec(), laplaciandeform_bind_exec(), meshdeform_bind_exec(), object_force_modifier_bind_simple_options(), remove_tagged_keys(), and surfacedeform_bind_exec().
| 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.
| get_cage_mesh | Return 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().
| 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().
| struct ModifierData* BKE_modifier_get_last_preview | ( | const struct Scene * | scene, |
| struct ModifierData * | md, | ||
| int | required_mode | ||
| ) |
Definition at line 658 of file blenkernel/intern/modifier.c.
References BKE_modifier_is_enabled(), BKE_modifier_is_preview(), eModifierMode_Editmode, eModifierMode_Realtime, ModifierData::next, NULL, and scene.
Referenced by mesh_calc_modifiers().
| struct ModifierData* BKE_modifier_get_original | ( | struct ModifierData * | md | ) |
Definition at line 1121 of file blenkernel/intern/modifier.c.
References NULL, and ModifierData::orig_modifier_data.
Referenced by correctivesmooth_modifier_do(), ED_mesh_deform_bind_callback(), and surfacedeformModifier_do().
| void BKE_modifier_init | ( | void | ) |
Definition at line 96 of file blenkernel/intern/modifier.c.
References VirtualModifierData::amd, BKE_modifier_free(), BKE_modifier_new(), VirtualModifierData::cmd, eModifierMode_Virtual, eModifierType_Armature, eModifierType_Curve, eModifierType_Lattice, eModifierType_ShapeKey, VirtualModifierData::lmd, ModifierData::mode, LatticeModifierData::modifier, CurveModifierData::modifier, ArmatureModifierData::modifier, ShapeKeyModifierData::modifier, modifier_type_init(), modifier_types, VirtualModifierData::smd, and virtualModifierCommonData.
Referenced by main(), and BlendfileLoadingBaseTest::SetUpTestCase().
| bool BKE_modifier_is_correctable_deformed | ( | struct ModifierData * | md | ) |
Definition at line 914 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ModifierTypeInfo::deformMatricesEM, NULL, and ModifierData::type.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), and BKE_modifiers_is_correctable_deformed().
| bool BKE_modifier_is_enabled | ( | const struct Scene * | scene, |
| ModifierData * | md, | ||
| int | required_mode | ||
| ) |
Check whether is enabled.
| scene | Current scene, may be NULL, in which case isDisabled callback of the modifier is never called. |
Definition at line 556 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), eModifierMode_DisableTemporary, eModifierMode_Editmode, eModifierMode_Render, eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::isDisabled, ModifierData::mode, NULL, scene, and ModifierData::type.
Referenced by BKE_crazyspace_build_sculpt(), BKE_curve_calc_modifiers_pre(), BKE_modifier_calc_data_masks(), BKE_modifier_get_last_preview(), BKE_modifiers_is_correctable_deformed(), BKE_modifiers_uses_subsurf_facedots(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_object_is_deform_modified(), BKE_object_is_modified(), BKE_sculpt_get_first_deform_matrices(), BKE_sculpt_multires_active(), correctivesmooth_bind_exec(), curve_calc_modifiers_post(), curve_get_tessellate_point(), editbmesh_modifier_is_enabled(), eevee_volume_object_mesh_init(), find_multires_modifier_before(), get_multires_modifier(), blender::io::alembic::SubdivModifierDisabler::get_subdiv_modifier(), hair_evaluate_modifiers(), isDisabled(), mesh_calc_modifiers(), multiresbake_check(), OVERLAY_extra_cache_populate(), pointcloud_evaluate_modifiers(), sculpt_modifiers_active(), volume_evaluate_modifiers(), and workbench_cache_populate().
| bool BKE_modifier_is_non_geometrical | ( | ModifierData * | md | ) |
Definition at line 425 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), eModifierTypeType_NonGeometrical, ModifierTypeInfo::type, and ModifierData::type.
Referenced by modifier_ops_extra_draw().
| bool BKE_modifier_is_nonlocal_in_liboverride | ( | const struct Object * | ob, |
| const struct ModifierData * | md | ||
| ) |
Referenced by edit_modifier_poll_generic().
| void bool BKE_modifier_is_preview | ( | struct ModifierData * | md | ) |
Definition at line 267 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), eModifierMode_Realtime, eModifierTypeFlag_UsesPreview, eModifierTypeType_Constructive, ModifierTypeInfo::flags, ModifierData::mode, ModifierTypeInfo::type, and ModifierData::type.
Referenced by BKE_modifier_get_last_preview().
| bool BKE_modifier_is_same_topology | ( | ModifierData * | md | ) |
Definition at line 419 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ELEM, eModifierTypeType_NonGeometrical, eModifierTypeType_OnlyDeform, ModifierTypeInfo::type, and ModifierData::type.
Referenced by ED_object_modifier_apply(), modifier_apply_poll_ex(), modifier_apply_shape(), and modifier_ops_extra_draw().
| void BKE_modifier_mdef_compact_influences | ( | struct ModifierData * | md | ) |
Definition at line 498 of file MOD_meshdeform.c.
References Freestyle::a, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, MEM_calloc_arrayN, MEM_freeN, MESHDEFORM_MIN_INFLUENCE, NULL, MeshDeformModifierData::totcagevert, MeshDeformModifierData::totinfluence, MeshDeformModifierData::totvert, MDefInfluence::vertex, and MDefInfluence::weight.
Referenced by do_version_mdef_250(), and ED_mesh_deform_bind_callback().
| struct Mesh* BKE_modifier_modify_mesh | ( | ModifierData * | md, |
| const struct ModifierEvalContext * | ctx, | ||
| struct Mesh * | me | ||
| ) |
Referenced by editbmesh_calc_modifiers(), mesh_calc_modifiers(), and modifier_modify_mesh_and_geometry_set().
| struct ModifierData* BKE_modifier_new | ( | int | type | ) |
Definition at line 154 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_modifier_session_uuid_generate(), BLI_strncpy(), DATA_, eModifierFlag_OverrideLibrary_Local, eModifierMode_Editmode, eModifierMode_Realtime, eModifierMode_Render, eModifierTypeFlag_EnableInEditmode, ModifierData::flag, ModifierTypeInfo::flags, ModifierTypeInfo::initData, MEM_callocN, ModifierData::mode, ModifierTypeInfo::name, ModifierData::name, ModifierTypeInfo::structName, ModifierTypeInfo::structSize, type, ModifierData::type, and ModifierData::ui_expand_flag.
Referenced by add_hook_object(), blender::io::alembic::AbcObjectReader::addCacheModifier(), BKE_modifier_init(), BKE_object_copy_modifier(), BKE_object_copy_particlesystem(), BKE_object_modifier_stack_copy(), blo_do_versions_250(), blo_do_versions_pre250(), copy_particle_systems_to_object(), do_hair_dynamics(), ED_object_modifier_add(), ED_object_modifier_copy(), modifier_replace_with_fluid(), object_add_or_copy_particle_system(), object_blend_read_data(), and skin_armature_create_exec().
| void BKE_modifier_panel_expand | ( | struct ModifierData * | md | ) |
Definition at line 147 of file blenkernel/intern/modifier.c.
References ModifierData::ui_expand_flag, and UI_PANEL_DATA_EXPAND_ROOT.
Referenced by outliner_set_properties_tab().
| void BKE_modifier_path_init | ( | char * | path, |
| int | path_maxlen, | ||
| const char * | name | ||
| ) |
Definition at line 1004 of file blenkernel/intern/modifier.c.
References BKE_tempdir_session, BLI_join_dirfile(), and G.
Referenced by BKE_fluid_modifier_create_type_data(), dynamicPaint_createNewSurface(), fluid_validatepaths(), and initData().
Definition at line 981 of file blenkernel/intern/modifier.c.
References BKE_tempdir_session, G, Object::id, ID_BLEND_PATH, and ID_IS_LINKED.
Referenced by fluid_validatepaths(), and ocean_bake_exec().
| const char* BKE_modifier_path_relbase_from_global | ( | struct Object * | ob | ) |
Definition at line 992 of file blenkernel/intern/modifier.c.
References BKE_tempdir_session, G, Object::id, ID_BLEND_PATH_FROM_GLOBAL, and ID_IS_LINKED.
Referenced by fluid_bake_startjob().
| void BKE_modifier_remove_from_list | ( | Object * | ob, |
| ModifierData * | md | ||
| ) |
Use instead of BLI_remlink when the object's active modifier should change.
Definition at line 219 of file blenkernel/intern/modifier.c.
References BKE_object_modifier_set_active(), BLI_assert, BLI_findindex(), BLI_remlink(), eModifierFlag_Active, ModifierData::flag, Object::modifiers, ModifierData::next, NULL, and ModifierData::prev.
Referenced by BKE_particle_system_blend_read_lib(), ED_object_modifier_apply(), object_hook_remove_exec(), object_modifier_remove(), object_remove_parent_deform_modifiers(), and object_remove_particle_system().
| void BKE_modifier_session_uuid_generate | ( | struct ModifierData * | md | ) |
Definition at line 236 of file blenkernel/intern/modifier.c.
References BLI_session_uuid_generate(), and ModifierData::session_uuid.
Referenced by BKE_modifier_blend_read_data(), BKE_modifier_copydata_ex(), and BKE_modifier_new().
| void BKE_modifier_set_error | ( | const struct Object * | ob, |
| struct ModifierData * | md, | ||
| const char * | format, | ||
| ... | |||
| ) |
Referenced by arrayModifier_doArray(), BMD_error_messages(), check_property_socket_sync(), cloth_from_mesh(), cloth_from_object(), correctivesmooth_modifier_do(), deformMatrices(), do_init_cloth(), editbmesh_modifier_is_enabled(), is_valid_target_with_error(), LaplacianDeformModifier_do(), mesh_calc_modifiers(), meshcache_do(), meshdeform_matrix_solve(), meshdeformModifier_do(), modifyGeometry(), modifyMesh(), modifyVolume(), normalEditModifier_do(), ptcache_cloth_error(), surfacedeformBind(), and surfacedeformModifier_do().
| bool BKE_modifier_supports_cage | ( | struct Scene * | scene, |
| struct ModifierData * | md | ||
| ) |
Definition at line 402 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_modifier_supports_mapping(), eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::isDisabled, scene, and ModifierData::type.
Referenced by modifier_panel_header().
| bool BKE_modifier_supports_mapping | ( | struct ModifierData * | md | ) |
Definition at line 259 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), eModifierTypeFlag_SupportsMapping, eModifierTypeType_OnlyDeform, ModifierTypeInfo::flags, ModifierTypeInfo::type, and ModifierData::type.
Referenced by BKE_modifier_couldbe_cage(), BKE_modifier_supports_cage(), BKE_modifiers_get_cage_index(), and mesh_calc_modifiers().
| 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().
| bool BKE_modifier_unique_name | ( | struct ListBase * | modifiers, |
| struct ModifierData * | md | ||
| ) |
Definition at line 241 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BLI_uniquename(), DATA_, ModifierTypeInfo::name, ModifierData::name, and ModifierData::type.
Referenced by add_hook_object(), BKE_object_copy_modifier(), blo_do_versions_270(), blo_do_versions_pre250(), copy_particle_systems_to_object(), ED_object_modifier_add(), ED_object_modifier_copy(), object_add_or_copy_particle_system(), and object_blend_read_data().
| void BKE_modifiers_clear_errors | ( | struct Object * | ob | ) |
Definition at line 299 of file blenkernel/intern/modifier.c.
References LISTBASE_FOREACH, MEM_freeN, Object::modifiers, and NULL.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), editbmesh_calc_modifiers(), and mesh_calc_modifiers().
| struct ModifierData* BKE_modifiers_findby_name | ( | const struct Object * | ob, |
| const char * | name | ||
| ) |
| struct ModifierData* BKE_modifiers_findby_type | ( | const struct Object * | ob, |
| ModifierType | type | ||
| ) |
Referenced by add_collision_object(), add_verts_to_dgroups(), bake(), BKE_collider_cache_create(), BKE_object_copy_modifier(), BKE_object_modifier_update_subframe(), blo_do_versions_250(), blo_do_versions_pre250(), boid_find_ground(), buttons_context(), ccd_mesh_make(), ccd_mesh_update(), cloth_brush_collider_cache_create(), cloth_bvh_collision(), cloth_bvh_objcollisions_resolve(), DEG_add_collision_relations(), dynamicpaint_bake_exec(), dynamicPaint_doStep(), ED_object_check_force_modifiers(), ED_object_modifier_add(), ED_object_particle_edit_mode_supported(), eevee_volume_object_mesh_init(), fluid_free_exec(), fluid_initjob(), fluid_pause_exec(), get_orco_coords(), modifier_copy_to_selected_exec(), object_blend_read_lib(), object_remove_particle_system(), output_toggle_exec(), OVERLAY_extra_cache_populate(), particles_fluid_step(), precalculate_effector(), surface_getBrushFlags(), surface_slot_add_exec(), surface_slot_remove_exec(), type_toggle_exec(), and workbench_cache_populate().
| void BKE_modifiers_foreach_ID_link | ( | struct Object * | ob, |
| IDWalkFunc | walk, | ||
| void * | userData | ||
| ) |
Definition at line 309 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ModifierTypeInfo::foreachIDLink, LISTBASE_FOREACH, and Object::modifiers.
Referenced by animdata_filter_ds_modifiers(), BKE_modifier_blend_read_lib(), blender::deg::DepsgraphNodeBuilder::build_object(), blender::deg::DepsgraphRelationBuilder::build_object(), object_blend_read_expand(), and object_foreach_id().
| void BKE_modifiers_foreach_tex_link | ( | struct Object * | ob, |
| TexWalkFunc | walk, | ||
| void * | userData | ||
| ) |
Definition at line 320 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), ModifierTypeInfo::foreachTexLink, LISTBASE_FOREACH, and Object::modifiers.
Referenced by buttons_texture_users_from_context().
| struct ModifierData* BKE_modifiers_get_virtual_modifierlist | ( | const struct Object * | ob, |
| struct VirtualModifierData * | data | ||
| ) |
Referenced by BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), BKE_lattice_modifiers_calc(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_object_defgroup_validmap_get(), BKE_object_is_deform_modified(), BKE_object_is_modified(), BKE_sculpt_get_first_deform_matrices(), BKE_sculpt_multires_active(), curve_calc_modifiers_post(), curve_get_tessellate_point(), ED_armature_pose_select_in_wpaint_mode(), ED_object_posemode_set_for_weight_paint(), editbmesh_calc_modifiers(), hair_evaluate_modifiers(), mesh_calc_modifiers(), pointcloud_evaluate_modifiers(), sculpt_modifiers_active(), view3d_opengl_select(), and volume_evaluate_modifiers().
| bool BKE_modifiers_is_cloth_enabled | ( | struct Object * | ob | ) |
Definition at line 529 of file blenkernel/intern/modifier.c.
References BKE_modifiers_findby_type(), eModifierMode_Realtime, eModifierMode_Render, eModifierType_Cloth, and ModifierData::mode.
Definition at line 920 of file blenkernel/intern/modifier.c.
References BKE_modifier_is_correctable_deformed(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), eModifierMode_Editmode, eModifierMode_Realtime, Object::mode, ModifierData::next, OB_MODE_EDIT, and scene.
Referenced by transform_convert_mesh_crazyspace_detect().
Definition at line 725 of file blenkernel/intern/modifier.c.
References Object::base_flag, BASE_SELECTED, BKE_gpencil_modifiers_get_virtual_modifierlist(), BKE_modifiers_get_virtual_modifierlist(), eGpencilModifierType_Armature, eModifierType_Armature, GpencilModifierData::next, ModifierData::next, NULL, OB_GPENCIL, ArmatureGpencilModifierData::object, ArmatureModifierData::object, GpencilModifierData::type, ModifierData::type, and Object::type.
Referenced by BKE_object_pose_armature_get(), brush_draw_apply(), DRW_draw_select_loop(), ED_object_parent_set(), ED_object_vgroup_selection_itemf_helper(), ED_wpaint_ensure_data(), loopcut_init(), POSE_is_driven_by_active_armature(), transform_object_deform_pose_armature_get(), vgroup_sort_bone_hierarchy(), weight_from_bones_exec(), and weight_from_bones_poll().
Definition at line 822 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().
Definition at line 796 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().
Definition at line 770 of file blenkernel/intern/modifier.c.
References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_MeshDeform, ModifierData::next, NULL, MeshDeformModifierData::object, and ModifierData::type.
Referenced by POSE_is_driven_by_active_armature().
| bool BKE_modifiers_is_modifier_enabled | ( | struct Object * | ob, |
| int | modifierType | ||
| ) |
Definition at line 536 of file blenkernel/intern/modifier.c.
References BKE_modifiers_findby_type(), eModifierMode_Realtime, eModifierMode_Render, and ModifierData::mode.
| bool BKE_modifiers_is_particle_enabled | ( | struct Object * | ob | ) |
Definition at line 543 of file blenkernel/intern/modifier.c.
References BKE_modifiers_findby_type(), eModifierMode_Realtime, eModifierMode_Render, eModifierType_ParticleSystem, and ModifierData::mode.
| bool BKE_modifiers_is_softbody_enabled | ( | struct Object * | ob | ) |
Definition at line 522 of file blenkernel/intern/modifier.c.
References BKE_modifiers_findby_type(), eModifierMode_Realtime, eModifierMode_Render, eModifierType_Softbody, and ModifierData::mode.
| void BKE_modifiers_test_object | ( | struct Object * | ob | ) |
Ensure modifier correctness when changing ob->data.
Definition at line 950 of file blenkernel/intern/modifier.c.
References eModifierType_Multires, ListBase::first, Object::modifiers, multiresModifier_set_levels_from_disps(), ModifierData::next, OB_MESH, ModifierData::type, and Object::type.
Referenced by BKE_mesh_assign_object(), and libblock_remap_data_postprocess_obdata_relink().
Definition at line 862 of file blenkernel/intern/modifier.c.
References BKE_modifiers_get_virtual_modifierlist(), Object::data, eModifierType_Armature, ModifierData::next, ArmatureModifierData::object, and ModifierData::type.
Referenced by ED_armature_bone_rename().
| bool BKE_modifiers_uses_multires | ( | struct Object * | ob | ) |
Definition at line 845 of file blenkernel/intern/modifier.c.
References BKE_modifiers_get_virtual_modifierlist(), eModifierType_Multires, ModifierData::next, NULL, MultiresModifierData::totlvl, and ModifierData::type.
Referenced by object_remesh_poll().
Definition at line 879 of file blenkernel/intern/modifier.c.
References BKE_modifier_get_info(), BKE_modifier_is_enabled(), BKE_modifiers_get_cage_index(), BKE_modifiers_get_virtual_modifierlist(), eModifierMode_Editmode, eModifierMode_Realtime, eModifierType_Subsurf, eModifierTypeType_OnlyDeform, ModifierData::next, NULL, ModifierData::prev, scene, ModifierTypeInfo::type, and ModifierData::type.
Referenced by DRW_mesh_batch_cache_create_requested(), and mesh_foreachScreenFace().