|
Blender V4.3
|
#include "BLI_compiler_attrs.h"#include "BLI_function_ref.hh"#include "BLI_math_matrix_types.hh"#include "BLI_span.hh"#include "DNA_modifier_types.h"#include "DNA_customdata_types.h"Go to the source code of this file.
Classes | |
| struct | ModifierUpdateDepsgraphContext |
| struct | ModifierEvalContext |
| struct | ModifierTypeInfo |
| struct | CDMaskLink |
| struct | VirtualModifierData |
| class | blender::bke::ScopedModifierTimer |
Namespaces | |
| namespace | blender |
| namespace | blender::bke |
Macros | |
| #define | MODIFIER_TYPE_PANEL_PREFIX "MOD_PT_" |
Typedefs | |
| using | IDWalkFunc = void (*)(void *user_data, Object *ob, ID **idpoin, int cb_flag) |
| using | TexWalkFunc |
Enumerations | |
| enum class | ModifierTypeType { None , OnlyDeform , Constructive , Nonconstructive , DeformOrConstruct , 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_AcceptsVertexCosOnly = (1 << 10) , eModifierTypeFlag_AcceptsBMesh = (1 << 11) , eModifierTypeFlag_AcceptsGreasePencil = (1 << 12) } |
| 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_ORIGINAL = 1 << 4 } |
| #define MODIFIER_TYPE_PANEL_PREFIX "MOD_PT_" |
Definition at line 400 of file BKE_modifier.hh.
Referenced by BKE_modifier_type_panel_id().
| using IDWalkFunc = void (*)(void *user_data, Object *ob, ID **idpoin, int cb_flag) |
Definition at line 131 of file BKE_modifier.hh.
| using TexWalkFunc |
Definition at line 132 of file BKE_modifier.hh.
| 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 subdivision-surface) |
| 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_ORIGINAL | The effect of this modifier will be applied to the original geometry 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 138 of file BKE_modifier.hh.
| enum ModifierTypeFlag |
| Enumerator | |
|---|---|
| eModifierTypeFlag_AcceptsMesh | |
| eModifierTypeFlag_AcceptsCVs | |
| eModifierTypeFlag_SupportsMapping | Modifiers that enable this flag can have the modifiers "On Cage" option toggled, see: eModifierMode_OnCage, where the output of the modifier can be selected directly. In some cases the cage geometry use read to tool code as well (loop-cut & knife are examples). When set, geometry from the resulting mesh can be mapped back to the original indices via CD_ORIGINDEX. While many modifiers using this flag preserve the order of geometry arrays, this isn't always the case, this flag doesn't imply ModifierTypeType::OnlyDeform. Geometry from the original mesh may be removed from the resulting mesh or new geometry may be added (where the CD_ORIGINDEX value will be ORIGINDEX_NONE). Modifiers that create entirely new geometry from the input should not enable this flag because none of the geometry will be selectable when "On Cage" is enabled. |
| 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-deforming modifier. |
| eModifierTypeFlag_UsesPointCache | For modifiers that support point-cache, 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_AcceptsVertexCosOnly | |
| eModifierTypeFlag_AcceptsBMesh | Accepts BMesh input (without conversion). |
| eModifierTypeFlag_AcceptsGreasePencil | Accepts GreasePencil data input. |
Definition at line 72 of file BKE_modifier.hh.
|
strong |
| Enumerator | |
|---|---|
| None | |
| OnlyDeform | Modifier only does deformation, implies that modifier type should have a valid deform_verts function. OnlyDeform style modifiers implicitly accept either mesh or CV input but should still declare flags appropriately. |
| Constructive | Modifier adds geometry. |
| Nonconstructive | |
| DeformOrConstruct | Both deform_verts & 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 |
| NonGeometrical | Like 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 41 of file BKE_modifier.hh.
| void BKE_modifier_blend_read_data | ( | BlendDataReader * | reader, |
| ListBase * | lb, | ||
| Object * | ob ) |
Definition at line 1242 of file blenkernel/intern/modifier.cc.
References BKE_effector_add_weights(), BKE_modifier_get_info(), BKE_ptcache_blend_read_data(), ModifierTypeInfo::blend_read, BLI_listbase_clear(), BLI_rw_mutex_alloc(), BLO_read_data_reports(), BLO_read_get_new_data_address_no_us(), BLO_read_struct, BLO_read_struct_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, ListBase::first, PointCache::flag, DynamicPaintCanvasSettings::flags, FluidDomainSettings::flags, FluidEffectorSettings::flags, FluidFlowSettings::flags, FluidModifierData::flow, FluidDomainSettings::fluid, FLUID_DOMAIN_FILE_LOAD, FluidDomainSettings::fluid_mutex, FluidDomainSettings::fmd, FluidEffectorSettings::fmd, FluidFlowSettings::fmd, ClothModifierData::hairdata, Object::id, ID_IS_LINKED, LISTBASE_FOREACH, FluidEffectorSettings::mesh, FluidFlowSettings::mesh, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, modifier_replace_with_fluid(), ID::name, FluidEffectorSettings::numverts, FluidFlowSettings::numverts, DynamicPaintBrushSettings::paint_ramp, DynamicPaintBrushSettings::pmd, DynamicPaintCanvasSettings::pmd, ClothModifierData::point_cache, FluidDomainSettings::point_cache, ClothSimSettings::presets, printf, DynamicPaintBrushSettings::psys, FluidFlowSettings::psys, PTCACHE_FAKE_SMOKE, ClothModifierData::ptcaches, FluidDomainSettings::ptcaches, ClothSimSettings::reset, RPT_, RPT_WARNING, ClothModifierData::sim_parms, ClothModifierData::solver_result, 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, FluidModifierData::type, DynamicPaintBrushSettings::vel_ramp, FluidEffectorSettings::verts_old, and FluidFlowSettings::verts_old.
Referenced by object_blend_read_data().
| void BKE_modifier_blend_write | ( | BlendWriter * | writer, |
| const ID * | id_owner, | ||
| ListBase * | modbase ) |
Definition at line 1021 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BKE_ptcache_add(), BKE_ptcache_blend_write(), BKE_ptcache_free_list(), ModifierTypeInfo::blend_write, BLI_assert_unreachable, 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, LISTBASE_FOREACH, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, DynamicPaintBrushSettings::paint_ramp, FluidDomainSettings::point_cache, PTCACHE_DISK_CACHE, PTCACHE_FAKE_SMOKE, ClothModifierData::ptcaches, FluidDomainSettings::ptcaches, ClothModifierData::sim_parms, PointCache::step, ModifierTypeInfo::struct_name, DynamicPaintCanvasSettings::surfaces, FluidModifierData::type, DynamicPaintBrushSettings::vel_ramp, writestruct, CollisionModifierData::x, and CollisionModifierData::xnew.
Referenced by object_blend_write().
| CDMaskLink * BKE_modifier_calc_data_masks | ( | const Scene * | scene, |
| ModifierData * | md, | ||
| CustomData_MeshMasks * | final_datamask, | ||
| int | required_mode ) |
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.
Definition at line 543 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BKE_modifier_is_enabled(), BLI_linklist_reverse(), CustomData_MeshMasks_update(), CDMaskLink::mask, CDMaskLink::next, ModifierData::next, OnlyDeform, ModifierTypeInfo::required_data_mask, ModifierData::type, ModifierTypeInfo::type, and CustomData_MeshMasks::vmask.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), blender::bke::editbmesh_calc_modifiers(), and blender::bke::mesh_calc_modifiers().
| ModifierData * BKE_modifier_copy_ex | ( | const ModifierData * | md, |
| int | flag ) |
Definition at line 303 of file blenkernel/intern/modifier.cc.
References BKE_modifier_copydata_ex(), flag, modifier_allocate_and_init(), ModifierData::name, STRNCPY, and ModifierData::type.
Referenced by BKE_object_modifier_stack_copy().
| void BKE_modifier_copydata | ( | const ModifierData * | md, |
| ModifierData * | target ) |
Definition at line 366 of file blenkernel/intern/modifier.cc.
References BKE_modifier_copydata_ex().
Referenced by BKE_object_copy_modifier(), and blender::ed::object::modifier_copy().
| void BKE_modifier_copydata_ex | ( | const ModifierData * | md, |
| ModifierData * | target, | ||
| int | flag ) |
Definition at line 346 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::copy_data, flag, ModifierData::flag, ModifierTypeInfo::foreach_ID_link, LIB_ID_CREATE_NO_USER_REFCOUNT, ModifierData::mode, modifier_copy_data_id_us_cb(), ModifierData::persistent_uid, ModifierData::type, and ModifierData::ui_expand_flag.
Referenced by BKE_modifier_copy_ex(), BKE_modifier_copydata(), and BKE_object_copy_particlesystem().
| void BKE_modifier_copydata_generic | ( | const ModifierData * | md, |
| ModifierData * | md_dst, | ||
| int | flag ) |
Callback's can use this to avoid copying every member.
Definition at line 313 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BLI_assert, ModifierTypeInfo::free_data, ModifierData::runtime, ModifierTypeInfo::struct_size, and ModifierData::type.
Referenced by blender::copy_data(), blender::copy_data(), blender::copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), and copy_data().
| bool BKE_modifier_couldbe_cage | ( | Scene * | scene, |
| ModifierData * | md ) |
Definition at line 379 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BKE_modifier_supports_mapping(), eModifierMode_Editmode, eModifierMode_Realtime, ModifierTypeInfo::is_disabled, ModifierData::mode, and ModifierData::type.
Referenced by modifier_panel_header().
| void BKE_modifier_deform_verts | ( | ModifierData * | md, |
| const ModifierEvalContext * | ctx, | ||
| Mesh * | mesh, | ||
| blender::MutableSpan< blender::float3 > | positions ) |
Definition at line 912 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::deform_verts, and ModifierData::type.
Referenced by BKE_multires_create_deformed_base_mesh_vert_coords(), blender::bke::editbmesh_calc_modifiers(), blender::bke::mesh_calc_modifiers(), and multiresModifier_reshapeFromDeformModifier().
| void BKE_modifier_deform_vertsEM | ( | ModifierData * | md, |
| const ModifierEvalContext * | ctx, | ||
| const BMEditMesh * | em, | ||
| Mesh * | mesh, | ||
| blender::MutableSpan< blender::float3 > | positions ) |
Definition at line 924 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::deform_verts_EM, ModifierTypeInfo::depends_on_normals, ensure_non_lazy_normals(), and ModifierData::type.
Referenced by blender::bke::editbmesh_calc_modifiers().
| bool BKE_modifier_depends_ontime | ( | Scene * | scene, |
| ModifierData * | md ) |
Definition at line 230 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::depends_on_time, and ModifierData::type.
Referenced by blender::deg::DepsgraphRelationBuilder::build_object_modifiers().
| void BKE_modifier_free | ( | ModifierData * | md | ) |
Definition at line 198 of file blenkernel/intern/modifier.cc.
References BKE_modifier_free_ex().
Referenced by blender::ed::object::bake(), BKE_modifier_init(), BKE_particle_system_blend_read_after_liblink(), free_hair(), blender::ed::object::modifier_apply(), blender::ed::object::object_hook_remove_exec(), blender::ed::object::object_modifier_remove(), blender::ed::object::object_remove_parent_deform_modifiers(), object_remove_particle_system(), psys_free(), and remove_particle_systems_from_object().
| void BKE_modifier_free_ex | ( | ModifierData * | md, |
| int | flag ) |
Definition at line 178 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierData::error, flag, ModifierTypeInfo::foreach_ID_link, ModifierTypeInfo::free_data, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_freeN(), modifier_free_data_id_us_cb(), and ModifierData::type.
Referenced by BKE_modifier_free(), and BKE_object_free_modifiers().
| void BKE_modifier_free_temporary_data | ( | ModifierData * | md | ) |
Definition at line 816 of file blenkernel/intern/modifier.cc.
References eModifierType_Armature, MEM_SAFE_FREE, ModifierData::type, and ArmatureModifierData::vert_coords_prev.
Referenced by blender::bke::mesh_calc_modifiers().
| ModifierData * BKE_modifier_get_evaluated | ( | Depsgraph * | depsgraph, |
| Object * | object, | ||
| ModifierData * | md ) |
Definition at line 968 of file blenkernel/intern/modifier.cc.
References BKE_modifiers_findby_persistent_uid(), DEG_get_evaluated_object(), depsgraph, and ModifierData::persistent_uid.
Referenced by blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), blender::ed::object::correctivesmooth_bind_exec(), blender::io::hydra::VolumeModifierData::init(), blender::ed::object::laplaciandeform_bind_exec(), blender::ed::object::meshdeform_bind_exec(), blender::ed::object::object_force_modifier_bind_simple_options(), remove_tagged_keys(), and blender::ed::object::surfacedeform_bind_exec().
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 ID pointers, never original ones. Makes things simpler.
Definition at line 939 of file blenkernel/intern/modifier.cc.
References BKE_editmesh_from_object(), BKE_object_get_editmesh_eval_final(), BKE_object_get_evaluated_mesh(), DEG_object_geometry_is_evaluated(), mesh, Object::mode, OB_MESH, OB_MODE_EDIT, and Object::type.
Referenced by blender::bke::add_final_mesh_as_geometry_component(), arrayModifier_doArray(), BKE_object_data_transfer_ex(), blender::ensure_shrinkwrap_cache_data(), mesh_to_volume(), meshdeformModifier_do(), modify_mesh(), modify_mesh(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), shrinkwrap_calc_normal_projection(), shrinkwrapModifier_deform(), blender::ed::spreadsheet::spreadsheet_get_display_geometry_set(), and surfacedeformModifier_do().
| const ModifierTypeInfo * BKE_modifier_get_info | ( | ModifierType | type | ) |
Definition at line 113 of file blenkernel/intern/modifier.cc.
References modifier_types, and NUM_MODIFIER_TYPES.
Referenced by blender::ed::object::add_hook_object(), blender::ed::object::apply_grease_pencil_for_modifier(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), BKE_lattice_modifiers_calc(), 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_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_modifiers(), buttons_texture_modifier_foreach(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), crazyspace_modifier_supports_deform(), crazyspace_modifier_supports_deform_matrices(), blender::ed::object::create_applied_mesh_for_modifier(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), ED_spacetype_buttons(), blender::bke::editbmesh_calc_modifiers(), blender::bke::editbmesh_modifier_is_enabled(), grease_pencil_evaluate_modifiers(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::bke::mesh_calc_modifiers(), blender::ed::object::modifier_add(), blender::ed::object::modifier_add_itemf(), modifier_allocate_and_init(), blender::ed::object::modifier_apply_exec_ex(), blender::ed::object::modifier_apply_obdata(), blender::ed::object::modifier_apply_shape(), blender::ed::object::modifier_copy_to_object(), blender::bke::modifier_modify_mesh_and_geometry_set(), modifier_panel_header(), object_foreach_cache(), blender::ed::object::object_modifier_check_move_after(), blender::ed::object::object_modifier_check_move_before(), pointcloud_evaluate_modifiers(), blender::deg::ObjectRuntimeBackup::restore_modifier_runtime_data(), sculpt_modifiers_active(), blender::ed::outliner::tree_element_get_icon(), uiTemplateModifiers(), and volume_evaluate_modifiers().
| ModifierData * BKE_modifier_get_original | ( | const Object * | object, |
| ModifierData * | md ) |
For a given modifier data, get corresponding original one. If the modifier data is already original, return it as-is.
Definition at line 962 of file blenkernel/intern/modifier.cc.
References BKE_modifiers_findby_persistent_uid(), DEG_get_original_object(), and ModifierData::persistent_uid.
Referenced by BKE_modifier_set_error(), BKE_modifier_set_warning(), correctivesmooth_modifier_do(), ED_mesh_deform_bind_callback(), blender::find_side_effect_nodes_for_active_gizmos(), blender::ed::object::modifier_apply_obdata(), blender::modifyGeometry(), and surfacedeformModifier_do().
| void BKE_modifier_init | ( | ) |
Definition at line 83 of file blenkernel/intern/modifier.cc.
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, ArmatureModifierData::modifier, CurveModifierData::modifier, LatticeModifierData::modifier, ShapeKeyModifierData::modifier, modifier_type_init(), modifier_types, VirtualModifierData::smd, and virtualModifierCommonData.
Referenced by main(), and BlendfileLoadingBaseTest::SetUpTestCase().
| bool BKE_modifier_is_correctable_deformed | ( | ModifierData * | md | ) |
Definition at line 790 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::deform_matrices_EM, and ModifierData::type.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), and BKE_modifiers_is_correctable_deformed().
| bool BKE_modifier_is_enabled | ( | const Scene * | scene, |
| ModifierData * | md, | ||
| int | required_mode ) |
Check whether is enabled.
| scene | Current scene, may be NULL, in which case is_disabled callback of the modifier is never called. |
Definition at line 513 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), eModifierMode_DisableTemporary, eModifierMode_Editmode, eModifierMode_Render, eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::is_disabled, ModifierData::mode, and ModifierData::type.
Referenced by blender::ed::object::bake_simulation::bake_single_node_gather_bake_request(), BKE_crazyspace_build_sculpt(), BKE_curve_calc_modifiers_pre(), BKE_modifier_calc_data_masks(), BKE_modifiers_is_correctable_deformed(), BKE_multires_create_deformed_base_mesh_vert_coords(), BKE_object_is_deform_modified(), BKE_object_is_modified(), BKE_sculpt_get_first_deform_matrices(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), blender::ed::object::bake_simulation::collect_simulations_to_bake(), blender::ed::object::correctivesmooth_bind_exec(), blender::ed::object::create_applied_mesh_for_modifier(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), do_curve_implicit_mesh_conversion(), blender::draw::drw_volume_object_mesh_init(), drw_volume_object_mesh_init(), blender::bke::editbmesh_modifier_is_enabled(), find_multires_modifier_before(), blender::io::usd::get_enabled_modifier(), get_multires_modifier(), blender::io::SubdivModifierDisabler::get_subdiv_modifier(), grease_pencil_evaluate_modifiers(), is_disabled(), lineart_mod_is_disabled(), blender::bke::mesh_calc_modifiers(), modifier_get_last_enabled_for_mode(), multires_flush_sculpt_updates(), blender::ed::object::multiresbake_check(), blender::workbench::Instance::object_sync(), OVERLAY_extra_cache_populate(), pointcloud_evaluate_modifiers(), sculpt_modifiers_active(), sculpt_multires_modifier_get(), and volume_evaluate_modifiers().
| bool BKE_modifier_is_non_geometrical | ( | ModifierData * | md | ) |
Definition at line 394 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), NonGeometrical, ModifierData::type, and ModifierTypeInfo::type.
Referenced by modifier_ops_extra_draw().
| bool BKE_modifier_is_nonlocal_in_liboverride | ( | const Object * | ob, |
| const ModifierData * | md ) |
Check whether given modifier is not local (i.e. from linked data) when the object is a library override.
| md | May be NULL, in which case we consider it as a non-local modifier case. |
Definition at line 537 of file blenkernel/intern/modifier.cc.
References eModifierFlag_OverrideLibrary_Local, ModifierData::flag, and ID_IS_OVERRIDE_LIBRARY.
Referenced by blender::ed::object::edit_modifier_poll_generic().
| bool BKE_modifier_is_same_topology | ( | ModifierData * | md | ) |
Definition at line 388 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ELEM, NonGeometrical, OnlyDeform, ModifierData::type, and ModifierTypeInfo::type.
Referenced by blender::ed::object::modifier_apply(), blender::ed::object::modifier_apply_poll(), blender::ed::object::modifier_apply_shape(), and modifier_ops_extra_draw().
| void BKE_modifier_mdef_compact_influences | ( | ModifierData * | md | ) |
Here for do_versions.
Definition at line 441 of file MOD_meshdeform.cc.
References b, MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, MeshDeformModifierData::cage_verts_num, MeshDeformModifierData::influences_num, MEM_calloc_arrayN, MEM_freeN(), MESHDEFORM_MIN_INFLUENCE, MDefInfluence::vertex, MeshDeformModifierData::verts_num, and MDefInfluence::weight.
Referenced by do_version_mdef_250(), and ED_mesh_deform_bind_callback().
| Mesh * BKE_modifier_modify_mesh | ( | ModifierData * | md, |
| const ModifierEvalContext * | ctx, | ||
| Mesh * | mesh ) |
Definition at line 899 of file blenkernel/intern/modifier.cc.
References BKE_mesh_wrapper_ensure_mdata(), BKE_modifier_get_info(), eModifierTypeFlag_AcceptsBMesh, ModifierTypeInfo::flags, ME_WRAPPER_TYPE_BMESH, ModifierTypeInfo::modify_mesh, and ModifierData::type.
Referenced by blender::bke::editbmesh_calc_modifiers(), blender::bke::mesh_calc_modifiers(), and blender::bke::modifier_modify_mesh_and_geometry_set().
| ModifierData * BKE_modifier_new | ( | int | type | ) |
Definition at line 161 of file blenkernel/intern/modifier.cc.
References modifier_allocate_and_init().
Referenced by blender::io::usd::USDGeomReader::add_cache_modifier(), blender::ed::object::add_hook_object(), blender::io::usd::USDGeomReader::add_subdiv_modifier(), blender::io::alembic::AbcObjectReader::addCacheModifier(), BKE_modifier_init(), BKE_object_copy_modifier(), BKE_object_copy_particlesystem(), blo_do_versions_250(), blo_do_versions_pre250(), copy_particle_systems_to_object(), blender::bke::create_auto_smooth_modifier(), do_hair_dynamics(), do_versions_after_linking_300(), blender::io::usd::import_mesh_skel_bindings(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::ed::object::modifier_add(), blender::ed::object::modifier_copy(), modifier_replace_with_fluid(), object_add_or_copy_particle_system(), object_blend_read_data(), blender::ed::object::object_grease_pencil_add_exec(), blender::io::usd::USDPointInstancerReader::read_object_data(), and blender::ed::object::skin_armature_create_exec().
| void BKE_modifier_panel_expand | ( | ModifierData * | md | ) |
Definition at line 129 of file blenkernel/intern/modifier.cc.
References ModifierData::ui_expand_flag, and UI_PANEL_DATA_EXPAND_ROOT.
Referenced by blender::ed::outliner::outliner_set_properties_tab().
| void BKE_modifier_path_init | ( | char * | path, |
| int | path_maxncpy, | ||
| const char * | name ) |
Initializes path with either the blend file or temporary directory.
Definition at line 862 of file blenkernel/intern/modifier.cc.
References BKE_main_blendfile_path_from_global(), BKE_tempdir_session, and BLI_path_join.
Referenced by BKE_fluid_modifier_create_type_data(), dynamicPaint_createNewSurface(), fluid_validatepaths(), and init_data().
Definition at line 843 of file blenkernel/intern/modifier.cc.
References BKE_tempdir_session, Main::filepath, Object::id, ID_BLEND_PATH, and ID_IS_LINKED.
Referenced by BKE_modifier_path_relbase_from_global(), fluid_validatepaths(), and blender::ed::object::ocean_bake_exec().
| const char * BKE_modifier_path_relbase_from_global | ( | Object * | ob | ) |
Definition at line 857 of file blenkernel/intern/modifier.cc.
References BKE_modifier_path_relbase(), and G_MAIN.
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 203 of file blenkernel/intern/modifier.cc.
References BKE_object_modifier_set_active(), BLI_assert, BLI_findindex(), BLI_remlink(), eModifierFlag_Active, ModifierData::flag, Object::modifiers, ModifierData::next, and ModifierData::prev.
Referenced by BKE_particle_system_blend_read_after_liblink(), blender::ed::object::modifier_apply(), blender::ed::object::object_hook_remove_exec(), blender::ed::object::object_modifier_remove(), blender::ed::object::object_remove_parent_deform_modifiers(), and object_remove_particle_system().
| void BKE_modifier_set_error | ( | const Object * | ob, |
| ModifierData * | md, | ||
| const char * | format, | ||
| ... ) |
Referenced by arrayModifier_doArray(), BMD_error_messages(), blender::check_property_socket_sync(), cloth_from_mesh(), cloth_from_object(), correctivesmooth_modifier_do(), deform_matrices(), deform_matrices(), displace_volume(), do_init_cloth(), blender::bke::editbmesh_modifier_is_enabled(), is_valid_target_with_error(), LaplacianDeformModifier_do(), blender::bke::mesh_calc_modifiers(), mesh_to_volume(), meshcache_do(), meshdeform_matrix_solve(), meshdeformModifier_do(), MOD_solidify_nonmanifold_modifyMesh(), modify_geometry_set(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), modify_mesh(), blender::modifyGeometry(), ptcache_cloth_error(), surfacedeformBind(), and surfacedeformModifier_do().
| void void BKE_modifier_set_warning | ( | const Object * | ob, |
| ModifierData * | md, | ||
| const char * | format, | ||
| ... ) |
Referenced by surfacedeformModifier_do().
| bool BKE_modifier_supports_cage | ( | Scene * | scene, |
| ModifierData * | md ) |
Definition at line 371 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BKE_modifier_supports_mapping(), eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::is_disabled, and ModifierData::type.
Referenced by modifier_panel_header().
| bool BKE_modifier_supports_mapping | ( | ModifierData * | md | ) |
Definition at line 237 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), eModifierTypeFlag_SupportsMapping, ModifierTypeInfo::flags, OnlyDeform, ModifierData::type, and ModifierTypeInfo::type.
Referenced by BKE_modifier_couldbe_cage(), BKE_modifier_supports_cage(), BKE_modifiers_get_cage_index(), and blender::bke::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 panel_register callback.
Definition at line 123 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BLI_string_join, ModifierTypeInfo::idname, PanelType::idname, and MODIFIER_TYPE_PANEL_PREFIX.
Referenced by modifier_panel_id(), and modifier_panel_register().
| void BKE_modifier_unique_name | ( | ListBase * | modifiers, |
| ModifierData * | md ) |
Definition at line 220 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BLI_uniquename(), DATA_, ModifierData::name, ModifierTypeInfo::name, offsetof, and ModifierData::type.
Referenced by blender::ed::object::add_hook_object(), BKE_object_copy_modifier(), blo_do_versions_270(), blo_do_versions_pre250(), copy_particle_systems_to_object(), blender::bke::create_auto_smooth_modifier(), do_versions_after_linking_300(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::ed::object::modifier_add(), blender::ed::object::modifier_add_asset_exec(), blender::ed::object::modifier_copy(), object_add_or_copy_particle_system(), object_blend_read_data(), blender::ed::object::object_grease_pencil_add_exec(), and blender::ed::object::shade_auto_smooth_exec().
| void BKE_modifiers_clear_errors | ( | Object * | ob | ) |
Definition at line 271 of file blenkernel/intern/modifier.cc.
References LISTBASE_FOREACH, MEM_freeN(), and Object::modifiers.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), curves_evaluate_modifiers(), blender::bke::editbmesh_calc_modifiers(), grease_pencil_evaluate_modifiers(), blender::bke::mesh_calc_modifiers(), pointcloud_evaluate_modifiers(), and volume_evaluate_modifiers().
| ModifierData * BKE_modifiers_findby_name | ( | const Object * | ob, |
| const char * | name ) |
Definition at line 255 of file blenkernel/intern/modifier.cc.
References BLI_findstring(), Object::modifiers, and offsetof.
Referenced by blender::ed::object::bake_simulation::bake_single_node_gather_bake_request(), deform_verts(), blender::ed::object::bake_simulation::delete_single_bake_exec(), ED_object_particle_edit_mode_enter_ex(), blender::ed::object::edit_modifier_property_get(), find_object_with_preview_geometry(), geometry_extract_apply(), blender::ed::object::geometry_nodes_input_attribute_toggle_exec(), blender::get_modifier_data(), getOriginalModifierData(), blender::ed::object::modifier_apply(), blender::ed::object::modifier_apply_exec_ex(), blender::ed::object::modifier_copy_exec(), blender::ed::object::modifier_move_to_index_exec(), blender::ed::object::modifier_remove_exec(), blender::ed::object::bake_simulation::pack_single_bake_exec(), panel_draw(), PE_create_particle_edit(), and blender::ed::object::bake_simulation::unpack_single_bake_exec().
| ModifierData * BKE_modifiers_findby_persistent_uid | ( | const Object * | ob, |
| int | persistent_uid ) |
Definition at line 261 of file blenkernel/intern/modifier.cc.
References LISTBASE_FOREACH, and Object::modifiers.
Referenced by BKE_modifier_get_evaluated(), BKE_modifier_get_original(), and BKE_modifiers_persistent_uid_init().
| ModifierData * BKE_modifiers_findby_type | ( | const Object * | ob, |
| ModifierType | type ) |
Definition at line 245 of file blenkernel/intern/modifier.cc.
References LISTBASE_FOREACH, and Object::modifiers.
Referenced by add_collision_object(), add_verts_to_dgroups(), blender::ed::object::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(), blender::ed::object::check_force_modifiers(), blender::ed::sculpt_paint::cloth::cloth_brush_collider_cache_create(), cloth_bvh_collision(), cloth_bvh_objcollisions_resolve(), DEG_add_collision_relations(), blender::draw::drw_volume_object_mesh_init(), drw_volume_object_mesh_init(), dynamicpaint_bake_exec(), dynamicPaint_doStep(), ED_object_particle_edit_mode_supported(), fluid_free_exec(), fluid_initjob(), fluid_pause_exec(), blender::bke::get_orco_coords(), blender::io::usd::import_mesh_skel_bindings(), blender::io::hydra::VolumeModifierData::init(), blender::io::hydra::VolumeModifierData::is_volume_modifier(), blender::ed::object::modifier_add(), blender::ed::object::modifier_copy_to_object(), object_foreach_id(), object_remove_particle_system(), blender::draw::overlay::Fluids::object_sync(), blender::workbench::Instance::object_sync(), output_toggle_exec(), OVERLAY_extra_cache_populate(), particles_fluid_step(), precalculate_effector(), blender::io::usd::USDStageReader::process_armature_modifiers(), blender::io::usd::USDPointInstancerReader::set_collection(), surface_getBrushFlags(), surface_slot_add_exec(), surface_slot_remove_exec(), and type_toggle_exec().
| void void void BKE_modifiers_foreach_ID_link | ( | Object * | ob, |
| IDWalkFunc | walk, | ||
| void * | user_data ) |
Definition at line 281 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::foreach_ID_link, LISTBASE_FOREACH, and Object::modifiers.
Referenced by animdata_filter_ds_modifiers(), blender::deg::DepsgraphNodeBuilder::build_object_modifiers(), blender::deg::DepsgraphRelationBuilder::build_object_modifiers(), and object_foreach_id().
| void BKE_modifiers_foreach_tex_link | ( | Object * | ob, |
| TexWalkFunc | walk, | ||
| void * | user_data ) |
Definition at line 292 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), ModifierTypeInfo::foreach_tex_link, LISTBASE_FOREACH, and Object::modifiers.
Referenced by buttons_texture_users_from_context().
| int BKE_modifiers_get_cage_index | ( | const Scene * | scene, |
| Object * | ob, | ||
| int * | r_lastPossibleCageIndex, | ||
| bool | is_virtual ) |
used for buttons, to find out if the 'draw deformed in edit-mode option is there.
Also used in transform_conversion.c, to detect crazy-space (2nd arg then is NULL). Also used for some mesh tools to give warnings.
Definition at line 458 of file blenkernel/intern/modifier.cc.
References BKE_modifier_get_info(), BKE_modifier_supports_mapping(), BKE_modifiers_get_virtual_modifierlist(), eModifierMode_DisableTemporary, eModifierMode_Editmode, eModifierMode_OnCage, eModifierMode_Realtime, eModifierTypeFlag_SupportsEditmode, ListBase::first, ModifierTypeInfo::flags, ModifierTypeInfo::is_disabled, ModifierData::mode, Object::modifiers, ModifierData::next, and ModifierData::type.
Referenced by BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_crazyspace_get_mapped_editverts(), blender::bke::editbmesh_calc_modifiers(), modifier_panel_header(), and transform_convert_mesh_crazyspace_detect().
| ModifierData * BKE_modifiers_get_virtual_modifierlist | ( | const Object * | ob, |
| VirtualModifierData * | data ) |
This is to include things that are not modifiers in the evaluation of the modifier stack, for example parenting to an armature.
Definition at line 604 of file blenkernel/intern/modifier.cc.
References VirtualModifierData::amd, BKE_key_from_object(), VirtualModifierData::cmd, Object::data, CurveModifierData::defaxis, ArmatureModifierData::deformflag, ELEM, eModifierMode_Editmode, eModifierMode_OnCage, ListBase::first, VirtualModifierData::lmd, ModifierData::mode, ArmatureModifierData::modifier, CurveModifierData::modifier, LatticeModifierData::modifier, ShapeKeyModifierData::modifier, Object::modifiers, ModifierData::next, OB_ARMATURE, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_SHAPE_EDIT_MODE, ArmatureModifierData::object, CurveModifierData::object, LatticeModifierData::object, Object::parent, PARSKEL, Object::partype, Object::shapeflag, VirtualModifierData::smd, Object::trackflag, Object::type, and virtualModifierCommonData.
Referenced by BKE_crazyspace_build_sculpt(), BKE_crazyspace_get_first_deform_matrices_editbmesh(), BKE_curve_calc_modifiers_pre(), BKE_lattice_modifiers_calc(), BKE_modifiers_get_cage_index(), BKE_modifiers_is_correctable_deformed(), BKE_modifiers_is_deformed_by_armature(), BKE_modifiers_is_deformed_by_curve(), BKE_modifiers_is_deformed_by_lattice(), BKE_modifiers_is_deformed_by_meshdeform(), BKE_modifiers_uses_armature(), BKE_modifiers_uses_multires(), 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(), blender::ed::sculpt_paint::dyntopo::check_attribute_warning(), blender::ed::object::create_applied_mesh_for_modifier(), curve_calc_modifiers_post(), curve_get_tessellate_point(), curves_evaluate_modifiers(), ED_armature_pose_select_in_wpaint_mode(), blender::bke::editbmesh_calc_modifiers(), blender::ed::greasepencil::get_bone_deformed_vertex_group_names(), grease_pencil_evaluate_modifiers(), blender::bke::mesh_calc_modifiers(), multires_flush_sculpt_updates(), pointcloud_evaluate_modifiers(), blender::ed::object::posemode_set_for_weight_paint(), sculpt_modifiers_active(), sculpt_multires_modifier_get(), view3d_opengl_select_ex(), and volume_evaluate_modifiers().
Definition at line 796 of file blenkernel/intern/modifier.cc.
References BKE_modifier_is_correctable_deformed(), BKE_modifier_is_enabled(), BKE_modifiers_get_virtual_modifierlist(), eModifierMode_Editmode, eModifierMode_Realtime, Object::mode, ModifierData::next, and OB_MODE_EDIT.
Referenced by transform_convert_mesh_crazyspace_detect().
Takes an object and returns its first selected armature, else just its armature. This should work for multiple armatures per object.
Definition at line 647 of file blenkernel/intern/modifier.cc.
References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_Armature, eModifierType_GreasePencilArmature, ModifierData::next, OB_GREASE_PENCIL, ModifierData::type, and Object::type.
Referenced by BKE_object_pose_armature_get(), DRW_draw_select_loop(), ED_wpaint_ensure_data(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::get_brush_settings(), loopcut_init(), blender::ed::object::normalize_vertex_group_target(), blender::ed::object::parent_set(), POSE_is_driven_by_active_armature(), transform_object_deform_pose_armature_get(), blender::ed::object::vgroup_selection_itemf_helper(), blender::ed::object::vgroup_sort_bone_hierarchy(), weight_from_bones_exec(), and weight_from_bones_poll().
Takes an object and returns its first selected curve, else just its curve. This should work for multiple curves per object.
Definition at line 726 of file blenkernel/intern/modifier.cc.
References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_Curve, ModifierData::next, CurveModifierData::object, and ModifierData::type.
Referenced by blender::ed::object::parent_set().
Takes an object and returns its first selected lattice, else just its lattice. This should work for multiple lattices per object.
Definition at line 703 of file blenkernel/intern/modifier.cc.
References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_Lattice, ModifierData::next, LatticeModifierData::object, and ModifierData::type.
Referenced by loopcut_init(), and blender::ed::object::parent_set().
Definition at line 680 of file blenkernel/intern/modifier.cc.
References Object::base_flag, BASE_SELECTED, BKE_modifiers_get_virtual_modifierlist(), eModifierType_MeshDeform, ModifierData::next, MeshDeformModifierData::object, and ModifierData::type.
Referenced by POSE_is_driven_by_active_armature().
| void BKE_modifiers_persistent_uid_init | ( | const Object & | object, |
| ModifierData & | md ) |
Updates md.persistent_uid so that it is a valid identifier (>=1) and is unique in the object.
Definition at line 977 of file blenkernel/intern/modifier.cc.
References BKE_modifiers_findby_persistent_uid(), BLI_assert, blender::get_default_hash(), blender::RandomNumberGenerator::get_int32(), hash, ID_IS_LINKED, ID_IS_OVERRIDE_LIBRARY_REAL, lib, ModifierData::name, and ModifierData::persistent_uid.
Referenced by blender::io::usd::USDGeomReader::add_cache_modifier(), blender::ed::object::add_hook_object(), blender::io::usd::USDGeomReader::add_subdiv_modifier(), blender::io::alembic::AbcObjectReader::addCacheModifier(), BKE_object_copy_modifier(), copy_particle_systems_to_object(), blender::bke::create_auto_smooth_modifier(), blender::io::usd::import_mesh_skel_bindings(), blender::bke::greasepencil::convert::legacy_object_modifier_common(), blender::ed::object::modifier_add(), blender::ed::object::modifier_copy(), object_add_or_copy_particle_system(), object_blend_read_data(), blender::ed::object::object_grease_pencil_add_exec(), blender::io::usd::USDPointInstancerReader::read_object_data(), and blender::ed::object::skin_armature_create_exec().
| bool BKE_modifiers_persistent_uids_are_valid | ( | const Object & | object | ) |
Returns true when all the modifier identifiers are positive and unique. This should generally be true and should only be used by asserts.
Definition at line 1004 of file blenkernel/intern/modifier.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size().
Referenced by object_copy_data().
| void BKE_modifiers_test_object | ( | Object * | ob | ) |
Ensure modifier correctness when changing ob->data.
Definition at line 825 of file blenkernel/intern/modifier.cc.
References eModifierType_Multires, LISTBASE_FOREACH, Object::modifiers, multiresModifier_set_levels_from_disps(), OB_MESH, and Object::type.
Referenced by BKE_mesh_assign_object(), and libblock_remap_data_postprocess_obdata_relink().
Definition at line 766 of file blenkernel/intern/modifier.cc.
References BKE_modifiers_get_virtual_modifierlist(), Object::data, eModifierType_Armature, eModifierType_GreasePencilArmature, ModifierData::next, ArmatureModifierData::object, GreasePencilArmatureModifierData::object, and ModifierData::type.
Referenced by ED_armature_bone_rename().
| bool BKE_modifiers_uses_multires | ( | Object * | ob | ) |
Definition at line 749 of file blenkernel/intern/modifier.cc.
References BKE_modifiers_get_virtual_modifierlist(), eModifierType_Multires, ModifierData::next, MultiresModifierData::totlvl, and ModifierData::type.
Referenced by blender::ed::object::object_remesh_poll().
| ENUM_OPERATORS | ( | ModifierApplyFlag | , |
| MOD_APPLY_TO_ORIGINAL | ) |